2017年6月28日

大規模ランサムウェア攻撃:技術的詳細

脅威

本記事は2017627日付けで公開された社グローバル調チーム(GReAT)による記事の日本語版です
※2017年6月28日11:30(日本時間)の時点で、カスペルスキーでは日本での検知を確認しておらず、報告も受けておりません。
※2017年6月29日更新:検知名、IOC、YARAルールに関する記述を変更しました。
※2017年6月29日更新:この攻撃で使用されたマルウェアの暗号化ルーチンの分析から、攻撃者は身代金の支払い有無にかかわらず暗号化されたディスクを復号することができないと考えられ、今回の活動に使われたマルウェアは、ランサムウェアに見せかけたワイパーとして設計されたと見受けられます。詳細は『ExPetr/Petya/NotPetya:ランサムウェアではなくワイパー』をご覧ください。

6月27日、ウクライナ、ロシア、西欧を主な標的とするランサムウェアの新たな攻撃についての報告が私たちの元へ舞い込みました。運悪く標的となった国にお住まいの方は、このような画面を目にしたかもしれません。

カスペルスキーの製品は、システムウォッチャー機能によってこの攻撃を阻止します。システムウォッチャーは、システムに対する変更をモニタリングし、有害である可能性のある操作をロールバックすることによって、ランサムウェアによる被害を阻止します。

当社のテレメトリ分析では、執筆時点で2,000以上の攻撃が観測されています。

現在、さまざまな憶測が飛び交っています。調査は進行中であり、現時点で調査結果としてお届けできるものは多くありませんが、ここまでに以下のことが判明しています。

このランサムウェアはどのように拡散するか

このランサムウェアは、拡散に利用する認証情報を得るために、lsass.exeプロセスから認証情報を抽出するカスタムツール「Mimikatz」を使用します。抽出された認証情報はPsExecまたはWMICに渡され、ネットワーク内での拡散に使われます。

このほかに観測されている感染媒介には、以下のものがあります:

  • 修正版のEternalBlueエクスプロイト – WannaCryでも利用されている
  • EternalRomance – リモートコード実行を許すエクスプロイト。TCPポート445を通じてWindows XPからWindows 2008までのシステムを狙う(注:MS17-010にて対応済み)
  • ウクライナのサードパーティ製ソフトウェア「MeDoc」のアップデートメカニズムに対する攻撃

重要:管理者の認証情報を持つシステムがネットワーク上で1台でも感染すると、WMIまたはPsExecを通じてその他コンピューターすべてに感染を広げることが可能。

このランサムウェアは何をするのか

このランサムウェアは感染してから10〜60分経過したのち、システムを再起動します。再起動はWindowsコマンド「at」、「schtasks」、「shutdown.exe」を使ってスケジュールされます。

ランサムウェアは、再起動するとNTFSパーティション内のMFTを暗号化し、脅迫メッセージを含むカスタマイズされたローダーでMBRを上書きします。

ネットワークの調査

ランサムウェアは、NetBIOSからネットワークアダプターおよび既知のサーバー名をすべてリストアップし、可能であればDHCPリースの一覧を取得します。ローカルネットワーク上の各IPと、見つかった各サーバーは、TCPポート445および139が開いているかどうかチェックされ、これらポートが開いているマシンは、先に述べたいずれかの媒介を通じて攻撃を受けます。

パスワードの抽出

マルウェアバイナリのリソース1および2の領域には、ログイン済みユーザーのログインIDおよびパスワードの抽出を試みるスタンドアロンツール(Mimikatz)が含まれます。ツールには32ビットおよび64ビットの2バージョンがあり、メインバイナリによって実行されます。抽出されたデータはすべて、ランダムなGUID風の名を持つ名前付きパイプを通じてメインモジュールに送り返されます。

ファイルの復号

すでに感染した人はファイルを復号できないものでしょうか?残念ながら、このランサムウェアはスタンダードで確実な暗号化スキームを使用しており、わずかな実装ミスが犯されていないかぎり復号の見込みは薄いと考えられます。暗号化のメカニズムは以下のとおりです:

  • すべてのファイルに対してAES-128キーが1つ生成される
  • このAESキーは、攻撃者のパブリックRSA-2048キーで暗号化される
  • 暗号化されたAESキーはREADMEファイル内に保存される
  • キーが確実に生成される

