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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-41089 — CVE-2026-41089 PoC — Netlogon CLDAP 스택 버퍼 오버플로(CVSS 9.8 CRITICAL) | Kitploit
도구/GitHubGitHub/0xabcd01/cve-2026-41089
Vulnerability AnalysisExploitationPenetration TestingLearning & EducationBinary Exploitation
GitHub0xabcd01/cve-2026-41089

CVE-2026-41089

CVE-2026-41089 PoC — Netlogon CLDAP 스택 버퍼 오버플로(CVSS 9.8 CRITICAL)

저장소 보기
209672개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-41089

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

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

CVSS CWE Python License


하나의 조작된 UDP 패킷이 포트 389로 전송되어 패치되지 않은 Windows 도메인 컨트롤러의 LSASS 내부 528바이트 스택 버퍼를 오버플로우합니다. 프로세스가 충돌합니다. DC가 약 60초 후에 재부팅됩니다. 인증이 필요하지 않습니다.

공격 벡터UDP 389 (CLDAP), 사전 인증, 자격 증명 없음
영향LSASS 충돌, DC 재부팅, 잠재적 RCE
CWECWE-121 (Stack-based Buffer Overflow)
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

세 단계: DC가 살아있는지 확인하는 일반 핑, 130자 사용자 이름을 사용한 오버플로우 핑, 활성 확인. 약 10초 소요.

영향을 받는 시스템

도메인 컨트롤러로 실행되는 모든 Windows Server 버전:

근본 원인

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

버그: NetpLogonPutUnicodeString은 최대 길이를 바이트 단위로 받지만 이를 WCHAR 개수로 처리합니다. 이 경로를 통해 쓰여지는 모든 문자열은 예상 공간의 두 배를 차지합니다. CLDAP 필터의 "User" 필드(최대 130 wchars, 와이어 상 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 수신 타임아웃 (초)
root@kitploit:~
# 연결 테스트 (짧은 사용자 이름, 오버플로우 없음)
python3 poc.py 10.0.50.21 corp.local

# 기본 오버플로우 시도
python3 poc.py 10.0.50.21 corp.local -l 130

# 더 큰 페이로드, 느린 네트워크용 긴 타임아웃
python3 poc.py 10.0.50.21 corp.local -l 200 -t 10

Python 3.8+가 필요합니다. 타사 패키지는 필요하지 않습니다.

작동 방식

  1. 1단계. 사용자 이름 "testuser"를 사용한 일반 CLDAP 핑으로 대상이 UDP 389에서 응답하는지 확인합니다.
  2. 2단계. 동일한 패킷 구조이지만 사용자 이름이 "A" 130자 이상입니다. 이로 인해 직렬화된 데이터가 스택 버퍼 경계를 넘어갑니다. LSASS가 충돌하면 recv가 타임아웃됩니다.
  3. 3단계. 구성 가능한 지연 후 두 번째 일반 핑으로 DC가 여전히 살아있는지 확인합니다. 응답 없음 = LSASS 충돌 확인.

오버플로우는 서비스 거부(LSASS 충돌, DC 재부팅)를 유발합니다. 이론적으로 스택 손상을 통한 RCE가 가능합니다. 이 PoC는 코드 실행을 시도하지 않습니다.

탐지

네트워크. CLDAP 트래픽에서 "User" 필터 속성이 20-30자를 초과하는 검색 요청을 스캔합니다. 일반 DC 로케이터 핑은 서비스 계정 이름(짧은 문자열)을 사용합니다.

호스트. netlogon.dll과 관련된 LSASS 충돌(이벤트 ID 1000)을 모니터링합니다. Netlogon 디버그 로깅 활성화:

root@kitploit:~
nltest /dbflag:0x2080ffff

완화 조치

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

참고 자료

  • Microsoft Security Update Guide
  • NVD - CVE-2026-41089
  • 0patch Analysis and Micropatch
  • Aretiq AI Reverse Engineering
  • RFC 4511 - LDAP
  • MS-ADTS - CLDAP DC Locator

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

MIT License

도구 다운로드
서버 버전수정 버전
2012 / 2012 R2ESU 전용 패치
201610.0.14393.9140
201910.0.17763.8755
202210.0.20348.5074
2022 23H210.0.25398.2330
202510.0.26100.32772
5
-d오버플로우와 활성 확인 사이 지연 (초)3