diff --git a/src/README.md b/src/README.md index d6d424088..af009b9fa 100644 --- a/src/README.md +++ b/src/README.md @@ -9,7 +9,7 @@ _Hacktricks 로고 및 모션 디자인_ [_@ppiernacho_](https://www.instagram.c # Download latest version of hacktricks git clone https://github.com/HackTricks-wiki/hacktricks # Run the docker container indicating the path to the hacktricks folder -docker run --rm -p 3337:3000 --name hacktricks -v $(pwd)/hacktricks:/app ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image bash -c "cd /app && git pull && MDBOOK_PREPROCESSOR__HACKTRICKS__ENV=dev mdbook serve --hostname 0.0.0.0" +docker run -d --rm -p 3337:3000 --name hacktricks -v $(pwd)/hacktricks:/app ghcr.io/hacktricks-wiki/hacktricks-cloud/translator-image bash -c "cd /app && git config --global --add safe.directory /app && git pull && MDBOOK_PREPROCESSOR__HACKTRICKS__ENV=dev mdbook serve --hostname 0.0.0.0" ``` 당신의 로컬 HackTricks 복사본은 **<5분 후에 [http://localhost:3337](http://localhost:3337)** **사용 가능할 것입니다 (책을 빌드해야 하므로, 인내심을 가지세요).** @@ -31,7 +31,7 @@ docker run --rm -p 3337:3000 --name hacktricks -v $(pwd)/hacktricks:/app ghcr.io
-[**RootedCON**](https://www.rootedcon.com)는 **스페인**에서 가장 관련성이 높은 사이버 보안 이벤트이며 **유럽**에서 가장 중요한 행사 중 하나입니다. **기술 지식을 촉진하는 사명**을 가지고 있는 이 회의는 모든 분야의 기술 및 사이버 보안 전문가들이 모이는 뜨거운 만남의 장소입니다. +[**RootedCON**](https://www.rootedcon.com)는 **스페인**에서 가장 관련성 높은 사이버 보안 이벤트이며 **유럽**에서 가장 중요한 행사 중 하나입니다. **기술 지식을 촉진하는 임무**를 가지고 있는 이 회의는 모든 분야의 기술 및 사이버 보안 전문가들이 모이는 뜨거운 만남의 장소입니다. {{#ref}} https://www.rootedcon.com/ @@ -45,7 +45,7 @@ https://www.rootedcon.com/ **Intigriti**는 **유럽의 #1** 윤리적 해킹 및 **버그 바운티 플랫폼**입니다. -**버그 바운티 팁**: **Intigriti**에 **가입하세요**, 해커를 위해 해커가 만든 프리미엄 **버그 바운티 플랫폼**입니다! 오늘 [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks)에 가입하고 최대 **$100,000**의 보상을 받기 시작하세요! +**버그 바운티 팁**: **Intigriti**에 **가입**하세요. 해커를 위해 해커가 만든 프리미엄 **버그 바운티 플랫폼**입니다! 오늘 [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks)에 가입하고 최대 **$100,000**의 보상을 받기 시작하세요! {{#ref}} https://go.intigriti.com/hacktricks @@ -88,7 +88,7 @@ https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktr **웹 앱, 네트워크 및 클라우드에 대한 해커의 관점을 얻으세요.** -**실제 비즈니스에 영향을 미치는 중요한, 악용 가능한 취약점을 찾아보고 보고하세요.** 공격 표면을 매핑하고 권한 상승을 허용하는 보안 문제를 찾아내며, 필수 증거를 수집하기 위해 자동화된 익스플로잇을 사용하여 귀하의 노력을 설득력 있는 보고서로 전환하세요. +**실제 비즈니스에 영향을 미치는 중요한 취약점을 찾아보고 보고하세요.** 공격 표면을 매핑하고 권한 상승을 허용하는 보안 문제를 찾아내며, 필수 증거를 수집하기 위해 자동화된 익스플로잇을 사용하여 귀하의 노력을 설득력 있는 보고서로 전환하세요. {{#ref}} https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons @@ -102,10 +102,10 @@ https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktrick **SerpApi**는 **검색 엔진 결과**에 **접근하기 위한** 빠르고 쉬운 실시간 API를 제공합니다. 그들은 검색 엔진을 스크랩하고, 프록시를 처리하며, 캡차를 해결하고, 모든 풍부한 구조화된 데이터를 파싱합니다. -SerpApi의 플랜 중 하나에 대한 구독은 Google, Bing, Baidu, Yahoo, Yandex 등 다양한 검색 엔진을 스크랩하기 위한 50개 이상의 서로 다른 API에 대한 접근을 포함합니다.\ -다른 제공업체와 달리, **SerpApi는 단순히 유기적 결과를 스크랩하지 않습니다**. SerpApi 응답은 항상 모든 광고, 인라인 이미지 및 비디오, 지식 그래프 및 검색 결과에 있는 기타 요소와 기능을 포함합니다. +SerpApi의 플랜 중 하나에 가입하면 Google, Bing, Baidu, Yahoo, Yandex 등 다양한 검색 엔진을 스크랩하기 위한 50개 이상의 API에 접근할 수 있습니다.\ +다른 제공업체와 달리 **SerpApi는 유기적 결과만 스크랩하지 않습니다**. SerpApi 응답은 항상 모든 광고, 인라인 이미지 및 비디오, 지식 그래프 및 검색 결과에 있는 기타 요소와 기능을 포함합니다. -현재 SerpApi 고객에는 **Apple, Shopify, GrubHub**가 포함됩니다.\ +현재 SerpApi 고객에는 **Apple, Shopify 및 GrubHub**가 포함됩니다.\ 자세한 정보는 그들의 [**블로그**](https://serpapi.com/blog/)를 확인하거나 [**플레이그라운드**](https://serpapi.com/playground)에서 예제를 시도해 보세요.\ 여기에서 **무료 계정을 생성**할 수 있습니다 [**여기**](https://serpapi.com/users/sign_up)**.** @@ -115,7 +115,7 @@ SerpApi의 플랜 중 하나에 대한 구독은 Google, Bing, Baidu, Yahoo, Yan
-취약점 연구, 침투 테스트 및 리버스 엔지니어링을 수행하여 모바일 애플리케이션 및 장치를 보호하는 데 필요한 기술과 기술을 배우세요. **온디맨드 과정**을 통해 iOS 및 Android 보안을 **마스터하고** **인증을 받으세요**: +취약점 연구, 침투 테스트 및 리버스 엔지니어링을 수행하여 모바일 애플리케이션 및 장치를 보호하는 데 필요한 기술과 기술을 배우세요. **온디맨드 과정**을 통해 iOS 및 Android 보안을 **마스터**하고 **인증을 받으세요**: {{#ref}} https://academy.8ksec.io/ diff --git a/src/network-services-pentesting/pentesting-ldap.md b/src/network-services-pentesting/pentesting-ldap.md index f26abfaca..a0031f8e3 100644 --- a/src/network-services-pentesting/pentesting-ldap.md +++ b/src/network-services-pentesting/pentesting-ldap.md @@ -4,7 +4,7 @@ **LDAP** (경량 디렉터리 접근 프로토콜)의 사용은 주로 조직, 개인 및 파일과 장치와 같은 리소스를 공공 및 사설 네트워크 내에서 찾기 위해 사용됩니다. 이는 이전 버전인 DAP에 비해 더 작은 코드 풋프린트를 가지고 있어 간소화된 접근 방식을 제공합니다. -LDAP 디렉터리는 여러 서버에 분산될 수 있도록 구조화되어 있으며, 각 서버는 디렉터리의 **복제된** 및 **동기화된** 버전을 보유하고 있으며, 이를 디렉터리 시스템 에이전트(DSA)라고 합니다. 요청 처리는 전적으로 LDAP 서버의 책임이며, 필요에 따라 다른 DSA와 통신하여 요청자에게 통합된 응답을 제공합니다. +LDAP 디렉터리는 여러 서버에 분산될 수 있도록 구조화되어 있으며, 각 서버는 디렉터리의 **복제된** 및 **동기화된** 버전을 보유하고 있으며, 이를 디렉터리 시스템 에이전트(DSA)라고 합니다. 요청 처리에 대한 책임은 전적으로 LDAP 서버에 있으며, 필요에 따라 다른 DSA와 통신하여 요청자에게 통합된 응답을 제공합니다. LDAP 디렉터리의 조직 구조는 **루트 디렉터리가 맨 위에 있는 트리 계층 구조**를 닮고 있습니다. 이는 국가로 분기되고, 국가에서 다시 조직으로 나뉘며, 그 후 다양한 부서나 부서를 나타내는 조직 단위로 나뉘고, 마지막으로 개인 엔티티 수준에 도달하여 사람과 파일 및 프린터와 같은 공유 리소스를 포함합니다. @@ -45,14 +45,14 @@ ou: mail: pepe@hacktricks.xyz phone: 23627387495 ``` -- Lines 1-3은 최상위 도메인 local을 정의합니다. -- Lines 5-8은 1단계 도메인 moneycorp (moneycorp.local)을 정의합니다. -- Lines 10-16은 2개의 조직 단위: dev와 sales를 정의합니다. -- Lines 18-26은 도메인의 객체를 생성하고 속성에 값을 할당합니다. +- Lines 1-3 define the top level domain local +- Lines 5-8 define the first level domain moneycorp (moneycorp.local) +- Lines 10-16 define 2 organizational units: dev and sales +- Lines 18-26 create an object of the domain and assign attributes with values -## 데이터 작성 +## Write data -값을 수정할 수 있다면 정말 흥미로운 작업을 수행할 수 있습니다. 예를 들어, **사용자 또는 다른 사용자의 "sshPublicKey" 정보를 변경할 수 있다고 상상해 보십시오**. 이 속성이 존재한다면 **ssh가 LDAP에서 공개 키를 읽고 있을 가능성이 높습니다**. 사용자의 공개 키를 수정할 수 있다면 **ssh에서 비밀번호 인증이 활성화되지 않더라도 해당 사용자로 로그인할 수 있습니다**. +값을 수정할 수 있다면 정말 흥미로운 작업을 수행할 수 있습니다. 예를 들어, **사용자 또는 다른 사용자의 "sshPublicKey" 정보를 변경할 수 있다고 상상해 보십시오**. 이 속성이 존재한다면 **ssh가 LDAP에서 공개 키를 읽고 있을 가능성이 높습니다**. 사용자의 공개 키를 수정할 수 있다면 **비밀번호 인증이 ssh에서 활성화되지 않았더라도 해당 사용자로 로그인할 수 있습니다**. ```bash # Example from https://www.n00py.io/2020/02/exploiting-ldap-server-null-bind/ >>> import ldap3 @@ -83,7 +83,7 @@ ldapsearch -H ldaps://company.com:636/ -x -s base -b '' "(objectClass=*)" "*" + ### LDAP 익명 바인딩 [LDAP 익명 바인딩](https://docs.microsoft.com/en-us/troubleshoot/windows-server/identity/anonymous-ldap-operations-active-directory-disabled)은 **인증되지 않은 공격자**가 도메인에서 사용자, 그룹, 컴퓨터, 사용자 계정 속성 및 도메인 비밀번호 정책의 전체 목록과 같은 정보를 검색할 수 있도록 허용합니다. 이는 **구식 구성**이며, Windows Server 2003부터는 인증된 사용자만 LDAP 요청을 시작할 수 있습니다.\ -그러나 관리자는 **특정 애플리케이션을 설정하여 익명 바인딩을 허용해야 할 수도 있으며**, 의도한 것보다 더 많은 액세스를 부여하여 인증되지 않은 사용자가 AD의 모든 객체에 접근할 수 있도록 했을 수 있습니다. +그러나 관리자는 **특정 애플리케이션을 설정하여 익명 바인딩을 허용해야 할 필요가 있었**고, 그로 인해 의도한 것보다 더 많은 접근 권한을 부여하여 인증되지 않은 사용자가 AD의 모든 객체에 접근할 수 있게 했을 수 있습니다. ## 유효한 자격 증명 @@ -100,7 +100,7 @@ ldapdomaindump [-r ] -u '\' -p '' [--authty ### Automated -이 방법을 사용하면 **공개 정보**(예: 도메인 이름)**:**를 볼 수 있습니다. +Using this you will be able to see the **공개 정보** (like the domain name)**:** ```bash nmap -n -sV --script "ldap* and not brute" #Using anonymous credentials ``` @@ -121,7 +121,7 @@ First try to **connect without** credentials: True >>> server.info ``` -응답이 이전 예제와 같이 `True`인 경우, 다음에서 LDAP의 **흥미로운 데이터**(예: **명명 컨텍스트** 또는 **도메인 이름**)를 얻을 수 있습니다: +응답이 이전 예제와 같이 `True`인 경우, 다음에서 LDAP의 **흥미로운 데이터**(예: **명명 컨텍스트** 또는 **도메인 이름**) 서버를 얻을 수 있습니다: ```bash >>> server.info DSA info (from DSE): @@ -129,13 +129,13 @@ Supported LDAP versions: 3 Naming contexts: dc=DOMAIN,dc=DOMAIN ``` -일단 네이밍 컨텍스트를 확보하면 더 흥미로운 쿼리를 수행할 수 있습니다. 이 간단한 쿼리는 디렉토리의 모든 객체를 보여줍니다: +일단 네이밍 컨텍스트를 얻으면, 더 흥미로운 쿼리를 만들 수 있습니다. 이 간단한 쿼리는 디렉토리의 모든 객체를 보여줍니다: ```bash >>> connection.search(search_base='DC=DOMAIN,DC=DOMAIN', search_filter='(&(objectClass=*))', search_scope='SUBTREE', attributes='*') True >> connection.entries ``` -또는 **덤프** 전체 ldap: +또는 **dump** 전체 ldap: ```bash >> connection.search(search_base='DC=DOMAIN,DC=DOMAIN', search_filter='(&(objectClass=person))', search_scope='SUBTREE', attributes='userPassword') True @@ -145,7 +145,7 @@ True ### windapsearch -[**Windapsearch**](https://github.com/ropnop/windapsearch)는 LDAP 쿼리를 활용하여 **Windows** 도메인에서 사용자, 그룹 및 컴퓨터를 **열거하는 데 유용한** Python 스크립트입니다. +[**Windapsearch**](https://github.com/ropnop/windapsearch)는 LDAP 쿼리를 활용하여 **Windows** 도메인에서 사용자, 그룹 및 컴퓨터를 **열거하는** 데 유용한 Python 스크립트입니다. ```bash # Get computers python3 windapsearch.py --dc-ip 10.10.10.10 -u john@domain.local -p password --computers @@ -173,7 +173,7 @@ result: 1 Operations error text: 000004DC: LdapErr: DSID-0C090A4C, comment: In order to perform this opera tion a successful bind must be completed on the connection., data 0, v3839 ``` -"_bind must be completed_"라는 메시지가 나타나면 자격 증명이 잘못되었다는 의미입니다. +"_bind must be completed_"라는 문구가 나타나면 자격 증명이 잘못되었다는 의미입니다. 다음 명령어를 사용하여 **도메인에서 모든 것을 추출**할 수 있습니다: ```bash @@ -193,11 +193,11 @@ ldapsearch -x -H ldap:// -D '\' -w '' -b "CN=Use ```bash ldapsearch -x -H ldap:// -D '\' -w '' -b "CN=Computers,DC=<1_SUBDOMAIN>,DC=" ``` -**내 정보** +**내 정보**: ```bash ldapsearch -x -H ldap:// -D '\' -w '' -b "CN=,CN=Users,DC=<1_SUBDOMAIN>,DC=" ``` -**도메인 관리자**: +**도메인 관리자** 추출: ```bash ldapsearch -x -H ldap:// -D '\' -w '' -b "CN=Domain Admins,CN=Users,DC=<1_SUBDOMAIN>,DC=" ``` @@ -274,7 +274,7 @@ done ### Apache Directory -[**여기에서 Apache Directory 다운로드**](https://directory.apache.org/studio/download/download-linux.html). 이 도구를 사용하는 [예제는 여기에서 확인할 수 있습니다](https://www.youtube.com/watch?v=VofMBg2VLnw&t=3840s). +[**여기에서 Apache Directory 다운로드**](https://directory.apache.org/studio/download/download-linux.html). 이 도구를 사용하는 [예제는 여기에서 찾을 수 있습니다](https://www.youtube.com/watch?v=VofMBg2VLnw&t=3840s). ### jxplorer @@ -286,7 +286,7 @@ done ### Godap -Godap은 AD 및 기타 LDAP 서버의 객체 및 속성과 상호작용할 수 있는 대화형 터미널 사용자 인터페이스입니다. Windows, Linux 및 MacOS에서 사용할 수 있으며, 간단한 바인드, 패스-더-해시, 패스-더-티켓 및 패스-더-인증서와 같은 여러 가지 전문 기능을 지원합니다. 객체 검색/생성/변경/삭제, 그룹에서 사용자 추가/제거, 비밀번호 변경, 객체 권한(DACL) 편집, Active-Directory 통합 DNS(ADIDNS) 수정, JSON 파일로 내보내기 등을 포함합니다. +Godap은 AD 및 기타 LDAP 서버의 객체 및 속성과 상호작용할 수 있는 LDAP용 대화형 터미널 사용자 인터페이스입니다. Windows, Linux 및 MacOS에서 사용할 수 있으며, 간단한 바인드, 패스-더-해시, 패스-더-티켓 및 패스-더-인증서와 같은 여러 전문 기능을 지원하며, 객체 검색/생성/변경/삭제, 그룹에서 사용자 추가/제거, 비밀번호 변경, 객체 권한(DACL) 편집, Active-Directory 통합 DNS(ADIDNS) 수정, JSON 파일로 내보내기 등을 포함합니다. ![](../images/godap.png) @@ -302,7 +302,7 @@ Ldapx는 다른 도구의 LDAP 트래픽을 검사하고 변환하는 데 사용 ## Authentication via kerberos -`ldapsearch`를 사용하여 **NTLM** 대신 **kerberos에 대해 인증**할 수 있습니다. 매개변수 `-Y GSSAPI`를 사용하세요. +`ldapsearch`를 사용하여 **NTLM** 대신 **kerberos**에 대해 **인증**할 수 있습니다. 매개변수 `-Y GSSAPI`를 사용하세요. ## POST @@ -310,7 +310,7 @@ Ldapx는 다른 도구의 LDAP 트래픽을 검사하고 변환하는 데 사용 ```bash cat /var/lib/ldap/*.bdb | grep -i -a -E -o "description.*" | sort | uniq -u ``` -john에게 비밀번호 해시를 제공할 수 있습니다 ('{SSHA}'에서 'structural'까지 'structural'을 추가하지 않고). +john에 비밀번호 해시를 제공할 수 있습니다 ('{SSHA}'에서 'structural'로, 'structural'을 추가하지 않고). ### 구성 파일 @@ -373,5 +373,9 @@ Entry_6: Name: Hydra Brute Force Description: Need User Command: hydra -l {Username} -P {Big_Passwordlist} {IP} ldap2 -V -f + +Entry_7: +Name: Netexec LDAP BloodHound +Command: nxc ldap -u -p --bloodhound -c All -d --dns-server --dns-tcp ``` {{#include ../banners/hacktricks-training.md}}