This post is also available in: English (英語)

概要

Playful Taurusは日常的にサイバースパイ活動を行う中国の持続的標的型攻撃グループです。APT15、BackdoorDiplomacy、Vixen Panda、KeChang、NICKELの名前でも知られています。このグループは少なくとも2010年には活動を開始しており、歴史的に北南米、アフリカ、中東の政府機関や外交機関を標的にしてきました。

2021年6月、ESETは同グループがツールキットを更新し、Turianと呼ばれる新たなバックドアを搭載したと報告しました。このバックドアの開発は現在も活発に行われています。私たちはこのツールはもっぱらPlayful Taurusのアクターだけが使用していると評価しています。このケイパビリティの進化につづき、最近私たちは同バックドアの新たな亜種と、新たなコマンド&コントロール(C2)インフラを確認しました。これらのサンプルと悪意のあるインフラへの接続の両方を分析した結果、Playful Taurusがイラン政府のネットワークを複数侵害した可能性が高いことが示されました。

パロアルトネットワークスのお客様は、高度なURLフィルタリングDNSセキュリティCortex XDRWildFireのマルウェア解析を通じ、本稿で説明する脅威から保護されています。

本稿で取り上げる脅威アクターグループ名 Playful Taurus, APT15, BackdoorDiplomacy, Vixen Panda, NICKEL

Playful Taurusのインフラ

2021年、vpnkerio[.]comというドメインがアフリカや中東の外交機関や通信会社を標的としたPlayful Taurusキャンペーンの一部であることが確認されました。それ以来このドメインとその関連サブドメインは新たなIPアドレスにホスト先を移行しています。注目すべきは複数のサブドメインが現在152.32.181[.]16に解決されることです。

このIPアドレスを分析したところ、セネガルの外務省(CN=diplosen.gouv[.]sn)に関連すると思われる期限切れのX.509証明書が確認されました。

Playful Taurusのものと疑われるX509証明書

SHA-1 cfd9884511f2b5171c00570da837c31094e2ec72
発行日 2020-04-23
有効期限 2021-04-29
一般名(CN) diplosen.gouv[.]sn
組織(O) DigiCert, Inc.
SSLバージョン 3
市町村名(L) Dakar
国名(C) SN

表1 Playful Taurusのものと疑われるX509証明書

この証明書は2021年4月に期限が切れているにもかかわらず、最近のインフラに継続的に関連づけられていました。たとえば、この証明書が最初に観測されたのは152.32.181[.]16で、期限切れから丸1年が経過した2022年4月でした。偶然にも同じ月、vpnkerio[.]comのサブドメインがこのIPアドレスに解決されるようになりました。

この証明書に関連するすべてのIPアドレスを調査した結果、この証明書は当初、セネガル政府の正規のものとおもわれるインフラと関連付けられていたことがわかりました。この関連付けは2021年4月の認証失効まで一貫していましたが、有効期限が切れた後は9つの異なるIPアドレスと関連付けられていました。9つのうち8つは、Playful Taurusのドメインをホストしています。

観測された活動

悪意のあるインフラへの接続を監視したところ、2022年7月から12月下旬にかけて、以下の4つのイラン組織が152.32.181[.]16への接続を試みていたことが確認されました。

イランからPlayful Taurusインフラへの接続

IPアドレス 組織
109.201.27[.]66 イラン政府のインフラ
185.4.17[.]10 イラン外務省のインフラ
37.156.28[.]101
37.156.29[.]172
イラン政府のものと考えられるインフラ
31.47.62[.]201 イランの天然資源組織

表2 イランからPlayful Taurusインフラへの接続

Playful Taurusが管理するインフラとの接続が毎日続いていることから、これらのネットワークが侵害されている可能性が高いことが示唆されます。さらにこれらの対象は同グループによる過去の標的選定パターンとも一致しています。

侵害

表2のイランのインフラを調査していると、最初のIPアドレス(109.201.27[.]66)が2019年5月から11月にかけて、イラン外務省の正規ドメインと思われるドメイン(pro.mfa[.]ir)をホストしていることがわかりました。このIPアドレスは、イラン政府のほかのドメインをホストしているネットブロックにも存在しています。

ところが2021年9月以降、このIPアドレスはドメインmfaantivirus[.xyz]をホストしています。イラン政府の正規のドメインをホストしているIPとネットブロックが、トップレベルドメイン(TLD) .xyzを使うのは奇妙です。

mfaantivirus[.]xyzの登録記録を見ると、ほかに8つのドメインしか登録していない組織が当該ドメインを登録したことがわかります。mfaantivirus[.]xyzを含む3つのドメインはイラン政府のネットブロックにホストされている点が目を引きます。イラン政府のインフラでホストされているほかの2つのドメインは以下の通りです。

