www.morihi-soc.net

誰もが安心して使える、安全なインターネットを目指して

ハニーポット観察記録(41)「PHPMailerの脆弱性を狙った攻撃」

どうも。ハニーポッターの森久です。

今回は、WOWHoneypot で PHPMailer の脆弱性(CVE-2016-10033/CVE-2016-10045)を狙った攻撃を検知したので紹介します。
PHPMailer は、PHP で作られたメール送信のためのライブラリです。

PHPMailer の脆弱性は、2016年の12月24日に公開されました。当時は、リモートから任意のコードが実行できる脆弱性として騒がれていました。piyolog でもまとめられています。

ハニーポットではなかなかお目にかかることがありませんでしたが、先日攻撃が来ていました。珍しいので取り上げようと思います。

 

攻撃リクエスト1

※一部の情報を意図的に伏せています。

 

攻撃対象のファイルは/直下で、特に何らかのファイルが指定されてはいません。
POST のデータ部分を見ると、name パラメータのところに WebShell と見受けられる PHP のプログラムがありますね。system() 関数を使った OS コマンドを実行する機能がメインです。

次に email パラメータのところが、今回の攻撃の最も特徴的なところです。
vulnerables と直球ですが、その後に続く文字列が PHPMailer の脆弱性を突いています。

脆弱性の詳しい解説はすでに多くのレポートで語られているので、簡単な説明に留めますが、送信者のメールアドレスを細工した文字列にすると、メールアドレスのバリデーションは通過するけど、実際の MTA(sendmail 等)ではオプションとして解釈されてしまうというものです。

今回の攻撃が成功すると、/www/backdoor.php というファイルに、name パラメータで指定した内容を書き出すことができます。

 

攻撃リクエスト2

※一部の情報を意図的に伏せています。

攻撃リクエスト3

※一部の情報を意図的に伏せています。

 

攻撃リクエスト2は、backdoor.php ファイルにアクセスしているので、攻撃リクエスト1で攻撃が成功したのかどうかを確認しています。
HEAD リクエストでアクセスしているため、おそらく Web サーバからステータスコード 200 が応答された場合、攻撃が成功したと判断していると推測します。

続いて、攻撃リクエスト3は、作成した backdoor.php ファイルを利用して何らかのコマンドを実行しています。

cmd のパラメータに続く文字列は、BASE64 でエンコードされているので、デコードしてみましょう。今回は、安全にデコードするため、自作の「ブラウザで完結! 文字列操作スクリプト」を使いました。

BASE64デコード結果

 

どうやら、cmd パラメータに渡されているコマンドは、wget コマンドでファイルをダウンロードして、perl で実行することが目的のようです。ただし、指定する文字列が途中で途切れてしまっているようで、中途半端な終わり方をしています。公開されている攻撃コードを使ってみただけのスクリプトキディさんかもしれません。

さて、ダウンロードされるファイルの中身が気になりますね。VirusTotal でチェックしてみます。

ダウンロードされるファイルのVirusTotalの検出結果

多数のアンチウイルスソフトが悪性ファイルとして検出されています。検知名からは、おおよそ IRC のボットであると読み取れます。

以上より、今回の攻撃者は、PHPMailer の脆弱性を突いた攻撃をした後、攻撃の成否を確認して、成功している場合は IRC ボットに感染させることが狙いだったのだと考えられます

 

まとめ

今回は、PHPMailer の脆弱性を狙った攻撃を紹介しました。攻撃者は攻撃をした後に、攻撃の成否を確認するという1ステップを踏んでいます。
検知した WOWHoneypot の特徴として、どのようなリクエストでも、とりあえずステータスコードとして 200 を返すので、攻撃が成功しているように見えたのだと思います。
そのため攻撃リクエスト3のようなコマンド実行という、攻撃者の真の狙いを検知することができました。

 

参考情報

PHPMailerの脆弱性 CVE-2016-10033/CVE-2016-10045についてまとめてみた(piyolog)
http://d.hatena.ne.jp/Kango/20161227/1482854468

PHPMailerの脆弱性CVE-2016-10033について解析した(徳丸浩の日記 )
https://blog.tokumaru.org/2016/12/PHPMailer-Vulnerability-CVE-2016-10033.html

PHPMailerのリモートコード実行脆弱性(CVE-2016-10033)の影響範囲(Qiita @ichikaway)
https://qiita.com/ichikaway/items/d2d9205c57f35b618951

PHPMailerの脆弱性CVE-2016-10033はWordPressにどの程度影響するのだろうか(Qiita @nishimura)
https://qiita.com/nishimura/items/869362ab33b5e82080b7


告知

第3回 ハニーポッター技術交流会を開催します。もしご興味のある方は、どうぞご参加ください。
またハニーポッターの方は LT 発表してみませんか。ハニーポットに関するネタやログ分析に関することであれば、どんな内容でも OK です。
LT 発表申込後は、メール(morihisa.sec(@)gmail.com)でもツイッター(@morihi_soc)でも何でもいいので、私まで発表タイトルと発表時間(15-30分以内)をご連絡ください。

開催日時:2018年2月24日(土) 午前10:00-12:00 (受付は9:40から)
※参加申し込みは、2018年1月27日19時から開始です。
開催場所:東京都中央区日本橋兜町12-7 兜町第3ビル NATULUCK茅場町新館 2階大会議室

募集ページ:第3回 ハニーポッター技術交流会 https://hanipo-tech.connpass.com/event/78002/

Written by 森久

1月 26th, 2018 at 7:04 pm