この攻撃の背後にいる犯罪者たちは、人質にとったデータを復号するためのキーと引き替えに$300分のBitcoinを支払うように要求しています。取引確認のために、自分のウォレット番号を「wowsmith123456@posteo.net」宛にメールするようにと被害者に求めているところから、WannaCryとは違って効果があっただろうと考えられます。なお、このメールアカウントはすでに閉鎖され、被害者が復号キーを得るための手続きが現時点ではできなくなっているとの報告が見られています。

執筆時点では、当該Bitcoinウォレットにて24の取引が発生しており、総額は2.54 BTCまたは$6,000(米ドル)弱となっています。

 

ランサムウェアによる被害を回避するためには、以下を推奨します:

  • ランサムウェア対策機能(カスペルスキー インターネット セキュリティでいうシステムウォッチャー機能に相当)を搭載するセキュリティ製品を実行する
  • Microsoft Windows OSおよびすべてのサードパーティ製ソフトウェアをアップデートする。セキュリティ更新プログラムMS17-010をただちに適用することが重要
  • 信頼できない送信元/入手元から届いたファイルは開かない、実行しない
  • 重要データは外付けストレージにバックアップし、バックアップ後はストレージをオフラインにしておく

なお、カスペルスキー製品はこの攻撃で使用されるマルウェア検体を以下の検知名で検知およびブロックします:

  • UDS:DangerousObject.Multi.Generic
  • Trojan-Ransom.Win32.ExPetr.a
  • HEUR:Trojan-Ransom.Win32.ExPetr.gen

システムウォッチャー機能では、以下の検知名で検知およびブロックします:

  • PDM:Trojan.Win32.Generic
  • PDM:Exploit.Win32.Generic

脅威存在痕跡(IOC)

0df7179693755b810403a972f4466afb
42b2ff216d14c2c8387c8eabfb1ab7d0
71b6a493388e7d0b40c83ce903bc6b04
e285b6ce047015943e685e6638bd837e
e595c02185d8e12be347915865270cca

YARAルール

YARAルール「expetr.zip」はこちらからZIP形式でダウンロードいただけます(直接ダウンロードが始まります)。

rule ransomware_exPetr {
meta:

copyright = “Kaspersky Lab”
description = “Rule to detect PetrWrap ransomware samples”
last_modified = “2017-06-27”
author = “Kaspersky Lab”
hash = “71B6A493388E7D0B40C83CE903BC6B04”
version = “1.0”

strings:

$a1 = “MIIBCgKCAQEAxP/VqKc0yLe9JhVqFMQGwUITO6WpXWnKSNQAYT0O65Cr8PjIQInTeHkXEjfO2n2JmURWV/uHB0ZrlQ/wcYJBwLhQ9EqJ3iDqmN19Oo7NtyEUmbYmopcq+YLIBZzQ2ZTK0A2DtX4GRKxEEFLCy7vP12EYOPXknVy/+mf0JFWixz29QiTf5oLu15wVLONCuEibGaNNpgq+CXsPwfITDbDDmdrRIiUEUw6o3pt5pNOskfOJbMan2TZu” fullword wide
$a2 = “.3ds.7z.accdb.ai.asp.aspx.avhd.back.bak.c.cfg.conf.cpp.cs.ctl.dbf.disk.djvu.doc.docx.dwg.eml.fdb.gz.h.hdd.kdbx.mail.mdb.msg.nrg.ora.ost.ova.ovf.pdf.php.pmf.ppt.pptx.pst.pvi.py.pyc.rar.rtf.sln.sql.tar.vbox.vbs.vcb.vdi.vfd.vmc.vmdk.vmsd.vmx.vsdx.vsv.work.xls” fullword wide
$a3 = “DESTROY ALL OF YOUR DATA! PLEASE ENSURE THAT YOUR POWER CABLE IS PLUGGED” fullword ascii
$a4 = “1Mz7153HMuxXTuR2R1t78mGSdzaAtNbBWX” fullword ascii
$a5 = “wowsmith123456@posteo.net.” fullword wide

condition:

(uint16(0) == 0x5A4D) and
(filesize<1000000) and
(any of them)
}