Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2021-46398 — CVE-2021-46398 脆弱性悪用の概念実証 | Kitploit
ツール/GitHubGitHub/laliea/cve-2021-46398
脆弱性分析エクスプロイトウェブアプリケーション悪用フィッシング学習と教育ラボと実践Archived
GitHublaliea/cve-2021-46398

CVE-2021-46398

CVE-2021-46398 脆弱性悪用の概念実証

リポジトリを見る
503年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2021-46398 - Lalie ARNOUD, Gaspard ANDRIEU

このリポジトリでは、docker compose を使用した CVE-2021-46398 脆弱性の悪用の概念実証と、この脆弱性が情報システムに与える影響の分析を提供します。

root@kitploit:~
# Exploit Title: FileBrowser 2.17.2 - Cross Site Request Forgery (CSRF) to Remote Code Execution (RCE)
# Date: 05/02/2022
# Exploit Author: FEBIN MON SAJI
# Vendor Homepage: https://filebrowser.org/
# Software Link: https://github.com/filebrowser/filebrowser
# Version:
    FileBrowser <= 2.17.2
# Tested on: Ubuntu 20.04
# CVE : CVE-2021-46398

FileBrowser とは?

FileBrowserのウェブサイト によると、FileBrowser は人気のある「自分でクラウドを作る」タイプのソフトウェアで、サーバーにインストールし、パスを指定すると、Go 言語で開発された優れた Web インターフェースを通じてファイルにアクセスできるようになります。 多くの機能 を備えています。Google ドライブに似ていますが、誰でも自分のインスタンスを所有しホストできる点が異なります。

脆弱性の説明

FileBrowser の管理者は、複数のユーザー(管理者権限を持つ別のユーザーも含む)を作成し、任意のディレクトリへのアクセスを許可できます。ユーザー作成はエンドポイント /api/users で処理されます。このエンドポイントはユーザー作成のために JSON 形式の入力を受け付けますが、値が application/json であるべき ヘッダーの を検証せず、 も受け入れてしまいます。これが脆弱性の原因です。また、 の検証もなく、 トークンも実装されていません。そのため、攻撃者はこの脆弱性を簡単に悪用して、管理者権限と攻撃者がアクセスしたい任意のディレクトリ(ホームディレクトリなど)へのアクセス権を持つバックドアユーザーを作成できます。これは、悪意のある Web ページの URL を正規の管理者に送信し、サーバーのファイルシステム全体にアクセスさせるだけで実現します(このプロセスの詳細な説明はデモセクションにあります)。

HTTP
Content-Type
text/plain
Origin
CSRF

さらに、管理者はシステム上でコマンドを実行できるため、この脆弱性は RCE につながります。

以下は攻撃プロセスを要約したシーケンス図です(アリスはハッカー、ボブは FileBrowser インスタンスの管理者兼ホスト)。

root@kitploit:~
sequenceDiagram
Alice (hacker) ->> Alice (hacker): *悪意のある HTML ページを悪意を持って作成*
Alice (hacker) ->> Bob (admin): ここにクールなページがあるよ! チェックしてみて!
Bob (admin) ->> Alice (hacker): サンキュー、開いてみるよ!
Bob (admin) ->> Bob (admin): *クールなものだと思ってページを開く*
Bob (admin) -->> FileBrowser: *気づかずにユーザー作成リクエストを送信*
FileBrowser -->> FileBrowser: *要求された通り、新しい管理者権限ユーザーを作成*
Alice (hacker) ->> FileBrowser: えへへ、ボブはバカだな! *バックドアユーザーで FileBrowser に接続*
FileBrowser ->> Alice (hacker): *作成された新しいユーザーでアリスの接続を受け入れる*
Alice (hacker) ->> FileBrowser: 適切なボタンで FileBrowser へのシェルアクセスを要求し、ボブのコンピュータでシステムコールを実行*

セキュリティ脆弱性のデモンストレーション

