
CVE-2024-49112에 대한 익스플로잇으로, Windows LDAP RCE 취약점으로, 조작된 Netlogon 및 LDAP 상호작용을 통해 크래시를 유발합니다.
Yuki Chen(@guhe120)이 보고한 CVE-2024-49112에 대한 익스플로잇입니다. Windows 경량 디렉터리 액세스 프로토콜(LDAP)의 취약점입니다.
SafeBreach Labs 제작(2025년 1월 1일 게시). 취약점에 대한 전체 기술 분석 및 익스플로잇 방법은 블로그 게시물 여기에서 확인하세요.
CVE-2024-49112는 Microsoft에 따르면 원격 코드 실행을 허용하는 Windows LDAP 클라이언트의 치명적인 취약점입니다. 이 익스플로잇은 Netlogon 원격 프로토콜(NRPC) 및 LDAP 클라이언트와 상호 작용하여 대상 Windows Server 시스템을 충돌시키는 방식으로 취약점을 활용합니다.
https://github.com/user-attachments/assets/1cbda4a9-943a-4e07-a95a-b20e45863ec3
종속성 설치:
필요한 모든 Python 패키지가 설치되어 있는지 확인하세요. pip 및 제공된 requirements.txt 파일을 사용하여 설치할 수 있습니다:
pip install -r requirements.txt
익스플로잇 구성:
target_ip: 대상 머신의 IP 주소.port: RPC 통신용 TCP 포트(기본값: 49664).listen_port: 익스플로잇 서버가 수신 대기하는 UDP 포트(기본값: 389). 변경하지 않으면 관리자 또는 루트 권한으로 도구를 실행해야 합니다.domain_name: 공격자가 소유한 인터넷상의 도메인 이름. 이 도메인에는 두 개의 DNS SRV 레코드가 있어야 합니다. (SRV 레코드는 도메인을 포트와 다른 도메인에 매핑합니다):
domain_name -> listen_port 공격자 머신 호스트 이름domain_name -> listen_port 공격자 머신 호스트 이름공격자 머신 호스트 이름은 피해자 서버가 NBNS를 사용하여 호스트 이름으로 공격자 머신을 찾을 수 있다고 가정할 때 작동합니다. 공격자 호스트 이름 대신 이 값을 취약점을 악용하는 악성 LDAP 서버의 IP를 가리키는 인터넷상의 도메인 이름으로 바꿀 수 있습니다.account: 계정 이름 매개변수(기본값: Administrator).site_name: 사이트 이름 매개변수(기본값: 빈 문자열).python LdapNightmare.py <target_ip> --domain-name <domain_name> [options]
예시:
python LdapNightmare.py 192.168.1.100 --domain-name example.com
익스플로잇 서버 시작:
스크립트는 지정된 UDP 포트에서 들어오는 연결을 수신하는 비동기 LDAP 서버를 시작합니다.
DsrGetDcNameEx2 호출:
스크립트는 Netlogon 원격 프로토콜을 통해 DsrGetDcNameEx2 함수를 호출하여 피해자 서버가 공격자에게 LDAP 쿼리를 보내도록 트리거합니다.
취약점 트리거:
특수하게 제작된 응답을 전송하여 익스플로잇이 CVE-2024-49112 취약점을 트리거하고 피해자 서버를 충돌시킵니다.
| Or Yair | Shahak Morag | |
|---|---|---|
| Or Yair | Shahak Morag | |
| @oryair1999 | @shahakmo |