コンテンツへスキップ

Blackhole Exploit Kitアップグレードされる

ある業界では有名な「Blackhole Exploit Kit」ですが、どうやら最近アップグレードが行われたようです。

Symantec : BlackHole 悪用ツールキットがアップグレード: 擬似ランダムなドメイン
Slashdot : Blackhole Exploit Kit Gets an Upgrade

で、今回の目玉は「疑似乱数によるドメインの動的生成」らしいです。

何のことかと言うと、まず、Exploit Kit によるマルウェアサイトに誘導する主な手法はサイト改竄です。
その理由は、セキュリティベンダなどが提供しているブラックリストベースの検出を回避するため。
また、既存のサイトを改竄することで、特に何もすることなくユーザーが怪しむことなく集まります。
攻撃者にとってはホイホイな訳で。

そこで、改竄時に挿入される難読化されたJavaScriptについてが本題です。
大まかな動作としては、攻撃用サーバーにアクセスさせるために不可視のiframe(インラインフレーム)を埋め込みます。
んで、そこからJavaやらAdobe Flash / Reader やらのExploitが送り込まれて、それらが成功すればドライブバイダウンロードでマルウェア感染ってなことが一連の流れです。

ただ、従来の方法には一つ欠点がありました。
それはiframeとして埋め込んだURLがダウンした(ブラックリスト入りしたり、対策された)時です。
攻撃用サーバーにアクセスさせるためには、当然新しいURLに差し替える必要があります。
ただ、大量の改竄サイトを更新するのは困難であると。
そこで、もしダウンした場合でも自動的に更新するために、日付などの情報を基にして疑似乱数を基にドメイン名を動的に生成しようという訳です。


では、早速そのアップグレードされたBlackhole Exploit Kitで改竄されたと思しきサイトを見つけたので早速調査。
今のところ「/*km0ae9gr6m*/」「/*qhk6sa6g1c*/」とのコメントに囲まれたものが確認できた。
(参考までに、アップグレード前のBlackkhole Exploit Kitの改竄例として以前取り上げたもの⇒WordPress 増える改竄被害 

まず改竄サイトに挿入される難読化されたJavaScriptです。
fromCharCodeメソッドを用いてぱっと見分からないように簡易的に難読化。
また、20KB超のコードを一行にまとめてしまっています。
難読化されたコード

次に、これをデコードしたもの。
これが難読化の本処理で、まだ実際のコードが見えてきません。
デコード1

さらに上を展開したものです。
デコード2
ハイ、これで実際に実行されるコードが見えてきました。
Symantecのブログで紹介されているのとほぼ同じですね。
以前と比較して明らかなように、

  • nextRandomNumber
  • RandomNumberGenerator
  • createRandomNumber
  • generatePseudoRandomString

なる関数が追加され、月日時などに基づいた疑似乱数を用いて、動的にドメイン名を生成していることが分かります。
たぶんRandomNumberGenerator関数中の「var s = d.getHours() > 12 ? 1 : 0;」の条件分岐(時刻が12時以上か否か)で、
12時間サイクルで生成ドメイン名が変化するものと思われます。
ちなみに、本記事投稿時点では以下のドメインが生成されました。

lohnrnnpvvtxedfl.ru

以上のように、生成アルゴリズムがわかれば、生成されるドメイン名を予測することが可能です。
但し、アルゴリズムはいくらでもカスタマイズ可能な訳で、ブラックリストによるブロッキングがより困難になることは容易に想像できます。
これらの仕組みは、いわゆる「Domain Generation Algorithm(DGA)」というやつで、これ自体特に目新しいものではありません。
かつてのCofickerやZbotなどにも実装されていました。
それがBlackhole Exploit Kitで実装されたのですから、攻撃の成功率は上がり、被害者は増えるでしょうね。


[追記]
ちょっとググっていたら、このようなDGAを実装したJavaScriptコードによるサイト改ざんは以前にもあったようです。

Peering Through the iFramePDF
PastebinよりBlackhole exploit kit domain generation algorithm of SInowal

Mebroot(Sinowal)が拡散した時に用いられていたとのことで、Twitterのトレンド検索(?)もDGAに取り入れていたらしいのとで驚きです。


2 thoughts on “Blackhole Exploit Kitアップグレードされる

  1. 匿名

    ショウヘイさんへ。
    大魔王です。お見事。そして勉強になります。

    ようやく最近PCが手に入ったので、ぼちぼち、PC勉強再開しようかな?とおもいますが、なんせ、被災地なもので、やることが山積。子供たちが公園で遊ぶこともできない状態です(いたるところに瓦礫、ガラス破片、釘、ネジなどが散乱。転んで負傷し、破傷風菌感染の危険があり、母親は子供を、外で遊ばせない)。PCどころか、家も車も、PC関係の本も全部、津波で流されたので、また一から勉強しなおしですね。

    まあ、人生、色々なことがあるものです。ついに、僕も「一人ぼっち」になってしまいました。

  2. ばびぶべぼん

    こんばんは。コメント有難うございます。

    いえいえ、とんでもございません。まだまだ未熟でお恥ずかしい限りです。
    これも「趣味」として、正確性を保証しないという免罪符だったりします(笑)

    やはり、あの震災以降まだまだ状況は改善されませんね。
    私も実家が福島でして、沿岸部ではないものの、やはり様々な問題が生じています。
    大変なご苦労があったこととお察しいたしますが、復興へ向けて共に頑張って参りましょう。
    口だけとなってしまいますが、陰ながら応援しております。

    Web上であろうとも、人と人は必ずどこかでつながっています。

    それでは、また。

コメントを残す

メールアドレスが公開されることはありません。