登録組織の重複

IP ドメイン 所有者
109.201.27[.]67 pfs1010[.]xyz イラン外務省

PTR: cp.econsular[.]ir

109.201.19[.]184 pfs1010[.]com イラン外務省

表3 mfaantivirus[.xyz]と登録組織が共通するドメイン

表3の1つめのIPアドレスはcp.econsular[.]irへのDNS逆引きレコード(PTR)を含み、2つめのIPアドレスのnetnameは「Foreign Ministry of Iran(イラン外務省)」です。このことから両IPアドレスともイラン政府との関連が示唆されます。

これを踏まえ、これらのIPアドレスをさらに分析した結果、2つのX.509証明書との関連が判明しました。一番古い証明書はpfSenseに関連しているようで、2019年の8月に1日だけこれらのIPアドレスと関連付けられていました。このことからこれら2つのpfs1010.*ドメインはpfSenseファイアウォールに似せて作られたものと考えられます。mfaantivirus[.]xyzというドメイン名の使用も、Ministry of Foreign Affairs (外務省、MFA) + AntiVirus (ウイルス対策)という組み合わせから、セキュリティというテーマにゆるく合致しています。

表3のIPアドレスと関連する2つめの証明書は、共通名(CN)がwww.netgate[.]comの自己署名証明書です。NetgateはpfSenseを開発したRubicon Communicationsの商号で、ここにもpfSenseというテーマへのこだわりがみられます。以下はこの証明書に関連する情報です。

NetgateのX.509証明書

SHA-1 1cf1985aec3dd1f7040d8e9913d9286a52243aca
発行日 2022-04-21
有効期限 2032-04-18
一般名(CN) www.netgate[.]com
組織(O) netgate
SSLバージョン 1
市町村名(L) New York
州/行政区分(ST) New York
国名(C) United States

表4 Playful Taurusのものと疑われる2つめのX509証明書

この証明書に関連する悪意のあるIPアドレスがさらに5つありますが、注目したいのは次の2つです。

2つめのX509証明書 - IPアドレスのつながり

IP 所有者
151.248.24[.]251 NYNEX satellite OHG

以前の証明書: portal-Share.mfa[.]new

158.247.222[.]6 Constant Company VPS

表5 2つめのX509証明書 - IPのつながり

1つめのIPアドレスはかつてportal-Share.mfa[.]newの証明書を参照していたことがあり、ドメイン名からは「外務省(MFA)」との関連性が示唆されます。2つめのIPアドレスはThe Constant Companyが所有する仮想専用サーバー(VPS)のものです。この2つめのIPアドレス(158.247.222[.]6)は、2022年7月7日から2022年10月11日までドメインwww[.]delldrivers[.]inをホストしていました。このドメインはTurianバックドアのサンプルと関連しています。

以上をまとめ、私たちはイラン政府のインフラがPlayful Taurusの既知のコマンド&コントロール(C2)サーバーに対する接続を確立していることを確認しました。イラン政府のIPアドレスの1つを元に探索を行い、Playful Taurusの2つめのC2サーバーと重複する証明書をホストしているインフラを追加で特定しました。

Turianバックドア

ドメイン*.delldrivers[.]inを分析した結果、以下のマルウェアサンプルが特定されました。

ファイルの詳細

ファイル名 dellux[.]exe
作成日時 2022-06-27 01:25:26 UTC
SHA256 67c911510e257b341be77bc2a88cedc99ace2af852f7825d9710016619875e80
接続 update.delldrivers[.]in

表6 Turianサンプルのファイル詳細

このサンプルは2022年11月12日と13日にイラン内の投稿者からVirusTotalにアップロードされたものです。さらにこれらの投稿者はイラン外務省との関係を示唆するファイルやURLをアップロードしていることが確認されました。

技術的分析

このサンプルはVMProtectでパックされていることがわかりました。ただし最終ペイロードは仮想化されておらず、結局はペイロードの.textセクション、.dataセクション、.rdataセクションへとアンパックされるようになっていました。残念ながらVMProtectはサンプル内のAPI呼び出しをすべて難読化しています。そのためAPIが呼び出されるたび、実行は.vmp0セクションにジャンプし、インポートを解決してから実行されます。

このサンプルの機能はAPIの難読化のせいで分析しづらいのですが、アンパックされた.dataセクション内の文字列を使えば探索を続けられます。この文字列で「同じ機能を含み、かつ、VMProtectでパックされていないサンプル」をさらに特定できるからです。

