ランサムウェア「Petya」、エクスプロイト「EternalBlue」を利用した拡散について

2017年6月27日、ヨーロッパを中心に複数の組織から、ランサムウェア「Petya」が原因と考えられる重大な混乱がもたらされたという報告がなされています。初期の情報によると、このランサムウェア「Petya」の亜種が先月のWannaCryによる攻撃に用いられたエクスプロイト「EternalBlue」を利用して広まった可能性があります。

信頼できる情報源、およびオープンソースのレポートによると、今回のキャンペーンの初期感染経路は ソフトウェアスイート「Medoc」の更新機能が悪用されたものとされています。このソフトウェアはウクライナの多くの組織で使用されています。Medocのソフトウェア更新時期は6月27日であり、ランサムウェア攻撃の初期報告と一致します。またこれは、当社により被害にあったネットワークで観測され、UTC(協定世界時)10:12頃から始まったPSExecによる横展開のタイミングとの相関が見出されます。さらに、MeDocのウェブサイトには現在、ロシア語で次のような警告メッセージが表示されています。「弊社のサーバーで現在ウイルス攻撃が発生しています。一時的なご不便に対しお詫び申し上げます!」

影響を受けたネットワークの様々なアーティファクトとネットワークトラフィックに対する当社の初期分析によれば、SMBエクスプロイト「EternalBlue」の修正版が少なくとも一部、WMIコマンドやMimiKatz、そしてPSExecとともに、他のシステムに感染するために使用されています。このキャンペーンに関連するアーティファクトに対する分析は現在も進行中であり、新しい情報が入り次第、ブログを更新する予定です。

FireEyeはこの攻撃に関連する以下の2つのサンプルを確認しています。

  • 71b6a493388e7d0b40c83ce903bc6b04
  • e285b6ce047015943e685e6638bd837e

FireEyeはCPE(コミュニティ・プロテクション・イベント)を発動しており、本件に関連する脅威アクティビティに対しての分析を継続していきます。「FireEye as a Service (FaaS)」は顧客環境の監視に積極的に取り組んでいきます。

FireEyeによる検知が悪意ある技術に対して振る舞い分析を活用する一方で、当社のチームは組織がこのマルウェアを過去に遡って検索し、また将来の活動についても検知するのを支援するためにYARAルールを作成しました。当社のチームはマルウェアの活動の中核を成す、次のような悪意ある攻撃技術に焦点を当てていますーーSMBドライブの使用、ランサム要求言語、使用される機能およびAPI、そして横展開に使用されるシステムユーティリティです。しきい値は続く条件セクションにて変更することができます。