このデモの目的は、2~3 台のマシンからなるミニアーキテクチャを構築することです:

  • あなたのパソコンを、一方では FileBrowser 管理者のコンピュータ、もう一方では攻撃者として使用。
  • リモートの FileBrowser サーバーをシミュレートする脆弱な Docker コンテナ。

これは非常に単純化されたアーキテクチャであり、脆弱性の技術的側面を強調することを目的としています。

脆弱なマシンのイメージの起動

この実験には、docker のみが必要です。

この設定では、ターゲットマシンは FileBrowser v2.17.2 イメージ(この脆弱性の影響を受ける)に基づいており、FileBrowser の唯一のアカウントは、ログイン/パスワードが admin/admin の管理者アカウントです。

ターゲットマシンの起動:

root@kitploit:~
mkdir srv && docker compose up

エクスプロイト

悪意のある Web ページの作成

攻撃者側では、悪意のある Web ページを使用して FileBrowser API 呼び出しを実行し、管理者のコンピュータからバックドアユーザーを作成します。

そのようなページの例は、このリポジトリに index.html という名前で提供されています。これは、入力名にペイロードを付けて /api/users FileBrowser エンドポイントに POST リクエストを実行する隠しフォームを持つシンプルな HTML ページです。このペイロードは、ログインが "oui"、パスワードが "oui" の管理者権限ユーザーを作成し、ボタンがクリックされるとトリガーされます。

もちろん、このページよりももっと魅力的で魅力的なページを作成し、HTTP リクエストの送信を Web サイトの別の要素に隠すこともできました。これは、脆弱性の悪用の技術的側面をご覧いただくためのものです。この悪意のある Web ページの目的は、FileBrowser の管理者が疑うことなく開くことであることを忘れないでください。

HTML フォームを送信して Web ページのエクスプロイトを実行

管理者側では、FileBrowser で静かに管理作業を行っています。127.0.0.1:8080 にアクセスし、管理者認証情報 admin/admin でログインします。

次に、フィッシングメールなど何らかの手段で悪意のある Web ページを受け取り、エクスプロイトをトリガーするアクションを実行します。index.html Web ページを開き、ボタンをクリックします。これによりペイロードが起動します。

FileBrowser のバックドアユーザーへのアクセス

ここで、攻撃者側に戻ると、FileBrowser サーバー上に管理者権限を持つバックドアユーザーが作成されています。

プライベートブラウジングでお好みの Web ブラウザを開き、管理者の認証手段を使用していないことを確認します。localhost:8080 にアクセスし、バックドアユーザーの認証情報 oui/oui でログインします。

おめでとうございます! FileBrowser サーバーのファイルシステムにアクセスできるようになり、サーバーの全ユーザーのファイルにアクセスできるようになりました!

また、FileBrowser は多くの機能を備えた優れたプラットフォームであるため、"toggle shell" ボタンを押すとターミナルインスタンスを起動できます。whoami と入力してみて、root として好きなことをしてください :)

バックドアユーザーがシェルコマンドを使用できるようにするには、ペイロードで明示的に宣言する必要があります。独自のものを追加するには index.html を参照してください。

修正

この脆弱性は v2.18.0 以降で修正されました。詳細は 彼らの GitHub で確認できます。修正の展開は非常にコストがかからず、単一のプログラムファイルの 6 行のコードを変更するだけで済みました。脆弱性はパーシングの失敗に起因していたため(脆弱性の説明 参照)、他の処理の前にすべてのリクエストが application/json 形式にパースされることを保証するだけで十分でした。

用語集

  • CSRF: クロスサイトリクエストフォージェリ
  • CVE: 共通脆弱性識別子
  • POST: HTTP メソッド
  • RCE: リモートコード実行

参考文献

  • CVE-2021-46398
  • ExploitDB
  • Exploit の例
  • FileBrowser の GitHub からのセキュリティパッチ
  • FileBrowser の GitHub の Issue スレッド

この作業は、グルノーブル INP - Ensimag, UGA の情報システム工学専門の最終学年で開講された情報システムセキュリティコースの一環として行われました。

ツールをダウンロード