”Drupalgeddon2”ーーエクスプロイトすればサイト乗っ取りも可能な脆弱性。
2週間前に、Drupalのセキュリティチームは、悪用すると攻撃者が脆弱なWebサイトを乗っ取る脆弱性を発見した。
その名も、Drupalgeddon2である。
Drupalgeddon2をエクスプロイトするPoCコードも公開されており、影響を受ける人はDrupalから公開されているパッチ当てを急ぎたい。
今回のニュースを読んで、私は恥ずかしながらDrupalすら知らなかったので、それらを調べつつ今回の脆弱性に関して後学の為にまとめた。
最下部に参考URLをまとめているので、更に詳細を知りたい人はリンクを辿って欲しい。
尚、本記事では以下のポイントに絞って解説していく。
それでは参りましょう!
そもそもDrupalとは
DrupalはContents Management System(CMS)の一種だ。
簡単に言えば、Wordpress、Movable Type、Joomla!のようにウェブサイトを運営する際に使用するオープンソースのソフトウェアである。
インターネット上にサイトを設置したい企業や個人がDrupalを使用して、ホームページやブログなどのウェブコンテンツを公開する事が出来るのだ。
Weebly等のWebコンテンツ公開サービスを使わずとも、各々の状況に合わせて拡張機能などを追加する事したり、各々の状況に合わせてデザインをカスタマイズ出来る事から海外を中心に人気を博しているようだ。
個人的な実感では、日本ではWordpressやMovable Type等のユーザー数の方が多く、Drupalでサイト運営をしている人はあまりいないと思う。
”Drupalgeddon2”というコードネームについて
今回公表された脆弱性には、”Drupalgeddon2”というコードネームが付けられている。
Drupalgeddonというコードネームは、「Drulpal」と「Armageddon(アルマゲドン)」をくっつけた造語である。
アルマゲドンが、”最終戦争”や”世界の破滅”という状態を意味する言葉である事から、Drupalにとって、この脆弱性が悪用される事で、「非常に壊滅的な状態に陥ってしまう」事を示している。
Drupalgeddonを発音する際には、Drupalの”L”の発音を省略して、「ド(ゥ)ルーパゲドン」と読めばいい。
尚、今回の脆弱性が”Drupalgeddon2”、つまり「Drupalgeddonの2番目」と呼ばれているのは、一番目となる”Drupalgeddon”が存在したからである。
一番目としてのDrupalgeddonは、2014年10月に発見された脆弱性(CVE-2014-3704)である。
攻撃者はDrupalgeddonを悪用してSQLインジェクションを行い、ターゲットシステムにおいて権限昇格を行う事が出来た。
脆弱性の概要
Drupalの公式ホームページに掲載されているセキュリティ・アドバイザリ(sa-core-2018-002)にはDrupalgeddon2に関する概要が記載されている。
以下は、その概要の翻訳版である。
説明
Drupal 7には、データベース抽象化API(Database Abstraction API)が含まれている。
SQLインジェクション攻撃を防ぐためにデータベースに対して実行されたクエリをサニタイジングする為だ。
このAPIに脆弱性が存在し、攻撃者は細工されたリクエストを送信し、任意のSQLコマンドが実行されてしまうのだ。
リクエストの内容によっては、権限昇格、任意のPHP実行、またはその他の攻撃を引き起こす可能性がある。
また、この脆弱性は、匿名ユーザーによって悪用される可能性がある。
UPDATE:このセキュリティ勧告のリリースに伴い、複数の不正利用が報告されており、アドバイザリがリリースされた直後に更新されなかったDrupal 7サイトが侵害される可能性がある。
影響範囲は、Drupalの全バージョン(6〜8)に対して影響がある。
CheckPointが公開した情報によれば、フォームAPI(FAPI)AJAXリクエストを介して渡されたInputのサニタイジングが不十分な事が原因のようだ。
攻撃者はエクスプロイトに成功すると、ユーザー認証なしで悪意のあるペイロードを内部フォーム構造に注入、実行出来る。
この脆弱性を利用することで、攻撃者はDrupalを利用するユーザーのウェブサイトにおける全権限を取得できる。
現在の状況
Drupalの対応
この脆弱性に対処するために、Drupalは直ちにDrupal CMSのアップデート版をリリースした。
また技術的詳細を公開するにあたって、攻撃が頻発する前に同社のCMSプラットフォームを使用する100万以上のサイトでパッチあてが行われるよう時間を稼いだ。
CVE番号付与&PoCコードの公開
2018年4月11日、Check PointとDofinityのセキュリティ研究者は、この脆弱性に関する技術的詳細(CVE-2018-7600)を公開。
更に、ロシアのセキュリティ研究者がGitHubのDrupalgeddon2のPoC(proof-of-concept)コードを公開した。
PoCコードは、以下にあるSANS ISCのページから閲覧できる。
>>Drupal CVE-2018-7600 PoC is Public - SANS Internet Storm Center
攻撃の状況
日本
JPCERTによれば、日本における攻撃は未だ確認されていないが、探索行動はハニーポットで確認されている。
海外
Sucuri、Imperva、SANS Internet Storm Centerの研究者らは、PoC攻撃が公開された直後に、Drupalgeddon2を悪用した攻撃の試みを観測した。
We are seeing attempts for the Drupal RCE (CVE-2018-7600) in the wild now: https://t.co/1tfpH08Ohb
— Daniel Cid (@danielcid) 2018年4月12日
Expect that to grow with the new exploits being shared publicly:https://t.co/V1C0E5hi4W
Also, good read from from CheckPoint explaining it:https://t.co/iD44ZRjOtG
Patch now!
だが、実際にウェブサイトがハッキングされたという報告はまだ出ていない。
対策
脆弱性のあるバージョンのDrupalを実行しているサイト管理者は、悪用を防ぐために、CMSをDrupal 7.58またはDrupal 8.5.1にできるだけ早く更新するべきである。
また、この脆弱性は2016年2月以来Drupalによるサポートは終了したDurupal 6にもパッチが提供されている。
- Database abstraction layer - Wikipedia
- Drupalgeddon | Drupal.org
- SA-CORE-2014-005 - Drupal core - SQL injection | Drupal.org
- Drupal core - Highly critical - Remote Code Execution - SA-CORE-2018-002 | Drupal.org
- FAQ about SA-CORE-2018-002 | Drupal Groups
- Database abstraction layer - Wikipedia
- Drupal の脆弱性 (CVE-2018-7600) に関する注意喚起(JPCERT)
追記:
以下、初稿投稿後に出てきた情報を追記していきます。時間の都合上、一旦ツイート貼り付けておいて、記事に説明文入力していきます。ご了承下さい。
カスタムシグネチャ
Drupalの脆弱性、CVE-2018-7600/SA-CORE-2018-002についてですが、Drupal7を狙った攻撃についてもこれだと検知できるのでは?というSignatureを作成(更新)しました。NSP向けです。
— hiro_ (@papa_anniekey) 2018年4月18日
Drupal core Remote Code Execution Vulnerability(CVE-2018-7600SA-CORE-2018-002).ziphttps://t.co/IXKOGiAt1R
マイニングスクリプトの埋め込みが発生
Drupalgeddon2
— Yukio “Ichi” Ichinose (@0x31_nose) April 18, 2018
・割合→ 90%: IP scan、3%: バックドア感染試行、2%: クリプトマイナー
・Drupalの脆弱性を突いてMoneroマイナーを埋め込んだ。
・minexmr[.]comのプールを使用。
・544.74 XMR($105,567)を稼いだグループもいる。 https://t.co/AJBrLvkSAO
攻撃が多発してメンテ中に陥るサイトもちらほら
urlを踏んでみた結果
— 箱入り (@maple1st) April 19, 2018
もしこれがdrupalgedon2によるものなら
分かりやすいフェイクアラートだけではなく
サーバにバックドアが置かれてる可能性もあるので
運営には入念にチェックして欲しいですね pic.twitter.com/WPGKt2biSK
三井物産セキュアディレクションによるレポート
(もはやこれだけ読めば全てわかるってレベル。いつか自分もこんな風に脆弱性をまとめられるようになりたいです。)