This post is also available in: English (英語)
概要
2016年11月に、私たちは2012年のShamoon攻撃活動に関連付けられる破壊的な攻撃が再出現したことを確認しました。この攻撃については、Shamoon 2: 舞い戻ってきたDisttrackワイパーと題するブログ記事で詳細をお伝えしました。Shamoon 2はサウジアラビアにある1つの組織を標的にしており、2016年11月17日にシステムを消去するよう設定されていました。以前の公表以降、私たちは類似はするものの異なるペイロードをもう1つ発見しました。これはサウジアラビアにある第2の組織を標的とするのに使用され、12日後にシステムを消去するよう2016年11月29日に設定されていました。この最新の攻撃は、消去攻撃に対して採用されている主要な対策の1つに潜在的、実質的な強い影響を与えます。影響を受ける対策とは、仮想デスクトップ インターフェイスのスナップショットのことです。
この攻撃で使用されるペイロードは2016年11月17日のペイロードに酷似していましたが、振る舞いにごくわずかな違いが現れました。また、新たな標的となった組織に特化したアカウント資格情報が、ハードコーディングされた形でペイロードに含まれていました。ハードコーディング済みのアカウント資格情報がWindowsパスワードの複雑度要件を満たしていたことから、脅威の攻撃者が2016年11月17日の攻撃に類似する、以前の、別の攻撃でこうした資格情報を入手したものと思われます。
この最新のサンプルについていちばん目を引くのは、華為(ファーウェイ)の公式文書にあったいくつかのユーザー名とパスワードがこのサンプルの中に含まれていることです。この公式文書はFusionCloudをはじめとする同社の仮想デスクトップ インフラストラクチャ(VDI)に関連するものです。VDIソリューションは、ワイプされたシステムのスナップショットをロードする機能を介して、Disttrackなどの破壊的なマルウェアに対してある程度の保護を提供できます。Shamoon攻撃者がこれらのユーザー名とパスワードを入手していた事実から、攻撃者が標的組織のこうした技術へのアクセス権を得たらすぐに破壊的な攻撃の影響を強めるつもりでいたことが伺えると言ってもいいでしょう。もしそのとおりであれば、これは大幅な進展であり、各組織はVDI導入に関連する資格情報を保護するために新たな防御措置を講じることを検討しなければなりません。
現時点で、資格情報を入手する目的でこのShamoon攻撃よりも前に行われたと私たちが睨んでいる攻撃について、詳細は一切分かりません。また、この攻撃における、新型で類似してはいるものの異なるDisttrackペイロードを配信するのに使われた配信方法についても、詳細は一切分かりません。
第2のShamoon 2攻撃
このDisttrackペイロードは新型であり、元のShamoon 2攻撃のものに類似してはいても別物でしたが、Shamoon 2に関連付けられている既知の第2の攻撃は、それでもやはりこのDisttrackペイロードを使用していました。具体的には、2016年11月29日に破壊的な活動を開始するよう設定された64ビット亜種を使用していました。初めてレポートされたShamoon 2攻撃で使われていたDisttrackサンプルと同様に、本件のDisttrackには、ワイパーおよび通信モジュールが実行形式ファイル内のリソースの中に保存された形で含まれていました。
下記の表1は、Disttrackペイロードがリソースからモジュールを抽出し復号化するのに使用する方法が変わらないことを示しています。しかし、リソース名が“X509”、“PKCS7”および“PKCS12”から“LANG”、“MENU”および“ICO”へと変更されていました。
コンポーネント | リソース名 | オフセット | サイズ | Base64キー |
ワイパー | LANG | 94399-14 = 94385 | 563712 | OWRKbTxrleYfLm… |
通信 | MENU | 218709-14 = 218695 | 187904 | QsCfQA6ze9CoOz… |
不明 | ICO | 不明 | 不明 | ijX7buB1FIjSn/0D… |
これまでのところ、私たちは“ICO”リソースを復号化しようと努力しましたが、Disttrackペイロードには関連付けられたキーがあるもののこのリソースを復号化し抽出するコードが含まれていなかったため、成功していません。
セキュリティ侵害を受けたネットワーク内での伝播
以前の攻撃と同様に、この攻撃におけるDisttrackペイロードはローカル ネットワーク(具体的には/24のネットワーク)上の別のシステムに拡散します。その手段は、正規のドメイン アカウント資格情報を使用してログインすること、Disttrackペイロード自身をシステムにコピーすること、および、コピーされたペイロードを実行するようスケジュール化したタスクを生成することです。この方法は以前のブログで検討したものと同じですが、この攻撃で使用されたアカウント資格情報は標的になった組織に固有ものものでしたし、ペイロードをリモート システムにコピーする際に使用されたファイル名は別のものでした。
正規のユーザー アカウント
16個のアカウント資格情報がDisttrackペイロード内にハードコーディングされた状態で発見されましたが、個々のユーザー アカウントと、それよりも広範囲の管理者アカウントとが混在しているようでした。1つのパスワードを除いて、パスワードはどれもWindowsパスワードの複雑度要件を満たしていました。具体的には、大文字と小文字を含み、さらに、数字と記号のいずれかまたは両方を含んでいました。一般的な管理者アカウントの1つがこのペイロードの中に見つかりましたが、これは2016年11月17日以降の最初のShamoon 2攻撃におけるDisttrackペイロードにもありました。このアカウントは標的になった組織に限定されたものというよりも、むしろ、ログイン資格情報を推測しようとして使用された可能性があります。これらの資格情報の存在から、脅威の攻撃者が事前攻撃を行って資格情報を入手した可能性が濃厚です。なぜなら、これらのパスワードが推測や総当たり攻撃で入手されることはありそうもないからです。
前述のとおり、最新のDisttrackペイロードを用いた新たな開発では、公式な文書内で、FusionCloudなどのHuaweiの仮想デスクトップ インフラストラクチャ(VDI)の管理者アカウントとして、複数のユーザー名とパスワードが見つかります。これは、標的にされた組織がHuawei VDIシステムの導入時にこれらの認証情報を使用していたことを示唆しているのかもしれません。Shamoonの攻撃者が、以前の攻撃でこれらの認証情報を取得していた可能性もあります。また、VDIインフラストラクチャへのログイン認証情報を推測しようとして、攻撃者がこれらのデフォルトのユーザー名とパスワードを含めた可能性もあります。
VDIソリューションは、ワイプされたシステムのスナップショットをロードする機能を介して、Disttrackなどの破壊的なマルウェアに対してある程度の保護を提供できます。また、FusionCloudシステムは、Windows専用のDisttrackマルウェアによるワイプの影響を受けないLinuxオペレーティング システム上で稼働しているため、Shamoonなどの攻撃に対する合理的な対抗手段とみなすことができます。ただし、攻撃者がアカウント認証情報を使用してVDI管理インターフェイスにログイン可能な場合は、VDI導入とスナップショットに対して手動で破壊的なアクティビティを実行できます。正規の認証情報、盗んだ認証情報、またはデフォルトの認証情報を使用したVDIソリューションの標的化は、管理者が認識し即座に評価および対処するための措置を講じるべき戦術を拡大する必要があることを意味しています。
新しいDisttrack名
ペイロードがそれ自体をリモート システムのSystem32フォルダ内にコピーするファイル名は、以前に報告された攻撃、特に、32ビット システムで“ntertmgr32.exe”を使用し、64ビット システムで“ntertmgr64.exe”を使用した攻撃のものとは異なっています。スケジュールされたタスクがリモート システム上でこれらのファイルを実行すると、“NtertSrv”という名前のDisttrackサービスが作成されます。2016年11月17日の攻撃で使用されたDisttrackペイロードによって作成されたサービス名“ntssrv”とは異なっています。図1にこれを示しています。
コマンド アンド コントロール
この攻撃に使用された通信モジュールは、通信するために使用可能なコマンド アンド コントロール(C2)サーバなしで設定されたため、むしろ足かせとなっています。使用可能なC2が欠落している点は、C2サーバとして使用するための設定内のIPアドレスが“1.1.1.1”だった、2016年11月17日の攻撃によく似ています。最初のShamoon 2攻撃で使われた使用できない“1.1.1.1”のC2と異なり、この通信モジュールでは、その設定内にC2サーバのIPアドレスやドメインが完全に欠落しています。
また、このサンプルでは、元の攻撃のようにファイル名“netinit.exe”を使用して通信モジュールをシステムに保存しておらず、以下のリストからランダムな名前を選択しています。
- caiaw00e.exe
- sbuvideo.exe
- caiaw00i.exe
- olvume.exe
- usinwb2.exe
- briaw005.exe
- fpwwlwf.exe
- epiaw003.exe
- briaw002.exe
- olvsnap.exe
- dmwaudio.exe
- briaw006.exe
- miWApRpl.exe
- caiaw00b.exe
- lxiaw003.exe
最後に、通信モジュールは、元のShamoon 2攻撃とは異なるファイル名を使用します。“%WINDOWS%\inf”フォルダ内の“usbvideo324.pnf”という名前のファイルにカスタム“kill time”を設定する代わりに、“dcT21x400i.pnf”というファイル名を使用しています。また、“netimm173.pnf”ではなく、“%WINDOWS%\inf”フォルダの“vsfnp7_6.pnf”という名前のファイルの内容をC2サーバに送信しています。
破壊
初期攻撃とほぼ同様に、使用可能なC2サーバの欠落は、このShamoon 2攻撃を実行する攻撃者の唯一の目的がデータとシステムの破壊であることを示唆しています。使用可能なC2なしでは、Disttrackペイロードがシステムのワイプを開始したときに、攻撃者はコマンドを実行してカスタム“kill time”を設定できません。つまり、ペイロードの強制は、ハードコード化された“kill time”に依存します。ハードコード化された日付は、この攻撃が、サウジアラビアの現地時間で2016年11月29日、午前1:30にシステムのワイプを開始するように設定されていたことを示しています。
2016年11月29日は火曜日だったため、休日や週末にかけて発生していた以前のShamoon攻撃と異なり、このkill timeは平日に発生していました。ただし、この攻撃は、組織のスタッフの大半が現場に揃う前のかなり早朝に発生させることで、影響を最大化しようと試みたようです。これは、検出と応答の時間枠を増やすことで攻撃の効率を高めるために、業務時間外に攻撃を実施したShamoon攻撃者と合致します。
Disttrackは、システム クロックが“kill time”を超えていることを検知すると、以下のランダムに選択されたファイル名のいずれかを使用してワイパー コンポーネントをシステムに保存します。
- pdwmtphw.exe
- caiaw00a.exe
- sdwprint.exe
- caiaw00d.exe
- kyiaw002.exe
- sdwscdrv.exe
- briaw00a.exe
- saiaw002.exe
- _mvscdsc.exe
- hdvmp32.exe
- _s3wcap32.exe
- hpiaw001.exe
- lxiaw004.exe
- cniaw001.exe
- lxiaw006.exe
- caiaw00f.exe
- newtvsc.exe
実行されると、ワイパー コンポーネントは、リソース セクションからカーネル ドライバを抽出し、172バイトのXORキーを使用して、それを復号化します。ワイパーは、カーネル ドライバ(SHA256: 5a826b4fa10891cf63aae832fc645ce680a483b915c608ca26cedbb173b1b80a)を“Windows\System32\Drivers”フォルダの“vdsk911.sys”という名前のファイルに保存します。その後、ワイパーは、図2に示すように、このファイルを使用して“vdsk911”という名前のカーネル ドライバ サービスを作成します。
カーネル ドライバは、EldoS Corporation製の64ビット バージョンの商用RawDiskドライバで、最初に報じられたShamoon 2攻撃の‘X509’リソース内にあるDisttrack 64ビット ペイロードから抽出された、“drdisk.sys”ドライバとまったく同じファイルです。Disttrackペイロードはこのカーネル ドライバを使用してマスター ブート レコード(MBR)、パーティション テーブル、システム上のファイルやフォルダにアクセスし、以前のShamoon 2攻撃と同様、亡くなったシリア人の男の子の画像でそれらを上書きします。
弊社の分析は、今回もワイパーがシステム時間を2012年8月1日から8月20日のランダムな日付に設定していることを明らかにしています。これは、図3に示されています。以前のブログでお伝えしたように、ワイパーがシステム時間を2012年8月のランダムな日付に設定する理由は、RawDiskカーネル ドライバの使用には一時ライセンス キーが必要になるからです。この攻撃で使用される一時ライセンス キーは、最初の攻撃のものとまったく同じです。
元のブログの執筆以降に、ライセンス キーの復号化に成功しました。このことは、図4に示されています。一時ライセンス キーの有効期限日は8バイト フィールド(オレンジ色のボックスで強調表示されている)で、MicrosoftのFILETIME構造に対応しています。この構造は、1601年1月1日(UTC)からの100ナノ秒間隔の数を表しています。Shamoon関連のすべての攻撃で使用される一時ライセンス キーでは、有効期限日が2012年8月30日の8:34:29 (UTC)に設定されています。ワイパーがシステム時間を2012年8月1日から8月20日のランダムな日に設定するのは、この理由によります。また、一時ライセンス キーは“binnatova@bsunanotechnology.com”に登録されていることが判明しました。この電子メール アドレスが侵害されたのは2012年当時で、RawDiskの一時ライセンスを取得するために攻撃者が利用したものと推測されるため、このアドレスがShamoonにどのように関与しているかは不明です。
MBR、パーティション テーブル、ファイルが上書きされた後、ワイパーはコマンド“shutdown -r -f -t 2”を実行して、システムを再起動します。これは、最初のShamoon 2攻撃で使用されたコマンドと同じです。図5は、このコマンドを実行したことでポップアップされるダイアログ ボックスを示しています。その後すぐにシステムが再起動します。
システムを再起動する目的は以前と同様です。システムを正常に起動するために必要なハード ディスクやファイルシステムの各部分がJPEG画像で上書きされるにつれ、システムは起動できなくなります。図6は、オペレーティング システムを検出できなくなった後の分析仮想マシンにおける再起動の結果を示しています。
MBRがJPEG画像で上書きされたため、オペレーティング システムはロードできません。図7に示すように、通常はマスター ブート レコードが格納される物理ハード ディスクのセクター0に、“JFIF”マジック バイトでマークされている(2つのオレンジ色のボックスで囲まれている) JPEGファイルの先頭部分が格納されるようになります。
結論
Shamoon 2に関連付けられた2つ目のDisttrackペイロードの分析は、この攻撃活動において、攻撃者がサウジアラビアにある第2の組織を標的としたことを示唆しています。攻撃者は、Disttrackペイロードを使用してローカル ネットワーク上の他のシステムへの感染拡大を試みる際に、正当な資格情報を利用していました。正当な資格情報は、標的となった組織に固有の複雑なものであったため、その資格情報を入手するために、攻撃者が以前にも攻撃を仕掛けたことがあることが示唆されます。また、HuaweiのVDIソリューション向けの公式な文書に記載されている資格情報がハードコーディングされていたことから、攻撃者が、そのインフラストラクチャをホスティングするアプライアンスにアクセスできたものと推測されます。Disttrackワイパーは、2016年11月29日の午前1:30にシステムの上書きを開始するよう設定されていました。これは、標的となる組織の現場で対応可能な人員やリソースが限られる時間に攻撃を絞ることでその影響を最大化させるという、Shamoon攻撃者の戦術と合致します。
Palo Alto Networksのお客様は、次の方法で、この攻撃で使用されるDisttrackペイロードから保護されます。
- WildFireがDisttrackサンプルを悪意のあるものとして適切に分類します。
- Virus/Win32.WGeneric.ktotoの脅威プロテクションAVシグネチャが新しいペイロードを検出します。
- AutoFocusのお客様は、Disttrackタグを使用してDisttrackの活動を監視できます。
セキュリティ侵害の兆候
ハッシュ
010d4517c81bcdc438cb36fdf612274498d08db19bba174462ecbede7d9ce6bb (64-bit Disttrack)
efd2f4c3fe4e9f2c9ac680a9c670cca378cef6b8776f2362ed278317bfb1fca8 (通信)
113525c6bea55fa2a2c6cf406184092d743f9d099535923a12cdd9b9192009c4 (ワイパー)
5a826b4fa10891cf63aae832fc645ce680a483b915c608ca26cedbb173b1b80a (vdsk911.sys)
ファイル名
ntertmgr32.exe
ntertmgr64.exe
vdsk911.sys
dcT21x400i.pnf
vsfnp7_6.pnf
caiaw00e.exe
sbuvideo.exe
caiaw00i.exe
olvume.exe
usinwb2.exe
briaw005.exe
fpwwlwf.exe
epiaw003.exe
briaw002.exe
olvsnap.exe
dmwaudio.exe
briaw006.exe
miWApRpl.exe
caiaw00b.exe
lxiaw003.exe
pdwmtphw.exe
caiaw00a.exe
sdwprint.exe
caiaw00d.exe
kyiaw002.exe
sdwscdrv.exe
briaw00a.exe
saiaw002.exe
_mvscdsc.exe
hdvmp32.exe
_s3wcap32.exe
hpiaw001.exe
lxiaw004.exe
cniaw001.exe
lxiaw006.exe
caiaw00f.exe
newtvsc.exe
サービス名
NtertSrv
vdsk911