Olympic Destroyerの内部構造を紐解く | 技術者ブログ | 三井物産 セキュアディレクション株式会社 Archived: 2026-04-05 15:17:41 UTC 2月8日から韓国で開催されている平昌オリンピックが日々世間を賑わせているさなか、平昌オリンピ ックを狙ったサイバー攻撃に関する情報が水面下で流れています。 2月9日頃から平昌オリンピック組織委員会の内部でシステムトラブルが発生していた問題で、2月11日 になり平昌オリンピック組織委員会から一連の障害はサイバー攻撃によるものと明らかにされまし た。 また、CiscoのTalosはこの攻撃に用いられたとみられるマルウェア「Olympic Destroyer」(オリンピッ ク・デストロイヤー)に関する情報を公開しました(※1)。(なお、Talosは公開時点で当該情報を中 程度の信頼度としています) (※1:Olympic Destroyer Takes Aim At Winter Olympics:http://blog.talosintelligence.com/2018/02/olympic-destroyer.html) 我々は「Olympic Destroyer」とされている検体の一つを入手し、独自に解析を進めた結果、調査時点で 新たにいくらかの興味深い解析結果が見えてきたため、以下にマルウェアの全体像と共にまとめて共 有します。 「Olympic Destroyer」の構成図 Olympic Destroyerの本体は実行形式(EXE)ファイルであり、自身の内部(リソースセクション)に5 つの難読化されたファイルを保有しています。これらのファイルはそれぞれ目的をもったEXEファイ ルであり、必要に応じて復号・使用されます。 https://www.mbsd.jp/blog/20180215.html Page 1 of 10 図1 Olympic Destroyerの構成図 リソースファイルの一部には、昨年度話題となった「NotPetya」と同様に、正規プログラムである 「PsExec」を横展開時に利用するために難読化して保有しています。 https://www.mbsd.jp/blog/20180215.html Page 2 of 10 図2 リソースセクションに埋め込まれているPsExec 「Olympic Destroyer」の挙動 Olympic Destroyerは、実行されると、%temp%フォルダに以下のEXEファイルを作成します。 %temp%\<ランダムな文字列>.exe ・・・(1)パスワードダンプツール①(ログイン情報用) %temp%\<ランダムな文字列>.exe ・・・(2)パスワードダンプツール②(ブラウザ情報等用) %temp%\<ランダムな文字列>.exe ・・・(3)PsExec(正規プログラム/リモート実行ツール) %temp%\<ランダムな文字列>.exe ・・・(4)ワーム活動・証拠隠滅・障害活動 まず(1)と(2)のEXEファイルを実行することで、OSのログイン情報および、ブラウザの保存情 報などの各種ログイン情報・パスワード情報を取得します。 次に、(3)と(4)のEXEファイルを利用してネットワークを介したワーム活動と破壊活動を行い ます。具体的には、GetIPNetTableによりARPテーブル情報を取得し、WMI(”SELECT ds_cn FROM ds_computer”クエリ)を利用して得られた端末一覧情報を取得、それらの宛先に対し、自身が上記でド ロップしたPsExecを利用することでリモート先への自身のコピー及びリモート実行を行う事で横展開 (ワーム活動)を行います。その際上記で摂取したログイン情報を横展開のアクセス試行に利用しま す。 https://www.mbsd.jp/blog/20180215.html Page 3 of 10 (4)のEXEファイルは横展開の動作を終えると、以下の証拠隠滅および破壊活動に関わる動作を行 います。 ボリュームシャドーコピー(システムの復元)の削除 システムバックアップの削除(wbadminによる) OSのスタートアップ修復の無効化 イベントログ(SYSTEMおよびSECURITY)の削除 全てのサービスの無効化 ファイル共有されているファイルの一部を0で上書き破壊 これらの破壊動作を行った後、強制的に端末をシャットダウンします。 図3 破壊活動に関連した処理を行うコード領域 図4 全てのサービスを停止させる挙動 https://www.mbsd.jp/blog/20180215.html Page 4 of 10 以下は、ファイル共有されているファイルを上書きする処理ですが、先頭から一部だけ上書きするこ とでファイルヘッダを破壊しつつ書き込みサイズを抑え効率的にファイルを破損させていきます。フ ァイルを破壊する際、ファイルの内容を事前に読み込む処理がないため、復元を予定した暗号化等の 処理ではなく単純な破壊目的であることがわかります。 図5 ファイルを一部のサイズだけ0で上書きする処理 一方Olympic Destroyer本体は、上記(4)のEXEファイルの動作と並行して自身の隠蔽(消滅)を行い ます。具体的には、正規プログラムである「notepad.exe」を隠し状態で起動しWriteProcessMemoryによ りコードインジェクションを実施、CreateRemoteThreadで「notepad.exe」内に書き込まれたコードを実 行します。そのコードにより、Olympic Destroyerの本体が削除されます。(なおその際、Olympic Destroyerの本体は意味のないデータで内容を上書きされた上で削除されます。これには、フォレンジ ックを困難にさせる目的があると推測されます。)その後、notepad.exeは終了します。 図6 notepad.exeにインジェクションされたコードが本体を削除する部分 Olympic Destroyerの主な挙動は以上であり比較的シンプルなものとなっています。 摂取した情報をC&Cサーバ等へ流出させる動作やバックドアに類似するような挙動などは持ち合わせ ていません。また、明確な破壊活動と容易に判断できるようなMBRの破壊や大量ファイルの暗号化等 の挙動なども持ちません。これらのことから、あくまで感染したコンピューターに「システム障害」 が発生したと思わせ被害者側を混乱させる目的等があったと推測することができます。 https://www.mbsd.jp/blog/20180215.html Page 5 of 10 なお一連の感染が行われた後、コンピューターは起動させると以下のようにOSの起動画面とブルース クリーンが繰り返し表示され正常に使用することが困難となることを確認しています。 図7 Olympic Destroyerに感染しシャットダウンした後のPCの起動様子(Windows7 x86環境) 解析で見えた注目すべきポイント1(管理者権限で実行される前提の作りと侵 入経路) Olympic Destroyerは、LSASSからの認証情報窃取やvssadmin等を利用した破壊活動の挙動があります が、これらの操作の一部は管理者権限でないと実行することができません。また一方で、実行された 時点で自身のプロセスが管理者権限を持っていない場合UACを表示させるなどの権限昇格を要求する 挙動も見られません。つまり一般に確認されているOlympic Destroyerの検体ははじめから管理者権限で 実行されることを前提とした作りになっているようにみえます。本記事執筆時点でOlympic Destroyerの 侵入経路は明らかになっていませんが、管理者権限での動作が前提となっていることを考慮すると、 Olympic Destroyerには管理者権限を持ったさらに一段階上の階層となるドロッパー(親検体)がいた か、脆弱性を悪用した権限昇格による攻撃を用いた侵入経路が想定できます。ただし、管理者権限の 実行権限がなくとも(権限がないことにより一部の処理に失敗しつつ)表面上はエラーなく一部の動 作(保有しているパスワードを用いた横展開等)は継続できることから、完全に動作しないというわ けではない点に注意が必要です。 解析で見えた注目すべきポイント2(取得したログイン情報の自身への埋め込 みによる利用) 現在一般に入手できるOlympic Destroyerの検体には、複数のログイン情報と思われる文字列がバイナリ に直接埋め込まれており、その多くが「Pyeongchang2018」というドメイン名と思われる文字列を含ん でいることがわかっています。 https://www.mbsd.jp/blog/20180215.html Page 6 of 10 図8 埋め込まれたログイン情報の概念図 図9 「Pyeongchang2018」という文字列が多くみうけられるログイン情報 我々の調査の結果、Olympic Destroyerは感染時に窃取したログイン情報(ユーザ名とパスワード)の文 字列を自身のバイナリの中間領域に埋め込んでいく挙動があることを確認しました。 窃取情報の埋め込みがバイナリの末尾ではなく中間領域であることからファイルサイズは変化しない ため、見逃してしまう可能性がある挙動の一つです。 https://www.mbsd.jp/blog/20180215.html Page 7 of 10 図10 Olympic Destroyerが感染するたびにログイン情報を埋め込んでいく概念図 以下は、実際に我々の検証環境で感染させた際の実行前後のOlympic Destroyerの差分結果ですが、パス ワードダンプツールにより摂取した情報を自身の内部に追記埋め込みしていることがわかります。 図11 Olympic Destroyerが感染するたびにログイン情報を埋め込んでいく実証図 つまり、感染が広まっていくに従いマルウェアのバイナリに埋め込まれたログイン情報が増えていく ことを意味します。この動作から、当初から一見ハードコーディングされたようにみえた複数のログ https://www.mbsd.jp/blog/20180215.html Page 8 of 10 イン情報は全て感染を重ねることで窃取され蓄積されたものと推測することができます。この推測が 正しいとした場合、Olympic Destroyerのバイナリに埋め込まれたログイン情報の数を確認することで、 おおよそどの時点の拡散検体なのか、また、初期感染時の端末を追う手掛かりになるかもしれませ ん。 その他の情報 昨年度はWannaCry、NotPetya、BadRabbitなど世界的に混乱を招く大きなマルウェアインシデントが発 生しましたが、それらの検体を解析してきた観点でOlympic Destroyerを見てみると、BadRabbitおよび NotPetyaに類似する挙動が一部垣間みえます。 例えば、以下は名前付きパイプによるプロセス間通信を用いた子プロセスとの連携に関わるコード部 分の比較ですが、リソース領域から一時的に必要なEXEを%temp%に復号し、GUIDをパイプ名に利用 した名前付きパイプによるプロセス間通信により必要な情報のみを取得して一時利用するといった処 理の流れがほぼ同一です。その他にも、リソースセクションを用いた必要ファイルの格納および展開 利用のテクニックや、PsExecを用いた横展開などいくらか気になる類似点があります。 https://www.mbsd.jp/blog/20180215.html Page 9 of 10 図12 NotPetya、BadRabbit、Olympic Destroyerのコード比較 当然、挙動やコードを類似させようとして意図的に作り上げることは可能なため、これらをもって何 かを断言できることではありませんが、興味深い調査結果の一つであるといえるでしょう。 ※本記事で使用した検体のハッシュ値は以下となります。 edb1ff2521fb4bf748111f92786d260d40407a2e8463dcd24bb09f908ee13eb9 吉川 孝志 の他のブログ記事を読む Source: https://www.mbsd.jp/blog/20180215.html https://www.mbsd.jp/blog/20180215.html Page 10 of 10