”Drupalgeddon2”ーーエクスプロイトすればサイト乗っ取りも可能な脆弱性。

f:id:nanashi0x:20180416195718p:plain

 

2週間前に、Drupalのセキュリティチームは、悪用すると攻撃者が脆弱なWebサイトを乗っ取る脆弱性を発見した。

その名も、Drupalgeddon2である。

Drupalgeddon2をエクスプロイトするPoCコードも公開されており、影響を受ける人はDrupalから公開されているパッチ当てを急ぎたい。

 

今回のニュースを読んで、私は恥ずかしながらDrupalすら知らなかったので、それらを調べつつ今回の脆弱性に関して後学の為にまとめた。

最下部に参考URLをまとめているので、更に詳細を知りたい人はリンクを辿って欲しい。

 

尚、本記事では以下のポイントに絞って解説していく。

  • そもそもDrupalとは
  • ”Drupalgeddon2”というコードネームについて
  • 脆弱性の概要
  • 執筆時点(2018/04/16)での状況

それでは参りましょう! 

 

そもそもDrupalとは

f:id:nanashi0x:20180416171124p:plain

 

DrupalはContents Management System(CMS)の一種だ。

簡単に言えば、WordpressMovable TypeJoomla!のようにウェブサイトを運営する際に使用するオープンソースのソフトウェアである。

インターネット上にサイトを設置したい企業や個人がDrupalを使用して、ホームページやブログなどのウェブコンテンツを公開する事が出来るのだ。

Weebly等のWebコンテンツ公開サービスを使わずとも、各々の状況に合わせて拡張機能などを追加する事したり、各々の状況に合わせてデザインをカスタマイズ出来る事から海外を中心に人気を博しているようだ。

個人的な実感では、日本ではWordpressMovable Type等のユーザー数の方が多く、Drupalでサイト運営をしている人はあまりいないと思う。

 

”Drupalgeddon2”というコードネームについて

f:id:nanashi0x:20180416171507p:plain

 

今回公表された脆弱性には、”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によれば、日本における攻撃は未だ確認されていないが、探索行動はハニーポットで確認されている。

海外

SucuriImpervaSANS Internet Storm Centerの研究者らは、PoC攻撃が公開された直後に、Drupalgeddon2を悪用した攻撃の試みを観測した。

 

だが、実際にウェブサイトがハッキングされたという報告はまだ出ていない。

対策

脆弱性のあるバージョンのDrupalを実行しているサイト管理者は、悪用を防ぐために、CMSDrupal 7.58またはDrupal 8.5.1にできるだけ早く更新するべきである。

また、この脆弱性は2016年2月以来Drupalによるサポートは終了したDurupal 6にもパッチが提供されている。

追記:

以下、初稿投稿後に出てきた情報を追記していきます。時間の都合上、一旦ツイート貼り付けておいて、記事に説明文入力していきます。ご了承下さい。

カスタムシグネチャ

 

マイニングスクリプトの埋め込みが発生

攻撃が多発してメンテ中に陥るサイトもちらほら

三井物産セキュアディレクションによるレポート

(もはやこれだけ読めば全てわかるってレベル。いつか自分もこんな風に脆弱性をまとめられるようになりたいです。)

www.mbsd.jp