Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-41089 — UDP/389를 통한 CVE-2026-41089 Netlogon CLDAP 스택 오버플로우에 대한 사전 인증(Pre-auth) PoC로, LSASS 충돌/DC 재부팅을 유발합니다. 익스플로잇 스크립트, 근본 원인 분석, 탐지 및 완화 지침을 포함합니다. | Kitploit
도구/GitHubGitHub/jelasin/cve-2026-41089
Vulnerability AnalysisExploitationNetwork SecurityPenetration TestingRed TeamingBinary Exploitation
GitHubjelasin/cve-2026-41089

CVE-2026-41089

UDP/389를 통한 CVE-2026-41089 Netlogon CLDAP 스택 오버플로우에 대한 사전 인증(Pre-auth) PoC로, LSASS 충돌/DC 재부팅을 유발합니다. 익스플로잇 스크립트, 근본 원인 분석, 탐지 및 완화 지침을 포함합니다.

저장소 보기
13개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-41089

root@kitploit:~
 ██████╗██╗   ██╗███████╗    ██╗  ██╗ ██╗ ██████╗  ██████╗
██╔════╝██║   ██║██╔════╝    ██║  ██║███║██╔═████╗██╔═████╗
██║     ██║   ██║█████╗      ███████║╚██║██║██╔██║██║██╔██║
██║     ╚██╗ ██╔╝██╔══╝      ██╔══██║ ██║████╔╝██║████╔╝██║
╚██████╗ ╚████╔╝ ███████╗    ██║  ██║ ██║╚██████╔╝╚██████╔╝
 ╚═════╝  ╚═══╝  ╚══════╝    ╚═╝  ╚═╝ ╚═╝ ╚═════╝  ╚═════╝

Windows Netlogon CLDAP 스택 버퍼 오버플로우를 통한 원격 코드 실행

CVSS CWE Python License


패치되지 않은 Windows 도메인 컨트롤러에서 포트 389로 전송된 단일 조작된 UDP 패킷이 LSASS 내부의 528바이트 스택 버퍼를 오버플로우시킵니다. LSASS가 충돌하고, DC는 약 60초 후 재부팅됩니다. 자격 증명은 필요 없습니다.

공격 벡터UDP 389 (CLDAP), 사전 인증, 자격 증명 불필요
영향LSASS 충돌, DC 재부팅, 잠재적 RCE
CWECWE-121 (스택 기반 버퍼 오버플로우)
CVSS 벡터AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
게시일2026년 5월 12일, Microsoft

빠른 시작

root@kitploit:~
python3 poc.py 10.0.50.21 corp.local

PoC는 일반 핑을 보낸 다음, 130자 사용자 이름이 포함된 오버플로우 핑을 보내고 DC가 살아남았는지 확인합니다. 총 약 10초가 소요됩니다.

영향받는 시스템

도메인 컨트롤러로 작동하는 Windows Server 버전:

서버 버전수정 버전
2012 / 2012 R2ESU 전용 패치
201610.0.14393.9140
201910.0.17763.8755
202210.0.20348.5074
2022 23H210.0.25398.2330
202510.0.26100.32772

근본 원인

NlGetLocalPingResponse는 528바이트 스택 버퍼를 할당하고 이를 BuildSamLogonResponse에 전달합니다. 이 함수는 NetpLogonPutUnicodeString을 호출하여 서버 이름, 도메인 이름, GUID 및 공격자가 제어하는 사용자 이름을 버퍼에 기록합니다.

버그: NetpLogonPutUnicodeString은 최대 길이를 바이트 단위로 전달받지만 이를 WCHAR 개수로 해석합니다. 이 경로를 통해 기록되는 모든 문자열은 예상 공간의 두 배를 차지합니다. CLDAP 필터의 "User" 필드(최대 130자, 네트워크상 260바이트)는 결합된 쓰기 작업을 528바이트 경계를 넘어서 밀어냅니다.

root@kitploit:~
I_NetLogonLdapLookupEx
  -> NlGetLocalPingResponse           // 528-byte stack buffer
    -> LogonRequestHandler
      -> BuildSamLogonResponse
        -> NetpLogonPutUnicodeString   // byte/WCHAR size confusion

사용법

root@kitploit:~
python3 poc.py <target_ip> <domain_name> [options]
플래그설명기본값
-l사용자 이름 길이(문자 수)130
-tUDP 수신 타임아웃(초)5
-d오버플로우와 활성 상태 확인 사이 지연(초)3
root@kitploit:~
# Connectivity test (short username, no overflow)
python3 poc.py 10.0.50.21 corp.local

# Default overflow attempt
python3 poc.py 10.0.50.21 corp.local -l 130

# Larger payload, longer timeout for slow networks
python3 poc.py 10.0.50.21 corp.local -l 200 -t 10

Python 3.8+. 서드파티 패키지는 필요 없습니다.

작동 방식

  1. 1단계. UDP 389에서 DC가 응답하는지 확인하기 위해 사용자 이름 "testuser"로 일반 CLDAP 핑을 보냅니다.
  2. 2단계. 동일한 패킷을 보내되 사용자 이름을 130자 이상의 "A"로 채웁니다. 긴 사용자 이름이 528바이트 스택 버퍼를 오버플로우시킵니다. LSASS가 충돌하면 recv 호출이 타임아웃됩니다.
  3. 3단계. 설정된 지연만큼 기다린 후 일반 핑을 보냅니다. 응답이 없으면 LSASS가 다운된 것입니다.

오버플로우는 DoS(LSASS 충돌, DC 재부팅)를 유발합니다. 스택 손상은 RCE를 가능하게 할 수 있지만, 이 PoC는 DoS에 머물러 있습니다.

탐지

네트워크. "User" 필터 특성이 20~30자보다 긴 CLDAP 검색 요청을 찾으십시오. 일반적인 DC 로케이터 핑은 짧은 서비스 계정 이름을 사용합니다.

호스트. netlogon.dll과 관련된 LSASS 충돌(이벤트 ID 1000)을 관찰하십시오. Netlogon 디버그 로깅을 활성화하세요:

root@kitploit:~
nltest /dbflag:0x2080ffff

완화

  • 2026년 5월 Microsoft 보안 업데이트 설치
  • UDP 389 인바운드를 신뢰할 수 있는 관리 서브넷으로 제한
  • ESU가 종료된 레거시 서버 버전: 0patch에서 마이크로패치 제공 (명령어 하나 수정: mov edx, 0x40은 최대 사용자 이름 길이를 절반으로 줄입니다)

참고 자료

  • Microsoft 보안 업데이트 가이드
  • NVD - CVE-2026-41089
  • 0patch 분석 및 마이크로패치
  • Aretiq AI 리버스 엔지니어링
  • RFC 4511 - LDAP
  • MS-ADTS - CLDAP DC 로케이터

법적 고지. 이 코드는 승인된 보안 연구 및 교육 목적으로 존재합니다. 소유하거나 테스트에 대한 서면 허가를 받은 시스템에 대해서만 테스트하십시오. 승인되지 않은 컴퓨터 시스템 접근은 CFAA 및 대부분의 관할권의 동등한 법률을 위반합니다.

MIT 라이선스

도구 다운로드