This post is also available in: English (英語)
概要
パロアルトネットワークスの脅威インテリジェンスチームUnit 42は、ある攻撃グループが、日本の知名度のある組織に対して、過去3年間にわたり複数のマルウェアファミリーを使用して、繰り返しサイバー攻撃を行っていることを発見しました。
このグループ「Tick」は、日本と韓国の組織に対して数年間サイバースパイ攻撃を行ってきました。防衛産業やハイテク産業のような知的財産や機密情報を持つ企業を攻撃対象にし、「Daserf」というカスタムマルウェアを使用していることで知られています。さらに、複数のツールを駆使して脆弱性をつくエクスプロイト攻撃を仕掛けるだけではなく、日本企業の慣習に倣い、礼儀正しい文章とあわせて拡張子の変更をお願いするという、ソーシャルエンジニアリング的な手法も利用しています。
Tickは、コマンド&コントロール(C2)インフラストラクチャについて、匿名性を保つためプライバシー保護サービスを通じて登録されたドメインを使用していましたが、最近の攻撃では侵入したWebサイトを使用しています。彼らは、複数のツールと匿名のインフラストラクチャを使用して、長年にわたり持続的な攻撃キャンペーンを実行しています。
Tickのツール
Tickについては、最初はシマンテックが、続いてラックが2016年にレポートを公表しました。これらのレポートでは、このグループのマルウェアであるDaserf (別名MuirimまたはNioupale)といくつかの追加のダウンローダープログラムについて議論されていました。この2つのレポートを公開した時点でDaserfは一般的に知られた攻撃ツールではありませんでしたが、このマルウェアの歴史は少なくとも2011年までさかのぼることができます。私達は、脅威インテリジェンスサービスAutoFocusを使用して、Daserfと別の2つの脅威「Invader」と「9002」との関連性を確認しました。これらの脅威は、2012年7月から2013年4月の間にインフラストラクチャ(C2サーバー)を共有しています。
図1 複数の脅威間でのC2サーバーの共有
Invader (別名Kickesgo)は、そのメインコードをexplorer.exeなどの正規のプロセスに注入するバックドアであり、以下の機能を持っています。
- キーストロークとマウスの動きをログに記録する
- スクリーンショットをキャプチャする
- cmd.exeシェルを開く
- プロセスを列挙する
- プログラムを実行する
- 自分自身を削除する
開いているすべてのTCPおよびUDPポートを列挙する
9002は、Palo Alto Networksを含むさまざまなセキュリティベンダーによって報告された標的型攻撃でよく見られる悪名高いRATです。興味深いことに、9002とDaserfを結び付けているC2サーバーは、2013年にFireEyeのAdobe Flashゼロデイ攻撃のレポートに記述されていました。これらのドメインは、2008年および2011年にプライバシー保護サービスを通じて登録されました。
- krjregh.sacreeflame[.]com
- lywja.healthsvsolu[.]com
この記事の執筆時点では、これらのマルウェアサンプルのターゲットについては不明ですが、弊社ではいくつかの理由から、同じグループがこれらの脅威の背後にあると疑っています。インフラストラクチャを共有するDaserfのサンプルは、2013年に複数回、日本からのみ脅威チェックサービスのVirusTotalに提出されています。後のセクションで説明するように、別のInvaderサンプルは、異なるC2サーバーをDaserfと共有していました。シマンテックは、TickはAdobe FlashとMicrosoft Officeの追加的な脆弱性を悪用していたと報告しました。SecureWorksは、攻撃者グループがエンドポイント上の日本のソフトウェア資産管理システムにおける未公開の脆弱性を悪用していると主張しました。このことから、Tickは、新しい独自のエクスプロイトを攻撃に導入していることが分かります。
Minzenと無名のバックドア
2016年7月、私達は、日本でDaserfの亜種をホストしていた脆弱なWebサイトを発見しました。このWebサーバーは、もう1つの脅威であるMinzen (別名、XXMM、Wali、またはShadowWali)用のC2サーバーでもありました。Minzenは、日本と韓国の侵害されたWebサーバーをよく使用しています。
KasperskyとCybereasonが最近掲載したように、Minzenは、そのリソースセクションまたは本体の設定データ内に32ビットと64ビットの両方のコンポーネントを持っているモジュラー型のマルウェアです。2016年12月に韓国で発見されたMinzenサンプル(SHA256: 9374040a9e2f47f7037edaac19f21ff1ef6a999ff98c306504f89a37196074a2)の1つは、脆弱なコンピューターに最終的なペイロードとして簡単なバックドアモジュールをインストールします。そして、TCPポートを開き、遠隔地にいるの攻撃者からコマンドを受け取ります。本体のデバッグパスによれば、ツールの作者は"NamelessHdoor"と呼び、その内部バージョンは"V1.5"と特定されています。
図2 Minzenのバックドアモジュールに残っていたデバッグパス
このペイロードは、10年以上にわたって一般公開されている「無名のバックドア(Nameless Backdoor)」に基づいています。弊社が特定できた最も古いコードは、2005年以降有名な中国のソースコード共有サイトでホストされていました。NamelessHdoorの作者は、不要な機能を削除してこのバックドアの追加バージョンを作成し、ReflectiveDLLLoaderからオープンソースのDLLインジェクション コードを追加したと思われます。
図3 中国のソースファイル共有サイトに投稿された無名のバックドア
2015年のCyphortのレポートを除き、この無名のバックドアに関する公開情報はほとんどありません。Cyphortの研究者は、アジアの金融機関に対する攻撃で発見された、Invader、Nioupale(Daserf)、Hdoorなど、複数の脅威を分析しました。弊社ではこのレポートにHdoorとして記載されているサンプルを調査し、Minzenのサンプルは、弊社内で発見していたNamelessHdoorの以前のバージョンであるものの、DLLインジェクションをサポートしていないものであることを突き止めました。
図4 2015年に見つかったNamelessHdoorサンプルの文字列
共有されたインフラストラクチャとカスタムGh0stの暗号コード
このレポートに記載されている別の興味深いサンプルは、dllhost.exeとShell64.dllです。Unit 42はこれと完全に同一のファイルは持っていませんが、これらに近い亜種を見つけました。特徴は以下の通りです。
- 同じリモートサーバーblog.softfix.co[.]kr:80に接続し、DLLファイルをダウンロードして、「lowmain」エクスポート機能を実行する、実行可能ファイル
- DLLファイルには、「lowmain」および「main」エクスポートがある
Unit 42が見つけたDLLファイルはGh0st RATの亜種をカスタマイズしたものであり、EXEファイルはRATをダウンロードすることが判明しました。ソースコードは公開されているので、Gh0st RATは複数の攻撃者によって長年にわたって使用されています。
ドメイン、softfix.co[.]kr は、2014年に登録されました。サブドメインの1つ、news.softfix.co[.]krは、Daserf(SHA256: 9c7a34390e92d4551c26a3feb5b181757b3309995acd1f92e0f63f888aa89423)のC2サーバーでした。別のサブドメイン、bbs.softfix.co[.]krは、bbs.gokickes[.]comと同じIPアドレスでホストされていました。これは、CyphortによってInvaderのC2サーバーとして報告されていました。また、www.gokickes[.]comが別のInvader亜種(SHA256: 57e1d3122e6dc88d9eb2989f081de88a0e6864e767281d509ff58834928895fb)のC2であることも確認しました。
インフラストラクチャに加えて、攻撃者はコードも共有していました。Gh0stダウンローダーは、文字列を隠すために簡単な置換暗号を採用しています。
図5Gh0stダウンローダーの復号化コード
この暗号は、以下に示す置換テーブルに基づいて、ある文字を別の文字に変換します。一例として、平文の文字「K」は暗号文で「5」に、「h」は「j」に変換されます。このテーブルを使用して、文字列「connect」は「zF((0za」にエンコードされました。
テキスト | 文字 |
平文 | KhL9V1ds5Z"QnfNC&Fb8xGr-()<>[]{}|+THce;0%7Oiz#W DE6qS?aw./BJlk,yUPjgI^@$*tumYA'p2RoX=v_:M43 |
暗号文 | 5j2Cnx^@$*(){}|+mX k3DK'LGchHNPgZ,z0T8_sRU7)<>"[lBpdfI#%bu;yt-YeoW?4vAMQVa.6qJi:=wFO9&/1ESr[TT1] |
表1 Gh0stダウンローダーで使用された置換テーブル
次のPythonスクリプトを使うと、エンコードされた文字列を解読できます。
1 2 3 4 5 6 7 8 |
plaintext = "KhL9V1ds5Z\"QnfNC&Fb8xGr-()<>[]{}|+THce;0%7Oiz#W DE6qS?aw./BJlk,yUPjgI\`^@$*tumYA'p2RoX=v_:M43" ciphertext = "5j2Cnx\`^@$*(]{}|+mX k3DK'LGchHNPgZ,z0T8_sRU7)<>\"[lBpdfI#%bu;yt-YeoW?4vAMQVa.6qJi:=wFO9&/1ESr" enc_string = "zF((0za" dec_strings = '' for c in enc_string: dec_strings += plaintext[ciphertext.find(c)] print dec_strings |
Daserf (SHA256: 01d681c51ad0c7c3d4b320973c61c28a353624ac665fd390553b364d17911f46)の亜種では、単純な置換暗号用の同じ置換テーブルが使用されています。他のTickツールでも非常によく似たテーブルを見つけました。文字列はこれらの脅威に固有のものなので、このグループに関係する開発者がこれらのツールを構築したと考えられます。ドメインとコードが共有されているため、Cyphortによって報告された攻撃はTickにつながりがあった可能性があります。以下のテーブルは、それぞれのマルウェアサンプルに関連していると特定されました。
Minzen (SHA256:26727d139b593486237b975e7bdf93a8148c52d5fb48d5fe540a634a16a6ba82):
1 2 |
plain text = "5j2Cnx`^@$*(]{}|+mX k3DK'LGc!hHNPgZ,z0T8_sRU7)<>"[lBpdfI#%bu;yt-YeoW?4vAMQVa.6qJi:=wFO9&/1ESr" cipher text = "KhL9V1ds5Z"QnfNC&Fb8xGr-()<>[]{}|+THce;0%7O!iz#W DE6qS?aw./BJlk,yUPjgI`^@$*tumYA'p2RoX=v_:M43" |
Datper (SHA256: 7d70d659c421b50604ce3e0a1bf423ab7e54b9df361360933bac3bb852a31849):
1 2 |
plain text = "KhL9V1ds5Z"QnfNC&Fb8xGr-()<>[]{}|+THce;0%7O!iz#W DE6qS?aw./BJlk,yUPjgI`^@$*tumYA'p2RoX=v_:M43" cipher text = "5j2Cnx`^@$*(]{}|+mX k3DK'LGc!hHNPgZ,z0T8_sRU7)<>"[lBpdfI#%bu;yt-YeoW?4vAMQVa.6qJi:=wFO9&/1ESr" |
パッチが適用されたファイルの暗号化プログラムを含むスピアフィッシング メール
またUnit 42は、Daserfといくつかのサーバーを共有しているマルウェアファミリー、HomamDownloaderを確認しました。これらの脅威間のつながりについて、以下で説明します。
図6 脅威とサーバー間のつながり
技術的な観点から見ると、HomamDownloaderは、興味深い特徴が少ない小さなダウンローダー プログラムです。HomamDownloaderは、Tickによってスピアフィッシング メールを介して配信されることが判明しました。攻撃者は、ターゲットとそれらの動作を把握した後、もっともらしいメールと添付ファイルを巧妙に作成しました。
下記のメールは、「新年のご挨拶」という件名で、個人メールアカウントから送信されました。このメッセージは、受信者に対して、添付ファイルの拡張子を"._X_"から".exe"に変更し、メールで指定されたパスワードで開いて、年賀状のeカードを表示するよう、礼儀正しい日本語で求めるものでした。
図7 HomamDownloaderを含むスピアフィッシング メール
日本企業にあまり詳しくない人にとっては、実行可能ファイルの添付ファイルのファイル拡張子が間違っている場合、この電子メールは疑わしく見えるでしょう。
しかし、これが正規のメールに見えてしまう場合もあります。多くの日本企業は、電子メールを介したデータの送付に、ファイル暗号化システムを導入しています。ユーザー指定のパスワードで文書を暗号化し、受信者へのファイルの復号化を容易にするために自己解凍(SFX)ファイルを作成するものです。パスワード付きのSFXファイルを電子メールで送信する場合、電子メールゲートウェイまたはセキュリティ製品による添付ファイルのブロックや検出を避けるため、通常、送信者はファイル拡張子を.exeから他のものに変更します。
攻撃者は、日本企業のユーザーが添付ファイル付き電子メールをこのような方法で交換していることを知っている可能性があり、それに倣って巧妙なスピアフィッシング メールを仕掛けています。
ソーシャルエンジニアリング(人間の社会的行動を利用して機密情報を入手すること)を利用した電子メールに加えて、攻撃者は添付ファイルにもトリックを使っています。この攻撃者は、ファイル暗号化ツールによって作成された正当なSFXファイルのリソース セクションに悪意のあるコードを埋め込み、SFXプログラムの開始直後に悪意のあるコードにジャンプするため、プログラムのエントリーポイントを変更しました。悪意のあるコードはHomamDownloaderをドロップした後、コード セクションの通常のフローに戻り、次はユーザーにパスワードを要求し、ファイルを復号します。このため、一旦ユーザーが添付ファイルを実行し、SFXでパスワード ダイアログが表示されると、ユーザーがパスワード ウィンドウで[キャンセル]を選択しても、悪意のあるコードによってドロップされたダウンローダーが動作を始めます。ユーザーが後で感染を認識した場合、SFXに含まれている元の埋め込みファイルが無害であるため、原因を突き止めるのが難しい場合があります。
図8 パッチを適用したSFXファイルの実行フロー
結論
攻撃グループTickが見つかったのは昨年ですが、彼らは何年もの間、韓国と日本の様々な組織を積極的に、あまり目立たないように攻撃しています。ただ、標的とした日本のことをかなり詳しく調べて攻撃していることが想定されます。このグループの攻撃手口(TTP: Tool, Tactics, and Procedure)はいくつかこの記事で取り上げたものの、未だ明らかになっていないものがたくさんあります。
Palo Alto Networksのお客様は、次の方法でこれらの脅威から保護されています。
- 議論されたすべてのサンプルは、WildFireサンドボックス プラットフォームによって悪意のあるものとして分類されます。
- 特定されたすべてのドメインは悪意があるものとして分類されています。
- AutoFocusユーザーは、Tickキャンペーン タグとさまざまなマルウェア タグを使用して、このレポートで説明されているマルウェアを追跡できます。
- Trapsを実行しているお客様は、議論した脅威から保護されます。
IoC (セキュリティ侵害の痕跡)
SHA256
Daserf
- 04080fbab754dbf0c7529f8bbe661afef9c2cba74e3797428538ed5c243d705a
- f8458a0711653071bf59a3153293771a6fb5d1de9af7ea814de58f473cba9d06
- e8edde4519763bb6669ba99e33b4803a7655805b8c3475b49af0a49913577e51
- 21111136d523970e27833dd2db15d7c50803d8f6f4f377d4d9602ba9fbd355cd
- 9c7a34390e92d4551c26a3feb5b181757b3309995acd1f92e0f63f888aa89423
Invader
- 0df20ccd074b722d5fe1358b329c7bdebcd7e3902a1ca4ca8d5a98cc5ce4c287
- e9574627349aeb7dd7f5b9f9c5ede7faa06511d7fdf98804526ca1b2e7ce127e
- 57e1d3122e6dc88d9eb2989f081de88a0e6864e767281d509ff58834928895fb
9002
- 933d66b43b3ce9a572ee3127b255b4baf69d6fdd7cb24da609b52ee277baa76e
- 2bec20540d200758a223a7e8f7b2f98cd4949e106c1907d3f194216208c5b2fe
- 055fe8002de293401852310ae76cb730c570f2037c3c832a52a79b70e2cb7831
Minzen
- 797d9c00022eaa2f86ddc9374f60d7ad92128ca07204b3e2fe791c08da9ce2b1
- 9374040a9e2f47f7037edaac19f21ff1ef6a999ff98c306504f89a37196074a2
- 26727d139b593486237b975e7bdf93a8148c52d5fb48d5fe540a634a16a6ba82
NamelessHdoor
- dfc8a6da93481e9dab767c8b42e2ffbcd08fb813123c91b723a6e6d70196636f
Gh0stRAtダウンローダー
- ce47e7827da145823a6f2b755975d1d2f5eda045b4c542c9b9d05544f3a9b974
- e34f4a9c598ad3bb243cb39969fb9509427ff9c08e63e8811ad26b72af046f0c
Custom Gh0st
- 8e5a0a5f733f62712b840e7f5051a2bd68508ea207e582a190c8947a06e26f40
Datper
- 7d70d659c421b50604ce3e0a1bf423ab7e54b9df361360933bac3bb852a31849
HomamDownloader
- a624d2cd6dee3b6150df3ca61ee0f992e2d6b08b3107f5b00f8bf8bcfe07ebe7
C2
- lywjrea.gmarketshop[.]net
- krjregh.sacreeflame[.]com
- psfir.sacreeflame[.]com
- lywja.healthsvsolu[.]com
- phot.healthsvsolu[.]com
- blog.softfix.co[.]kr
- news.softfix.co[.]kr
- www.gokickes[.]com
- log.gokickes[.]com
- sansei.jpn[.]com