これらの文字列のほかにこのサンプルにはかなりユニークなXOR復号関数も含まれています(図1参照)。これは埋め込まれているC2サーバーのupdate.delldrivers[.]inを復号するのに利用されます。

画像1はユニークなXOR復号アルゴリズムを示す多数のコード行のスクリーンショットです。
図1. かなりユニークな復号アルゴリズム

同様のアルゴリズムは2014年にNeshtaファイルインフェクターで確認されています。このアルゴリズムで暗号化されたデータは図2に示すPythonのスニペットで復号できます。

画像2は、Neshtaファイルインフェクターに関連するアルゴリズムを復号するために使用できるPythonコードの多くの行のスクリーンショットです。
図2. Pythonデータ復号ツール

アルゴリズムのバイトパターン{69 D2 05 84 08 8A 1C 30 42 32 DA 88 1C 30}を軸足に、さらに2つのマルウェアサンプルを特定できます。

ファイルの詳細

ファイル名 scm[.]exe
種類 EXE
作成日時 2022-04-28 02:56:26 UTC
SHA256 8549c5bafbfad6c7127f9954d0e954f9550d9730ec2e06d6918c050bf3cb19c3
接続 scm.oracleapps[.]org

表7. アルゴリズムのバイトパターンを軸に1つめのサンプルのファイル詳細を特定

ファイルの詳細

種類 DLL
作成日時 2022-06-18 14:43:13 UTC
SHA256 ad22f4731ab228a8b63510a3ab6c1de5760182a7fe9ff98a8e9919b0cf100c58
接続 update.adboeonline[.]net

表8 アルゴリズムのバイトパターンを軸に2つめのサンプルのファイル詳細を特定

Turianとのリンク

C2インフラの命名規則が酷似している点を措くとしても、これらサンプルのコードベースをVMProtectのサンプルと比べると機能面での明らかな重複がみられます。

これらはコードベースがほぼ同一なのでDLLではなく実行ファイルを中心に分析することにしたのですが、その前にDLLも見てみるといくつか平文の文字列があることに気づきました。

画像3はDLLに含まれる平文文字列のスクリーンショットです。

同様の文字列を持つサンプルを検索すると、さらに2つのサンプルが見つかりました。

ファイルの詳細

種類 DLL
作成日時 2022-04-28 02:56:26 UTC
SHA256 5bb99755924ccb6882fc0bdedb07a482313daeaaa449272dc291566cd1208ed5
接続 127.0.0.1

表9 レジストリ文字列から探索して見つけた1つめのサンプルのファイル詳細

ファイルの詳細

種類 x64 DLL
作成日時 2022-06-18 14:43:13 UTC
SHA256 6828b5ec8111e69a0174ec14a2563df151559c3e9247ef55aeaaf8c11ef88bfa
接続 mail.indiarailways[.]net

表10 レジストリ文字列から探索して見つけた2つめのサンプルのファイル詳細

これらのサンプルはVirusTotal上でLinux版のTurianバックドアのAPT_MAL_LNX_Turian_Jun21_1としてタグ付けされています。これらのサンプルは明らかにLinuxシステム用ではありませんでしたが、このタグが私たちの注意をTurian/Quarianバックドアに関する過去の報告書に向けてくれたおかげで、dellux.exeサンプルとTurianとのリンクが確立されました。

更新された亜種

私たちのTurianサンプルと以前報告されたTurianサンプルとの主な違いをみてみると、私たちが確認したサンプルのほうがバージョンが新しいようで、難読化が追加されてネットワークプロトコルが変更されていました。

主な違いの1点目はC2の復号アルゴリズムです。以前報告されたTurianサンプルでは、ハードコードされた「0xA9」のような1バイトとXORすることでC2を復号していました。

画像4はハードコードされたバイト「0xA9」を示す5行のコードのスクリーンショットです。

ところが私たちのdellux.exeのサンプルでは明らかにアルゴリズムを更新しています。

さらにこれまでTurian/Quarianバックドアが使っていたネットワークプロトコルにはきわだった特徴があり、とくに最初の鍵交換でその特徴が顕著でした。ところが私たちの亜種ではネットワークプロトコルが変更され、Security Support Provider Interface(SSPI)が使用されるようになりました。

起動時、TurianはInitSecurityInterfaceA()を呼び出してSSPI Dispatch Tableへのポインタを取得してからAcquireCredentialsHandleA()を呼び出します。次に、標準のWinsock APIでリモートC2に対してソケットを開き、connect()を呼び出して接続を確立します。

