APTグループ「MirrorFace」が日本の政治団体を標的に実行したLiberalFace作戦の詳細
ESETの研究者は、2022年の参議院選挙の数週間前に日本の政治団体を標的としたスピアフィッシングキャンペーンが実行されていたことを発見しました。この攻撃の調査の過程で、MirrorFaceが認証情報を窃取するために利用しているツールを初めて発見しました。
Dominik Breitenbacher 16 December 2022
ESETの研究者は、2022年の参議院選挙の数週間前に日本の政治団体を標的としたスピアフィッシングキャンペーンが実行されていたことを発見しました。この攻撃の調査の過程で、MirrorFaceが認証情報を窃取するために利用しているツールを初めて発見しました。
Dominik Breitenbacher 16 December 2022
ESETが追跡しているAPTグループ「MirrorFace」が、2022年7月の日本の参議院選挙までの数週間にわたってスピアフィッシングキャンペーンを実行していたことが明らかになりました。ESETは、このキャンペーンを「LiberalFace作戦」と命名しました。このキャンペーンは、日本の政治団体を標的にしており、ESETの調査から、特定の政党の党会員がこのキャンペーンの重要な標的になっていたことがわかりました。ESET Researchは、12月上旬に開催された AVAR 2022 Conferenceで、このキャンペーンとその背後にいるAPTグループに関する詳細を公開しました。
MirrorFaceは中国語を使用するサイバー攻撃者で、日本に拠点を置く企業や組織を標的にしています。この攻撃グループは、APT10との関連性が疑われていますが、ESETは既知のAPTグループとの関係を特定できていません。そのため、このグループをMirrorFaceと命名し、個別のグループとして追跡しています。特に、MirrorFaceのみが使用している「LODEINFO」マルウェアは、日本国内の標的に限定して使用されており、メディア、防衛関連企業、シンクタンク、外交機関、学術機関などを標的としていることが報告されています。MirrorFaceは、諜報活動や同グループが関心を持っているファイルを窃取することを目的にしています。
以下の指標から、LiberalFace作戦がMirrorFaceによって実施されているとESETは判断しています。
LiberalFace作戦で送信されたスピアフィッシングメールの中には、日本の特定政党の広報部門からの公式な通知を装っており、参議院選挙に関する依頼が記載され、著名な政治家の代理で送信されたように偽装されたものがありました。すべてのスピアフィッシングメールに悪意のある添付ファイルが含まれており、マシンが侵害されLODEINFOが展開されます。
さらに、MirrorFaceは、これまで検出されたことのない新しいマルウェアを使用して、標的の認証情報を盗んでいました。ESETはこのマルウェアをMirrorStealer命名しました。このマルウェアが検出され公開されたのは、今回が初めてだとESETは考えています。
このブログでは、LODEINFOに送信されたC&Cコマンドなど、セキュリティが侵害された後に確認された行動について解説します。攻撃の対象となったマシンで実行された特定の動作から、MirrorFaceのオペレータは手動または半手動でLODEINFOマルウェアのコマンドを実行していたと考えられます。
MirrorFaceは2022年6月29日に攻撃を開始し、悪意のあるファイルを添付したスピアフィッシングメールを標的に配信しました。このメールの件名は 「<一部編集済み>SNS用動画 拡散のお願い」でした図1にメールの内容を示します。
MirrorFaceは、日本のある政党の広報部門を装い、政党のPRをさらに強化し、参議院での勝利を勝ち取るために、添付の動画を各自のソーシャルメディア(SNS:Social Network Service)から配信するようにメールの受信者に要請しています。さらに、このメールでは、ビデオを公開するための戦略についても明確に指示しています。
2022年7月10日に参議院選挙が実施されていることから、このメールはMirrorFaceが政治団体を攻撃しようとしていたことをが明確になっています。また、メールの具体的な内容から、特定の政党の党員が標的にされたことがわかります。
MirrorFaceは、このキャンペーンで別のスピアフィッシングメールも使用しており、添付ファイルのタイトルは 【参考】220628<編集済>発・<編集済>選挙管理委員会宛文書(添書分).exeになっていました。添付されていたおとり文書(図3に表示)では、参議院選挙についても言及しています。
いずれの場合も、メールには、 <編集済>SNS用動画 拡散のお願い.exeおよび【参考】220628<編集済>発・<編集済>選挙管理委員会宛文書(添書分).exeというファイル名が付けられた自己展開型のWinRARアーカイブファイルが添付されていました。
これらのEXEは、アーカイブされているコンテンツを%TEMP% フォルダに展開します。具体的には、次の4つのファイルが展開されます。
そして、標的を欺くために、おとりの文書を開き、正規のファイルのように見せかけています。最後のステップとして、K7SysMon.exeが実行され、一緒にドロップされた悪意のあるローダーK7SysMn1.dllがロードされます。最後にローダーは K7SysMon.Exe.dbのコンテンツを読み取り、復号化してから実行します。カスペルスキーもこの手法を確認しており、同社のレポートにも記載されています。
このセクションでは、「LiberalFace作戦」でMirrorFaceが使用したマルウェアについて説明します。
LODEINFOは、MirrorFaceが継続的に開発しているバックドアです。JPCERTは、2019年12月頃に出現したLODEINFOの最初のバージョン(v0.1.2)について報告しており、スクリーンショットのキャプチャ、キーロギング、プロセスの強制終了、ファイルの外部への送信、追加のファイルおよびコマンドの実行などの機能をLODEINFOが搭載していることを報告しています。その後、バージョンアップを重ね、現在に至っています。例えば、ESETが2020年6月に初めて検出したバージョン0.3.8では、定義されたファイルやフォルダを暗号化するコマンドransomが追加され、ESETが2021年7月に検出したバージョン0.5.6では、オペレータがレジストリに保存された設定を変更できるコマンドconfigが追加されています。上記のJPCERTの報告以外にも、今年初めにはカスペルスキーがLODEINFOバックドアを詳細に解析した結果を公表しています。
LiberalFace作戦では、MirrorFaceのオペレーターが、通常のLODEINFOと、ESETがセカンドステージと呼んでいるLODEINFOマルウェアの両方を利用していることが確認されています。セカンドステージのLODEINFOは、全体的な機能から、通常のLODEINFOと区別できます。特に、セカンドステージのLODEINFOでは、実装されているコマンド以外のPEバイナリやシェルコードも受け入れて実行できます。さらに、セカンドステージのLODEINFOはC&Cコマンドのconfigを処理できますが、ransomコマンドに対応する機能が欠落しています。
最後に、C&Cサーバーから受け取るデータも、通常のLODEINFOとセカンドステージのLODEINFOでは異なります。セカンドステージのLODEINFOでは、C&Cサーバーは実際のデータの前にランダムなWebページのコンテンツを配置します。受信するデータの差異については、 図4、図5、図6を参照してください。セカンドステージのC&Cから受信した各データストリームでは、追加されるコードスニペットが異なっています。
MirrorStealerは、MirrorFaceが内部的には31558_n.dll と命名しているマルウェアであり、認証情報を窃取します。ESETの知る限り、これはこれまで公開されていないマルウェアです。MirrorStealerは通常、ブラウザやメールクライアントなどのさまざまなアプリケーションから認証情報を盗み取ります。注意が必要なのは、対象となるアプリケーションの1つが、現在日本でしか利用できないメールクライアントBecky!であることです。窃取されたすべての認証情報は、%TEMP%\31558.txt に保存されます。MirrorStealerは窃取したデータを外部に送信する機能を実装していないため、外部にデータを送信するためには他のマルウェアを利用します。
今回の調査では、セキュリティが侵害されたコンピュータで実行されたコマンドの一部を確認することができました。
セキュリティが侵害されたマシンでLODEINFOを起動し、C&Cサーバーへの接続に成功すると、MirrorFaceのオペレーターがコマンドの実行を開始しました(図7を参照)。
まず、オペレーターはLODEINFOコマンドの1つであるprintを実行し、侵害したマシンの画面をキャプチャしました。このコマンドが実行された後には、LODEINFOが存在している現在のフォルダ(つまり%TEMP%)のコンテンツを見るために、別のコマンドであるlsが実行されています。このオペレーターは、その直後にLODEINFOを使用してnet viewとnet view /domainを実行し、ネットワーク情報を取得しています。最初のコマンドは、ネットワークに接続されているコンピュータのリストを返し、2番目のコマンドは、利用可能なドメインのリストを返します。
これらの基本的な情報を収集した後に、このオペレーターは次の段階に移ります(図8を参照)。
このオペレーターは、-memoryサブコマンドを付けて LODEINFOコマンドのsendを実行し、侵害したマシンにMirrorStealerマルウェアを配信しています。サブコマンドの-memoryは、MirrorStealerをメモリ内に保持するようにLODEINFOに指示するために使用され、MirrorStealerバイナリがディスクにドロップされないようにしています。続いて、コマンドmemoryが実行されています。このコマンドは、MirrorStealerを取得し、大量に生成されたcmd.exeプロセスにこのマルウェアを注入して実行するようにLODEINFOに指示しています。
MirrorStealerが認証情報を収集し、 %temp%\31558.txtに保存すると、このオペレーターはLODEINFOを使用して認証情報を外部に送信しました。
このオペレーターは、標的となったユーザーのブラウザCookieにも関心を持っています。しかし、MirrorStealerはこれらのCookieを収集する機能を実装していません。そのため、オペレーターはLODEINFOから手動でCookieを外部に送信していました。このオペレーターはまず、LODEINFOコマンドのdirを使用して、%LocalAppData%\Google\Chrome\User Data\と %LocalAppData%\Microsoft\Edge\User Data\フォルダのコンテンツを表示しました。次に、特定されたすべてのCookieファイルを%TEMP%フォルダにコピーしました。次に、LODEINFOコマンドのrecvを使用して、収集したすべてのCookieファイルを外部に送信しました。最後に、オペレーターはコピーしたCookieファイルを%TEMP%フォルダから削除し、攻撃の痕跡を消し去ろうとしました。
このオペレーターは、次の段階で、さまざまな種類の文書や保存されたメールを外部に送信しました(図9を参照)。
そのため、オペレーターは最初にLODEINFOを使用して、WinRARアーカイバー(rar.exe)を配信しました。rar.exeを使用して、%USERPROFILE%\と C:\$Recycle.Bin\から2022年1月1日以降に変更された重要なファイルを収集してアーカイブしました。このオペレーターは、拡張子が.doc*、.ppt*、.xls*、.jtd、.eml、.*xps、.pdfのファイルすべてを収集の対象としていました。
MirrorFaceは、これらの一般的な文書タイプの他にも、.jtdの拡張子のファイルも収集していたことに注意が必要です。この拡張子のファイルは、JustSystemsが開発した日本語ワードプロセッサー一太郎の文章です。
アーカイブが作成されると、オペレーターはPuTTYスイートからSCP(Secure Copy Protocol)クライアント(pscp.exe)を配信し、このクライアントを使用して作成したRARアーカイブを45.32.13[.]180にあるサーバーに送信しました。このIPアドレスは、過去のMirrorFaceの活動では確認されておらず、ESETが確認したLODEINFOマルウェアのC&Cサーバーとしても使用されていません。アーカイブを送信した直後に、オペレーターは活動の痕跡を消すために rar.exe、pscp.exe、およびRARアーカイブを削除しています。
最後にESETが観察したのは、セカンドステージのLODEINFOの配信です( 図10を参照)。
オペレーターはJSESPR.dll、 JsSchHlp.exe、 vcruntime140.dllのバイナリを侵害したマシンに配信しています。オリジナルのJsSchHlp.exeは、先に述べた日本語ワードプロセッサーの製造元であるジャストシステム社が署名している正規のアプリケーションです。しかし、MirrorFaceのオペレーターは、マイクロソフトのデジタル署名検証における既知の問題を悪用し、JsSchHlp.exeのデジタル署名にRC4で暗号化されたデータを追加しています。この問題により、Windowsは改変されたJsSchHlp.exeに 有効な署名が追加されていると見なしてしまいます。
JsSchHlp.exeは、DLLサイドローディングの影響を受けている可能性もあります。このファイルを実行するときに、攻撃者が仕組んだJSESPR.dllがロードされます(図11を参照)。
JSESPR.dllは、JsSchHlp.exeから追加されたペイロードを読み込み、復号化して実行する悪意のあるローダーです。このペイロードはセカンドステージのLODEINFOです。オペレーターは通常のLODEINFOを使用してセカンドステージのLODEINFOを常駐化させます。特に、オペレーターはreg.exeユーティリティを実行して、JsSchHlp.exeのパスが保存されているRunレジストリキーにJsSchHlpという値を追加しています。
しかし、セカンドステージのLODEINFOをC&Cサーバーと正しく通信させることができなかったと考えられます。そのため、セカンドステージのLODEINFOをこのオペレーターがこの後でどのように操作したのかは不明なままです。
この調査では、注意すべきいくつかのことが明らかになりました。1つは、このオペレーターがLODEINFOでコマンドを実行するときに、いくつかのエラーを発生させたり、タイプミスをしたりしていることです。たとえば、オペレーターはLODEINFOにcmd /c dir "c:\use\"という文字列を送信していますが、正しい文字列はcmd /c dir "c:\users\"であった可能性が高いです。
これは、オペレーターが手動または半手動でLODEINFOでコマンドを実行していることを示しています。
また、オペレーターは攻撃の痕跡を消去するためにいくつかのクリーンアップ処理を実行したにもかかわらず、窃取した認証情報が含まれるログである%temp%\31558.txtを削除するのを忘れています。このように、少なくともこの攻撃の痕跡は侵害されたマシンに残っており、オペレーターによるクリーンアップ処理が徹底されていなかったことを示しています。
MirrorFaceは、日本国内の組織を標的として攻撃を行っています。LiberalFace作戦では、参議院選挙を目前に控えた政治団体を主要な標的としていました。さらに興味深いことに、MirrorFaceは特定の政党の党員を攻撃の対象としていることがわかりました。
LiberalFace作戦の調査では、標的となったユーザーから重要なデータを収集して送信するために、追加のマルウェアやツールを展開して利用するなど、MirrorFaceの詳細なTTP(戦術、技術、手順)を明らかにすることができました。また、MirrorFaceのオペレーターには不注意な点があり、攻撃の痕跡を残したり、さまざまなミスを犯していることが判明しています。
SHA-1 | ファイル名 | 検出 | 説明 |
---|---|---|---|
F4691FF3B3ACD15653684F372285CAC36C8D0AEF | K7SysMn1.dll | Win32/Agent.ACLP | LODEINFOローダー。 |
DB81C8719DDAAE40C8D9B9CA103BBE77BE4FCE6C | K7SysMon.Exe.db | N/A | 暗号化されたLODEINFO。 |
A8D2BE15085061B753FDEBBDB08D301A034CE1D5 | JsSchHlp.exe | Win32/Agent.ACLP | セキュリティディレクトリに暗号化されたセカンドステージのLODEINFOが追加されたJsSchHlp.exeがあります。★ |
0AB7BB3FF583E50FBF28B288E71D3BB57F9D1395 | JSESPR.dll | Win32/Agent.ACLP | セカンドステージのLODEINFOローダー。 |
E888A552B00D810B5521002304D4F11BC249D8ED | 31558_n.dll | Win32/Agent.ACLP | MirrorStealer認証情報窃取ツール。 |
IP | プロバイダー | First Seen | 詳細 |
---|---|---|---|
5.8.95[.]174 | G-Core Labs S.A. | 2022-06-13 | LODEINFOのC&Cサーバー。 |
45.32.13[.]180 | AS-CHOOPA | 2022-06-29 | データを外部に送信するために使用されるサーバー。 |
103.175.16[.]39 | Gigabit Hosting Sdn Bhd | 2022-06-13 | LODEINFOのC&Cサーバー。 |
167.179.116[.]56 | AS-CHOOPA | 2021-10-20 | www.ninesmn[.]com、セカンドステージのLODEINFO のC&Cサーバー。 |
172.105.217[.]233 | Linode, LLC | 2021-11-14 | www.aesorunwe[.]com、セカンドステージのLODEINFOのC&Cサーバー。 |
この表は、MITRE ATT&CKフレームワークのバージョン12を使用して作成されています。
なお、このブログでは、LODEINFOの機能について詳しく説明していませんが、これらの機能の情報はすでに他のレポートで公開されているため、次のMITRE ATT&CKの表には、これらの機能に関連するすべての手法が記載されています。
手法 | ID | 名前 | 説明 |
---|---|---|---|
初期アクセス | T1566.001 | フィッシング:スピアフィッシングの添付ファイル | スピアフィッシングメールに悪意のあるWinRAR SFXアーカイブが添付されています。 |
実行 | T1106 | ネイティブAPI | LODEINFOは、CreateProcessA APIを使用してファイルを実行できます。 |
T1204.002 | ユーザーによる実行:悪意のあるファイル | MirrorFaceのオペレーターは、標的のユーザーがメールで送られた悪意のある添付ファイルを開くことを攻撃の前提にしています。 | |
T1559.001 | プロセス間通信:コンポーネントオブジェクトモデル(COM) | LODEINFOは、コンポーネントオブジェクトモデル(COM)を介してコマンドを実行できます。 | |
常駐化 | T1547.001 | ブートまたはログオン自動起動:Runレジストリキーやスタートアップフォルダの悪用 | LODEINFOは、HKCU Runキーにエントリを追加し、常駐します。 ESETは、MirrorFaceのオペレーターが、セカンドステージのLODEINFOを常駐させるために、HKCU Runキーに手動でエントリを追加していることを確認しています。 |
防衛機能の回避 | T1112 | レジストリの変更 | LODEINFOは、設定をレジストリに保存できます。 |
T1055 | プロセスインジェクション | LODEINFOは、cmd.exeにシェルコードを注入できます。 | |
T1140 | ファイルや情報の難読化解除と復号化 | LODEINFOローダーは、シングルバイトのXORまたはRC4を使用してペイロードを復号化します。 | |
T1574.002 | ハイジャックの実行フロー:DLLサイドローディング | MirrorFaceは、悪意のあるライブラリと正規の実行ファイル(例、K7SysMon.exe)をドロップして、LODEINFOをサイドローディングします。 | |
検出 | T1082 | システム情報の検出 | LODEINFOは侵害したマシンの情報を収集します。 |
T1083 | ファイルおよびディレクトリの検出 | LODEINFOは、ファイルやディレクトリの一覧を取得できます。 | |
T1057 | プロセスの検出 | LODEINFOは、実行中のプロセスを一覧表示できます。 | |
T1033 | システムオーナー/ユーザーの検出 | LODEINFOは、標的となったユーザーの名前を取得できます。 | |
T1614.001 | システムの場所の検出:システム言語の検出 | LODEINFOは、システムの言語をチェックし、英語を使用するように設定されたマシンで実行されていないことを確認します。 | |
収集 | T1560.001 | 収集したデータのアーカイブ:ユーティリティを利用したアーカイブ | ESETは、MirrorFaceのオペレーターが、収集したデータをRARアーカイブツールを使用してアーカイブしていることを確認しています。 |
T1114.001 | メールの収集:ローカルメールの収集 | ESETは、MirrorFaceのオペレーターが、保存されているメールを収集していることを確認しています。 | |
T1056.001 | 入力情報の取得:キーロギング | LODEINFOは、キーロギングを行います。 | |
T1113 | 画面キャプチャ | LODEINFOはスクリーンショットを取得できます。 | |
T1005 | ローカルシステムのデータ | ESETは、MirrorFaceのオペレーターが、重要なデータを収集し、外部に送信していることを確認しています。 | |
C&C(コマンド&コントロール) | T1071.001 | アプリケーションレイヤープロトコル:Webプロトコル | LODEINFOは、C&Cサーバーとの通信にHTTPプロトコルを使用します。 |
T1132.001 | データのエンコーディング:標準エンコーディング | LODEINFOは、URLセーフのbase64を使用して、C&Cトラフィックをエンコードします。 | |
T1573.001 | 暗号化されたチャンネル:対称暗号方式 | LODEINFOは、C&Cトラフィックの暗号化にAES-256-CBCを使用します。 | |
T1001.001 | データの難読化:ジャンクデータ | セカンドステージのLODEINFOのC&Cは、送信するデータの前にジャンクデータを配置します。 | |
情報の外部への送信 | T1041 | C&Cチャネルからの送信 | LODEINFOは、C&Cサーバーにファイルを送信できます。 |
T1071.002 | アプリケーションレイヤープロトコル:ファイル転送プロトコル | ESETは、MirrorFaceがSecure Copy Protocol(SCP)を使用して収集したデータを送信しているのを確認しています。 | |
影響 | T1486 | データの暗号化により影響を与える | LODEINFOは、標的ユーザーのマシンにあるファイルを暗号化できます。 |