Linuxマシンを攻撃するマルウェアの分析結果から、3CX社のサプライチェーン攻撃へのLazarusグループの関与が裏付けられる
新たに使用されたLinuxマルウェアとの類似性から、北朝鮮とつながりのあるAPTグループLazarusが、最近の3CX社のサプライチェーン攻撃を実行していることが明確になりました。
新たに使用されたLinuxマルウェアとの類似性から、北朝鮮とつながりのあるAPTグループLazarusが、最近の3CX社のサプライチェーン攻撃を実行していることが明確になりました。
ESETの研究者は、Linuxユーザーを標的としたLazarusによる新しい「DreamJob作戦」を発見しました。
DreamJob作戦は、偽の求人広告を使用するソーシャルエンジニアリングの手法によって、標的を攻撃する一連のキャンペーンです。今回のキャンペーンを調査では、おとり文書として配信された偽の香港上海銀行(HSBC)の求人情報のZIPファイルから、最終的な攻撃用のペイロード(OpenDriveのクラウドストレージアカウントから配信され「SimplexTea」と命名されたLinuxバックドア)まで、このサプライチェーン攻撃の全容を解明できました。ESETが知る限り、北朝鮮とつながりのあるこのサイバー攻撃グループが、これらの作戦でLinuxマルウェアを使用したことを明らかしたのは、今回が初めてです。
さらに、今回の調査と発見により、Lazarusが最近の3CX社のサプライチェーン攻撃を主導していることに議論の余地がないことも決定的になりました。この北朝鮮のグループによる関与は、当初から疑われていましたが、その後、複数のセキュリティ研究者によって証明されています。本ブログでは、今回の調査結果について報告し、Lazarusと3CXのサプライチェーン攻撃との関連性を示す詳細な証拠について解説します。
3CX社は、VoIPソフトウェアを開発し、世界各国の多くの組織にオフィス用電話システムを提供しています。3CXのWebサイトによると、同社は航空宇宙、ヘルスケア、ホスピタリティなど多様な分野にわたる60万社の顧客と1,200万のユーザーを抱えています。3CXはクライアントソフトウェアを提供しており、Webブラウザ、モバイルアプリ、デスクトップアプリケーションから同社のシステムを利用できるようにしています。2023年の3月下旬に、WindowsとmacOSの両方のデスクトップアプリケーションに悪意のあるコードが含まれていることが発見されました。このコードにより、攻撃者はアプリケーションがインストールされているすべてのマシンに任意のコードをダウンロードして実行できるようになります。その後、この悪意のあるコードは、3CXが追加したものではなく、3CXのシステムがサプライチェーン攻撃によって侵害されて追加されたことが判明しました。外部のサイバー攻撃者によって、特定の3CXの顧客にマルウェアを配信するためのサプライチェーン攻撃で、3CXのソフトウェアが悪用されたことが特定されています。
このサイバーインシデントのニュースは、ここ数日多くのメディアで取り上げられています。最初は、2023年3月29日にCrowdStrikeのエンジニアが立てたRedditのスレッドでこのインシデントが報告されました。その後CrowdStrikeは、同社がLazarusに付けたコードネーム「LABIRINTH CHOLLIMA」が攻撃を主導しているという主張を公式に表明しました(ただし、この説を裏付ける証拠は公開していません)。このインシデントによる影響が重大であることから、ソフォス、Check Point、Broadcom、トレンドマイクロなどのいくつものセキュリティ企業が、このインシデントの概要について報告するようになりました。
さらに、macOSシステムに影響を及ぼす攻撃については、Patrick Wardle氏が公開しているTwitterのスレッドとブログで詳細に説明されています。
このタイムラインから、今年3月の攻撃を実行する前の2022年12月の時点からサイバー攻撃者が計画を進めていたことがわかります。つまり、昨年末にはすでに3CXのネットワークに攻撃の足掛かり築いていた可能性があります。
トロイの木馬化されたmacOS向けの3CXアプリケーションは、1月下旬に署名されていますが、2023年2月14日までは、ESETのテレメトリ(監視データ)では悪意のあるアプリケーションとして確認されていません。2月14日以前に、macOS向けの悪意のあるアップデートが配信されていたかどうかは明らかではありません。
ESETのテレメトリでは、2月の時点ですでにmacOS向けのセカンドステージペイロードの存在が確認されていますが、検体も、その悪意性を示唆するメタデータも取得していませんでした。この情報は、防衛側のシステムがどれぐらい前から侵害されていたかを判断するために役立つはずです。
攻撃が公開される数日前に、謎めいたLinuxダウンローダーがVirusTotalに送信されています。このダウンローダーは、LinuxマシンにLazarusの新しい悪意のあるペイロードをダウンロードします。このブログの後半では、この攻撃とLazarusとの関係性について説明します。
Lazarusによる関与を推測する上で重要な役割を果たしたドメインが、journalide[.]orgです。このドメインは、上記でリンクしたベンダーレポートの一部に記載されているものの、このドメインの存在に関する説明は一切ありません。興味深いのは、SentinelOneとObjectiveSeeの記事では、このドメインについての言及がないことです。Volexityのブログも、このドメインについて触れていないだけではなく、「Volexityは、現在公開されているアクティビティから関与したサイバー攻撃者を特定することはできない」と述べており、この攻撃の帰属に関する見解を示していません。Volexityのアナリストは、この攻撃の詳細をいち早く調査しており、GitHubにある暗号化されたアイコンからC&Cサーバーリストを抽出するツールを作成しています。攻撃の中間段階でC&Cサーバーを直接埋め込むのではなく、GitHubをデッドドロップリゾルバとして使用していたために、このツールは優れた効果を発揮します。この中間段階では、WindowsとmacOS用のダウンローダーが使用されています。ESETは、このダウンローダーをIconicLoaderと、また、Windows向けのペイロードとMac向けのペイロードをそれぞれIconicStealerおよびUpdateAgentと名付けました。
3月30日に、Elastic Securityのセキュリティ研究者であるJoe Desimone氏は、Twitterのスレッドで、3CXのセキュリティ侵害がLazarusと関連していることを示す重要な手がかりをいち早く提供しています。同氏は、d3dcompiler_47.dllのペイロードの前に追加されていたシェルコードスタブが、2021年4月にアメリカ合衆国サイバーセキュリティ・社会基盤安全保障庁(CISA)によってLazarusの関与が特定されたAppleJeusローダーのスタブに酷似していることを発見しました。
3月31日に、3CXがサプライチェーン攻撃に対するインシデント対応サービスをMandiantに依頼したことが報じられました。
4月3日にKasperskyは同社のテレメトリから、3CXのサプライチェーンの被害者とGopuramと名付けられたバックドアの展開に直接的な関係があることを示し、どちらもguard64.dllという同じ名前のペイロードが関与していることを明らかにしました。Kasperskyのデータから、GopuramはLazarusによる関与が明らかになっているマルウェアであるAppleJeusと一緒に被害者のマシンで見つかっていることから、GopuramにもLazarusが関係していることは明白です。GopuramとAppleJeusの両方ともに、暗号通貨会社に対する攻撃で観測されています。
そして4月11日に、3CXの最高情報セキュリティ責任者(CISO)がMandiantによる中間調査の結果の概要をブログで公開しました。この報告書によると、3CXの侵害には、TAXHAULと呼ばれるシェルコードローダーとCOLDCATという複雑なダウンローダーの2つのWindowsマルウェアの検体が使用されています。ハッシュは提供されませんでしたが、TAXHAULと命名されたMandiantのYARAルールは、VirusTotalに既に存在している他の検体も判別します。
これらの検体のファイル名(MD5ではない)は、Kasperskyのブログで言及されているファイル名と一致します。しかし、3CXは、COLDCATはGopuramとは異なると述べています。
次のセクションでは、Lazarusの新しい悪意のあるLinuxペイロードの技術面について分析した結果について解説し、その結果が3CXのセキュリティ侵害へのLazarusの関与を裏付けるためにどのように役立ったかを説明します。
サイバー攻撃グループLazarusによるDreamJob作戦は、LinkedInを介して標的の人物に近づき、業界を代表する企業による偽の採用情報によって誘惑します。DreamJob(夢の仕事)という造語は、ClearSkyが2020年8月に発表したホワイトペーパーで使用したものです。このホワイトペーパーでは、航空宇宙・防衛産業の企業を標的としたLazarusによるサイバースパイキャンペーンについて説明しています。この活動は、少なくとも 2019年9月から続いている一連のサイバースパイ攻撃であり、ESETが「Operation In(ter)ception:イン(ター)セプション作戦」と命名した攻撃と一致しています。航空宇宙、軍事、防衛関連の企業を標的とし、当初はWindowsマシンのみを攻撃する悪意のあるツールを使用していました。2022年の7月から8月にかけて、ESETはmacOSを標的としたイン(ター)セプション作戦を2件確認しています。1つのマルウェアの検体はブラジルからVirusTotalに提出されており、別の攻撃はアルゼンチンのESETユーザーを標的としていました。数週間前には、香港上海銀行(HSBC)に関連するPDFによって標的の関心を引こうととするLinuxネイティブのペイロードがVirusTotalで発見されました。これにより、Lazarusは、主要なデスクトップOSのすべて対象とするペイロードを完成させたことになります。
3月20日、ジョージアのユーザーがVirusTotalにHSBC job offer.pdf.zipというZIPアーカイブを提出しました。Lazarusがこれまでに実施した他のDreamJob作戦から推測すると、このペイロードはおそらくスピアフィッシングやLinkedInのダイレクトメッセージを通じて配信されたと考えられます。このアーカイブには、Go言語で記述された64ビットのネイティブIntel LinuxバイナリでありHSBC job offer․pdfという名前のファイルが1つ含まれています。
注意が必要なのは、ファイルの拡張子が.pdfではないことです。ファイル名でドットのように見える文字は、U+2024ユニコード文字で表されるリーダー記号です。ファイル名にリーダー記号が使用されているのは、ファイルマネージャーを騙して、PDFではなく実行ファイルとして処理させるためだと考えられます。これによって、ファイルをダブルクリックすると、PDFビューアではファイルが開かず、そのまま実行されます。このファイルを実行すると、おとりのPDFがxdg-openコマンドを使用してユーザーに表示されます。このコマンドは、ユーザーがデフォルトに指定しているPDFビューアでPDFファイルを開きます(図3を参照)。このELFダウンローダーは、他のプラットフォームにおけるIconicLoaderと同じ役割があり、ペイロードがOpenDriveから取得されることから、OdicLoaderと命名することにしました。
OdicLoaderは、おとりのPDF文書をドロップし、システムのデフォルトのPDFビューア(図3を参照)を使用して表示し、その後、OpenDriveクラウドサービスからセカンドステージのバックドアをダウンロードします。ダウンロードされたファイルは、~/.config/guiconfigdに保存されます。(SHA-1:0CA1723AFE261CD85B05C9EF424FC50290DCE7DF)。ESETは、このセカンドステージのバックドアをSimplexTeaと命名しました。
実行の最後のステップとして、OdicLoaderは、SimplexTeaがBashで起動され、その出力がミュートされるように、~/.bash_profileを変更します(~/.config/guiconfigd >/dev/null 2>&1)。
SimplexTeaはC++で記述されたLinuxバックドアです。次の表1で強調表示しているように、クラス名は、ルーマニアからVirusTotalに提出されたsysnetdというファイル名の検体で見つかった関数名と酷似しています(SHA-1:F6760FB1F8B019AF2304EA6410001B63A1809F1D)。SimplexTeaとsysnetdのクラス名や関数名が類似していることから、SimplexTeaはCからC++で書き直されたアップデートバージョンであると考えられます。
guiconfigd (ジョージアから提出されたLinux用のSimplexTea) | sysnetd (ルーマニアから提出されたLinux用のBADCALL) |
---|---|
CMsgCmd::Start(void) | MSG_Cmd |
CMsgSecureDel::Start(void) | MSG_Del |
CMsgDir::Start(void) | MSG_Dir |
CMsgDown::Start(void) | MSG_Down |
CMsgExit::Start(void) | MSG_Exit |
CMsgReadConfig::Start(void) | MSG_ReadConfig |
CMsgRun::Start(void) | MSG_Run |
CMsgSetPath::Start(void) | MSG_SetPath |
CMsgSleep::Start(void) | MSG_Sleep |
CMsgTest::Start(void) | MSG_Test |
CMsgUp::Start(void) | MSG_Up |
CMsgWriteConfig::Start(void) | MSG_WriteConfig |
MSG_GetComInfo | |
CMsgHibernate::Start(void) | |
CMsgKeepCon::Start(void) | |
CMsgZipDown::Start(void) | |
CMsgZip::StartZip(void *) | |
CMsgZip::Start(void) | |
CHttpWrapper::RecvData(uchar *&,uint *,uint,signed char) | |
RecvMsg | |
CHttpWrapper::SendMsg(_MSG_STRUCT *) | SendMsg |
CHttpWrapper::SendData(uchar *,uint,uint) | |
CHttpWrapper::SendMsg(uint,uint,uchar *,uint,uint) | |
CHttpWrapper::SendLoginData(uchar *,uint,uchar *&,uint *) |
表1. VirusTotalに投稿された2つのLinuxバックドアの元のシンボル名の比較
sysnetdとLazarusとの関係性次のセクションでは、LazarusがWindowsバックドアとして使用しているBADCALLとの類似点について説明します。
ESETは、以下に示す2つのファイルの類似性から、sysnetdの開発にLazarusが関与しており、sysnetdは、BADCALLと呼ばれるWindows向けのバックドアのLinux版であると考えています。
このBADCALLバックドアのLinux版であるsysnetdは、/tmp/vgauthsvclogという名前のファイルから設定をロードします。Lazarusのオペレーターは以前からペイロードを偽装していますが、VMware Guest Authenticationサービスによって使用されるファイル名が使用されていることは、標的のシステムがLinuxのVMware仮想マシンであることを示しています。このときに使用されるXORキーは、3CX調査で見つかったSIMPLESEAで使用されたキーと同じです。
独自に実装されたA5/1暗号キーである0xC2B45678、0x90ABCDEF、0xFE268455という3つの32ビットの整数を見てみると(図5を参照)、同じアルゴリズムと同じキーが、2014年末に利用され、Lazarusが引き起こした最も重大なインシデントの1つであるSony Pictures Entertainmentへのサイバー攻撃に関連するWindowsマルウェアで使用されています(SHA-1:1C66E67A8531E3FF1C64AE57E6EDFDE7BEF2352D)。
これまで説明してきた内容から、3CXのサプライチェーン攻撃はLazarusグループが関与しているとESETは確信しています。この裏付けの根拠は以下の通りです。
1. マルウェア(侵入セット):
2. インフラストラクチャ:
3CXのセキュリティ侵害は、3月29日に公開されてから、セキュリティコミュニティで多くの注目を浴びています。侵害された3CXのソフトウェアは、あらゆる種類のペイロードのダウンロードと実行を可能にするため非常に危険です。また、3CXのソフトウェアは、各種のITインフラに展開されていることから、壊滅的な影響を受ける恐れもあります。残念ながら、3CXだけではなく、あらゆるソフトウェアメーカーが、トロイの木馬に感染し、意図せずに不正なアプリケーションバージョンを配信する可能性があります。
サプライチェーン攻撃は秘密裏に進行することから、攻撃者にとって、このような方法でマルウェアを配信することは非常に魅力的で効果的な手段となっています。Lazarusは過去にも同じ手法を取り入れており、2020年にはWIZVERA社のVeraPortソフトウェアを使用する韓国ユーザーを標的にしています。Lazarusが使用しているツールセットに含まれる既存のマルウェアと類似していることや、同グループの典型的な手法から、今回の3CXの侵害にLazarusが関与していることに疑いの余地はありません。
また、Lazarusは、Windows、macOS、Linuxの主なデスクトップOSを攻撃するマルウェアを開発して使用していることにも注意が必要です。3CXのインシデントでは、WindowsとmacOSの両方のシステムが標的となり、両方のOSに対応する3CXのVoIPソフトウェアがトロイの木馬化され、任意のペイロードを取得する悪意のあるコードが含まれていました。3CXのケースでは、WindowsとmacOS向けの両方のセカンドステージマルウェアが存在します。本ブログでは、3CXのインシデントで確認されているmacOS向けのマルウェアであるSIMPLESEAに相当するLinuxバックドアについて説明しました。ESETは、このLinuxコンポーネントをSimplexTeaと命名しました。また、これが、求人情報によって警戒心の薄い被害者の関心を引き付けて、セキュリティを侵害する北朝鮮のサイバー攻撃グループ「Lazarus」による代表的なキャンペーンであるDreamJob作戦の一環であることを説明しました。
SHA-1 | ファイル名 | ESETの検出名 | 説明 |
---|---|---|---|
0CA1723AFE261CD85B05C9EF424FC50290DCE7DF | guiconfigd | Linux/NukeSped.E | Linux向けのSimplexTea。 |
3A63477A078CE10E53DFB5639E35D74F93CEFA81 | HSBC_job_offer․pdf | Linux/NukeSped.E | OdicLoader、Go言語で記述されたLinux向けの64ビットのダウンローダー。 |
9D8BADE2030C93D0A010AA57B90915EB7D99EC82 | HSBC_job_offer.pdf.zip | Linux/NukeSped.E | Linuxのペイロードが含まれるZIPアーカイブ(VirusTotalより) |
F6760FB1F8B019AF2304EA6410001B63A1809F1D | sysnetd | Linux/NukeSped.G | Linux向けのBADCALL。 |
最初に確認された日付 | 2023-03-20 12:00:35 |
---|---|
MD5 | CEDB9CDBAD254F60CFB215B9BFF84FB9 |
SHA-1 | 0CA1723AFE261CD85B05C9EF424FC50290DCE7DF |
SHA-256 | EEBB01932DE0B5605DD460CC82844D8693C00EA8AB5FFDF8DBEDE6528C1C18FD |
ファイル名 | guiconfigd |
説明 | Linux向けのSimplexTea。 |
C&C | journalide[.]org/djour.php |
ダウンロード元 | od[.]lk/d/NTJfMzg4MDE1NzJf/vxmedia |
検出 | Linux/NukeSped.E |
PEコンパイルのタイムスタンプ | N/A |
最初に確認された日付 | 2023-03-16 07:44:18 |
---|---|
MD5 | 3CF7232E5185109321921046D039CF10 |
SHA-1 | 3A63477A078CE10E53DFB5639E35D74F93CEFA81 |
SHA-256 | 492A643BD1EFDACA4CA125ADE1B606E7BBF00E995AC9115AC84D1C4C59CB66DD |
ファイル名 | HSBC_job_offer․pdf |
説明 | OdicLoader、Go言語で記述されたLinux向けの64ビットダウンローダー |
C&C | od[.]lk/d/NTJfMzg4MDE1NzJf/vxmedia |
ダウンロード元 | N/A |
検出 | Linux/NukeSped.E |
PEコンパイルのタイムスタンプ | N/A |
最初に確認された日付 | 2023-03-20 02:23:29 |
---|---|
MD5 | FC41CB8425B6432AF8403959BB59430D |
SHA-1 | 9D8BADE2030C93D0A010AA57B90915EB7D99EC82 |
SHA-256 | F638E5A20114019AD066DD0E856F97FD865798D8FBED1766662D970BEFF652CA |
ファイル名 | HSBC_job_offer.pdf.zip |
説明 | Linuxのペイロードが含まれるZIPアーカイブ(VirusTotalより) |
C&C | N/A |
ダウンロード元 | N/A |
検出 | Linux/NukeSped.E |
PEコンパイルのタイムスタンプ | N/A |
最初に確認された日付 | 2023-02-01 23:47:05 |
---|---|
MD5 | AAC5A52B939F3FE792726A13FF7A1747 |
SHA-1 | F6760FB1F8B019AF2304EA6410001B63A1809F1D |
SHA-256 | CC307CFB401D1AE616445E78B610AB72E1C7FB49B298EA003DD26EA80372089A |
ファイル名 | sysnetd |
説明 | Linux向けのBADCALL。 |
C&C | tcp://23.254.211[.]230 |
ダウンロード元 | N/A |
検出 | Linux/NukeSped.G |
PEコンパイルのタイムスタンプ | N/A |
IPアドレス | ドメイン | ホスティングプロバイダー | 最初に確認された日付 | 詳細 |
---|---|---|---|---|
23.254.211[.]230 | N/A | Hostwinds LLC. | N/A | Linux向けのBADCALLのC&Cサーバー |
38.108.185[.]79 38.108.185[.]115 | od[.]lk | Cogent Communications | 2023-03-16 | SimplexTeaを含むリモートのOpenDriveストレージ(/d/NTJfMzg4MDE1NzJf/vxmedia)。 |
172.93.201[.]88 | journalide[.]org | Nexeon Technologies, Inc. | 2023-03-29 | SimplexTeaのC&Cサーバー(/djour.php) |
手法 | ID | 名前 | 説明 |
---|---|---|---|
偵察 | オープンなWebサイト/ドメインの検索:ソーシャルメディア | Lazarusの攻撃者は、標的にとって関心が高いと思われる香港上海銀行(HSBC)の偽の求人情報を悪用して近づいています。過去にはこのような活動は主にLinkedInで行われています。 | |
リソース開発 | インフラストラクチャの取得:ドメイン | 過去のDreamJob作戦で使用される侵害された多くのC&Cとは異なり、Lazarusのオペレーターは、Linuxを使用する標的のために独自のドメインを登録しています。 | |
能力の開発マルウェア | 攻撃者が独自に開発したツールが使用されている可能性が高いです。 | ||
アカウントの確立:クラウドアカウント | 攻撃者は攻撃で最終的に使用するペイロードをクラウドサービス「OpenDrive」上でホストしていました。 | ||
ステージングサーバーの能力マルウェアのアップロード | 攻撃者は攻撃で最終的に使用するペイロードをクラウドサービス「OpenDrive」上でホストしていました。 | ||
実行 | ユーザーによる実行:悪意のあるファイル | OdicLoaderは、標的を欺くためにPDFファイルを偽装します。 | |
初期アクセス | フィッシング:スピアフィッシングリンク | 標的は、悪意のあるZIPアーカイブを含むサードパーティのリモートストレージへのリンクを受信した可能性があり、このアーカイブは後にVirusTotalに提出されています。 | |
常駐化 | イベントトリガーによる実行:Unixシェルの設定変更 | OdicLoaderは、Bashが起動されるときに毎回SimplexTeaが起動され、その出力をミュートするように、被害者のBashプロファイルを変更します。 | |
防衛機能の回避 | アクセストークンの操作:トークンによるプロセスの作成 | SimplexTeaは、C&Cサーバーからの命令に応じて、新しいプロセスを作成できます。 | |
ファイルや情報の難読化解除と復号化 | SimplexTeaは、暗号化されたapdl.cfに設定を保存します。 | ||
ファイルや情報の難読化:ペイロードの埋め込み | すべての悪意のある攻撃チェーンで使用されるドロッパーには、次のステージで使用されるデータ配列が埋め込まれています、 | ||
防御策の妨害:コマンド履歴のログの妨害 | OdicLoaderは、被害者のBashプロファイルを変更して、SimplexTeaの出力とエラーメッセージをミュートします。SimplexTeaは、同じ手法で新しいプロセスを実行します。 | ||
攻撃の痕跡の削除:ファイルの削除 | SimplexTeaは、ファイルを安全に削除する機能を備えています。 | ||
仮想化/サンドボックスの回避:実行時間を遅延する回避手法 | SimplexTeaは、スリープによって実行を遅延する独自の手法を実装しています。 | ||
検出 | ファイルおよびディレクトリの検出 | SimplexTeaはディレクトリに含まれるファイルを名前、サイズ、タイムスタンプと一緒に一覧表示できます(ls -laコマンドのような機能) | |
C&C(コマンド&コントロール) | アプリケーションレイヤープロトコル:Webプロトコル | SimplexTeaは、静的にリンクされたCurlライブラリを使用して、C&Cサーバーとの通信にHTTPとHTTPSを使用できます。 | |
暗号化されたチャンネル:対称暗号方式 | SimplexTeaは、AES-GCMアルゴリズムを用いてC&Cトラフィックを暗号化します。 | ||
データのエンコーディング:標準エンコーディング | SimplexTeaは、C&Cトラフィックをbase64でエンコードします。 | ||
プロキシ | SimplexTeaは、通信でプロキシを利用する場合があります。 | ||
情報の外部への送信 | C&Cチャネルからの送信 | SimplexTeaは、ZIPアーカイブとしてデータをC&Cサーバーに送信することができます。 |
このYARAルールは、IconicLoaderとIconicStealerの両方を含むペイロードと、2022年12月から実行されている仮想通貨のハッキング攻撃で展開されたペイロードにフラグを立てます。