接続が確立するとTurianはC2とSSLハンドシェイクを実行します。SSLハンドシェイクはInitializeSecurityContextA()を呼び出して行います。これによりC2 サーバーに送信するトークンが返ってきます。

送信後、Turianは5バイトの応答(SSL/TLSレコードヘッダー)を待ちます。このレスポンスには、最初のヘッダーの後にC2 サーバーから受信するデータ長も含まれます。残りのデータがべつのInitializeSecurityContextA()の呼び出しに渡されてからリターンします。この時点でハンドシェイクが成功してセキュアな通信を開始できます。

C2サーバーに送信するパケットはすべて、「0x56」という鍵でXOR処理してからEncryptMessage()APIで暗号化します。受信するパケットに対しても同様の処理を行い、DecryptMessage()でデータを復号してから0x56でXOR処理します。

更新されたバックドアでは、通信先のC2更新からコマンド実行、リバースシェルの生成にいたるまで、かなり汎用的な機能を提供しています。他のTurian亜種と大きく異なるのはコマンドIDです。以前は0x01から始まって順番に並んでいましたが、この亜種ではIDがランダム化されているようです。

コマンド表

0xBC5B クリーンアップ
0xA8CB C2を更新
0x9D58 コマンド実行
0x9A3C ファイルエクスプローラーのスレッドを生成
0x7C0D (不明)
0x6394 フラグを設定
0x74D2 (不明)
0x53A6 システム情報を取得
0x26CD リバースシェルのスレッドを生成

表11 更新されたTurianのコマンド

結論

Playful Taurusはその戦術とツールを進化させ続けています。最近のTurianバックドアの更新や新たなC2インフラは、これらのアクターがサイバースパイ活動で成功を収め続けていることを示唆しています。これらのサンプルと悪意のあるインフラへの接続を分析した結果、イラン政府のネットワークが侵害された可能性が高いことがわかりました。それと同時に、Playful Taurusは北南米やアフリカ、中東などの政府・外交機関に対しても日常的に同じ戦術・技術を展開している点にも注意すべきでしょう。

パロアルトネットワークスはファイルサンプルや侵害の兆候などをふくむこれらの調査結果をCyber Threat Alliance (CTA) のメンバーと共有しました。CTA のメンバーはこのインテリジェンスを使用して、お客様に保護を迅速に提供し、悪意のあるサイバー攻撃者を体系的に阻害できます。詳細についてはCyber Threat Allianceにてご確認ください。

保護と緩和策

パロアルトネットワークス製品をご利用のお客様は、弊社の製品・サービスにより本グループに関連する以下の対策が提供されています。

  • クラウドベースの脅威分析サービスであるWildFireは、本稿で取り上げたTurianマルウェアを「悪意のあるもの(malicious)」として正確に識別します。
  • 高度なURLフィルタリングDNSセキュリティは、Playful Taurusに関連するドメインを悪意あるものとして識別します。
  • Cortex XDRは既知の悪意のあるマルウェアサンプルが実行されるのを防止します。また、Behavioral Threat Protection (振る舞い脅威防御)とCortex 3.5でリリースされた新たなメモリ内シェルコード保護によりTurianマルウェアの実行を防止します。

侵害の懸念があり弊社にインシデントレスポンスに関するご相談をなさりたい場合は、infojapan@paloaltonetworks.com まで電子メールにてご連絡いただくか、下記の電話番号までお問い合わせください(ご相談は弊社製品のお客様には限定されません)。

  • 北米フリーダイヤル: 866.486.4842 (866.4.UNIT42)
  • 欧州: +31.20.299.3130
  • アジア太平洋: +65.6983.8730
  • 日本: +81.50.1790.0200

IoC

インフラ

152.32.181[.]16
158.247.222[.]6
vpnkerio[.]com
update.delldrivers[.]in
scm.oracleapps[.]org
update.adboeonline[.]net
mail.indiarailways[.]net

Playful Taurusの証明書のSHA-1

cfd9884511f2b5171c00570da837c31094e2ec72
1cf1985aec3dd1f7040d8e9913d9286a52243aca

TurianサンプルのSHA-256

67c911510e257b341be77bc2a88cedc99ace2af852f7825d9710016619875e80
8549c5bafbfad6c7127f9954d0e954f9550d9730ec2e06d6918c050bf3cb19c3
5bb99755924ccb6882fc0bdedb07a482313daeaaa449272dc291566cd1208ed5
ad22f4731ab228a8b63510a3ab6c1de5760182a7fe9ff98a8e9919b0cf100c58
6828b5ec8111e69a0174ec14a2563df151559c3e9247ef55aeaaf8c11ef88bfa

追加リソース

Enlarged Image