rule FE_CPE_MS17_010_RANSOMWARE {
meta:version="1.1"
      //filetype="PE"
      author="Ian.Ahl@fireeye.com @TekDefense, Nicholas.Carr@mandiant.com @ItsReallyNick"
      date="2017-06-27"
      description="Probable PETYA ransomware using ETERNALBLUE, WMIC, PsExec"
strings:
      // DRIVE USAGE
      $dmap01 = "\\\\.\\PhysicalDrive" nocase ascii wide
      $dmap02 = "\\\\.\\PhysicalDrive0" nocase ascii wide
      $dmap03 = "\\\\.\\C:" nocase ascii wide
      $dmap04 = "TERMSRV" nocase ascii wide
      $dmap05 = "\\admin$" nocase ascii wide
      $dmap06 = "GetLogicalDrives" nocase ascii wide
      $dmap07 = "GetDriveTypeW" nocase ascii wide

      // RANSOMNOTE
      $msg01 = "WARNING: DO NOT TURN OFF YOUR PC!" nocase ascii wide
      $msg02 = "IF YOU ABORT THIS PROCESS" nocase ascii wide
      $msg03 = "DESTROY ALL OF YOUR DATA!" nocase ascii wide
      $msg04 = "PLEASE ENSURE THAT YOUR POWER CABLE IS PLUGGED" nocase ascii wide
      $msg05 = "your important files are encrypted" ascii wide
      $msg06 = "Your personal installation key" nocase ascii wide
      $msg07 = "worth of Bitcoin to following address" nocase ascii wide
      $msg08 = "CHKDSK is repairing sector" nocase ascii wide
      $msg09 = "Repairing file system on " nocase ascii wide
      $msg10 = "Bitcoin wallet ID" nocase ascii wide
      $msg11 = "wowsmith123456@posteo.net" nocase ascii wide
      $msg12 = "1Mz7153HMuxXTuR2R1t78mGSdzaAtNbBWX" nocase ascii wide
      $msg_pcre = /(en|de)crypt(ion|ed\.)/     

      // FUNCTIONALITY, APIS
      $functions01 = "need dictionary" nocase ascii wide
      $functions02 = "comspec" nocase ascii wide
      $functions03 = "OpenProcessToken" nocase ascii wide
      $functions04 = "CloseHandle" nocase ascii wide
      $functions05 = "EnterCriticalSection" nocase ascii wide
      $functions06 = "ExitProcess" nocase ascii wide
      $functions07 = "GetCurrentProcess" nocase ascii wide
      $functions08 = "GetProcAddress" nocase ascii wide
      $functions09 = "LeaveCriticalSection" nocase ascii wide
      $functions10 = "MultiByteToWideChar" nocase ascii wide
      $functions11 = "WideCharToMultiByte" nocase ascii wide
      $functions12 = "WriteFile" nocase ascii wide
      $functions13 = "CoTaskMemFree" nocase ascii wide
      $functions14 = "NamedPipe" nocase ascii wide
      $functions15 = "Sleep" nocase ascii wide // imported, not in strings     

      // COMMANDS
      //  -- Clearing event logs & USNJrnl
      $cmd01 = "wevtutil cl Setup" ascii wide nocase
      $cmd02 = "wevtutil cl System" ascii wide nocase
      $cmd03 = "wevtutil cl Security" ascii wide nocase
      $cmd04 = "wevtutil cl Application" ascii wide nocase
      $cmd05 = "fsutil usn deletejournal" ascii wide nocase
      // -- Scheduled task
      $cmd06 = "schtasks " nocase ascii wide
      $cmd07 = "/Create /SC " nocase ascii wide
      $cmd08 = " /TN " nocase ascii wide
      $cmd09 = "at %02d:%02d %ws" nocase ascii wide
      $cmd10 = "shutdown.exe /r /f" nocase ascii wide
      // -- Sysinternals/PsExec and WMIC
      $cmd11 = "-accepteula -s" nocase ascii wide
      $cmd12 = "wmic"
      $cmd13 = "/node:" nocase ascii wide
      $cmd14 = "process call create" nocase ascii wide

condition:
      // (uint16(0) == 0x5A4D)
      3 of ($dmap*)
      and 2 of ($msg*)
      and 9 of ($functions*)
      and 7 of ($cmd*)
}         


FireEyeが確認した報告書によると、マルウェアには悪意あるオフィスドキュメントが添付されていたり、脆弱性「CVE-2017-0199」を悪用した感染済みドキュメントへのリンクが貼られたEメールを利用して広まっています。当社はこうしたドキュメントは現在起こっている大規模な攻撃活動には無関係であると確信しており、また当社はCVE-2017-0199が関連するこれ以外の指標を確認しておりません。FireEyeはこれらのキャンペーンを検知しましたが、Petyaの攻撃による既知の被害者との相関は発見できておりません。

影響
この攻撃活動は組織が自分のシステムをエクスプロイト「EternalBlue」とランサムウェア感染から守ることの重要性を明らかにしています。マイクロソフト社が提供するガイドでは、ランサムウェア「WannaCry」に関連して、Windowsのシステムをエクスプロイト「EternalBlue」から守る方法について紹介しています。 堅牢なバックアップ戦略、ネットワーク分割と必要に応じたエアギャッピング、そしてランサムウェアに対するその他の防御を用いることで、組織をランサムウェアの拡散から守り感染を早急に修正することができます。