
CVE-2025-53770(別名 ToolShell)用ハニーポット
Microsoft SharePoint のゼロデイ脆弱性に対する悪用試行を検出・記録することに特化した Docker ベースのハニーポットです。
このハニーポットは、完全な SharePoint 環境や侵害後の活動を模倣するためではなく、早期検出と脅威インテリジェンスのために設計されています。
このハニーポットが行うこと:
このハニーポットが行わないこと:
Docker Compose
├── honeypot (Sensor - HTTP capture, port 443, <100ms response)
├── analyzer (Deep analysis engine, tag-driven processing)
└── dashboard (Intelligence dashboard, port 8501)
HTTP Request → Sensor → Event Queue → Analyzer → Dashboard
↓ ↓ ↓
Fast Response SHA256 Body Deep Analysis
Tag Assignment Raw Storage YARA + R7
主な改善点:
flowchart TD
A[HTTP Request] --> B[Sensor: Tag Assignment]
B --> C{Route-Based IOCs}
B --> D{Pattern Detection}
B --> E{Heuristic Analysis}
C --> F[IOC Tags]
D --> G[Pattern Tags]
E --> H[Heuristic Tags]
F --> I[Event JSON + Body Storage]
G --> I
H --> I
I --> J[Event Queue]
J --> K[Analyzer: Deep Analysis]
K --> L{Tag-Driven Pipeline}
L -->|R7_PAYLOAD| M[Gzip→Base64→.NET Analysis]
L -->|LARGE_B64| N[Generic Base64 Decoding]
L -->|Always| O[YARA Scanning]
M --> P[Enhanced Event JSON]
N --> P
O --> P
P --> Q[Dashboard Intelligence]即時のアラート優先度を伴う高信頼度の侵害指標
エンドポイントベースの IOC:
IOC:ENDPOINT_TOOLPANE - /_layouts/15|16/ToolPane.aspx へのアクセスIOC:ENDPOINT_SIGNOUT - /_layouts/SignOut.aspx へのアクセスIOC:ENDPOINT_FAVICON - /favicon.ico へのアクセスIOC:ENDPOINT_ACLEDITOR - /_controltemplates/15|16/AclEditor.ascx へのアクセスIOC:ENDPOINT_LAYOUTS_ASPX - 一般的な /_layouts/*.aspx エンドポイントへのアクセスIOC:WEBSHELL_PROBE - Web シェルプローブエンドポイントの検出CVE 固有の IOC:
IOC:CVE_2025_53771 - 末尾スラッシュによる認証バイパス(CVE-2025-53771)パラメータベースの IOC:
IOC:PARAM_DISPLAYMODE_EDIT - DisplayMode=Edit パラメータを検出IOC:PARAM_TOOLPANE_REFERENCE - ToolPane を参照するパラメータ値を検出ヘッダーベースの IOC:
IOC:REFERER_SIGNOUT - Referer ヘッダーに SignOut.aspx が含まれるIOC:SUSPICIOUS_USER_AGENT - 不審な User-Agent パターン(例: Firefox/120.0)既知のエクスプロイトフレームワークとペイロードパターンのシグネチャ
エクスプロイトシグネチャ:
PATTERN:R7_PAYLOAD - Metasploit R7 エクスプロイト(MSOTlPn_DWP + CompressedDataTable)PATTERN:VIEWSTATE_EXPLOIT - __VIEWSTATE エクスプロイト試行PATTERN:YSOSERIAL - Java デシリアライゼーションツール(ysoserial キーワード)コード実行パターン:
PATTERN:POWERSHELL - PowerShell コマンド/スクリプトを検出PATTERN:ASPX_WEBSHELL - ASPX Web シェルのアップロード試行未知の脅威に対する行動ベースの異常検出
ペイロード異常:
HEURISTIC:LARGE_PAYLOAD - ペイロードサイズが 1KB(1024 バイト)超HEURISTIC:LARGE_B64 - Base64 コンテンツが 100 文字超HEURISTIC:MULTIPLE_B64 - 複数の Base64 文字列(3 つ超)パラメータ異常:
HEURISTIC:MANY_PARAMETERS - 過剰な URL パラメータ(10 個超)HEURISTIC:MISSING_CONTENT_TYPE - Content-Type なしの POST リクエストHEURISTIC:MALFORMED_MULTIPART - 不正なマルチパートデータリクエスト異常:
HEURISTIC:UNUSUAL_METHOD - 通常と異なる HTTP メソッド(PUT/DELETE/PATCH)HEURISTIC:LONG_PATH - 極端に長い URL パス(200 文字超)HEURISTIC:UNKNOWN_ENDPOINT - 監視対象外のエンドポイント(キャッチオールルート)/(キャッチオール)/favicon.ico/_layouts/SignOut.aspx/_layouts/15/ToolPane.aspx および /_layouts/16/ToolPane.aspx(POST/GET、パラメータ DisplayMode=Edit、a=/ToolPane.aspx)/_layouts/15/spinstall0.aspx、/_layouts/16/spinstall0.aspx、spinstall.aspx、spinstall1.aspx、info3.aspx、xxx.aspxyara_rules/ ディレクトリに独自の YARA ルールを追加できます自己署名証明書を生成する:
openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 -keyout key.pem -out cert.pem \
-subj "/CN=sharepoint.local"
cp cert.pem key.pem ToolShell-Honeypot/
全サービスをビルドして実行する:
cd ToolShell-Honeypot
sudo docker-compose up --build
または、対話型管理スクリプトを使用:
./manage.sh
オプション 6 で全サービスを開始するか、個別にコンポーネントを開始します。
ハニーポットをテストする:
# 全機能をカバーする包括的なテストスイート
./test_comprehensive.sh
ダッシュボードにアクセスする:
http://localhost:8501 を開いてインテリジェンスダッシュボードを表示します:
テストスクリプトは現実世界の攻撃シナリオをシミュレートします。ダッシュボードで結果、IOC 検出、データ分析を確認してください。
ハニーポットとダッシュボードサービスを簡単に制御するための管理スクリプトが用意されています。
使用方法:
cd ToolShell-Honeypot
chmod +x manage.sh # (初回のみ)
./manage.sh
メニューオプション:
IOC パターン、YARA ルール、検出ロジックは、ToolShell/SharePoint の脆弱性に関する実際の攻撃キャンペーンと公開脅威インテリジェンスに基づいています。以下を含みます:
関連 CVE: