現在、サイバー空間ではランサムウェアとクリプトマイナーが注目を集めていますが、他にも悪意ある目的で被害者のマシンに侵入し、密かに侵入する脅威アクターが存在します。Quick Heal Security Labsは、日々の脅威ハンティング作業中に、Quick HealのURL分類クラウド機能によってブロックされたURLを発見しました。このURLをさらに分析した結果、「AZORult」インフォスティーラーマルウェアの新しい亜種が判明しました。このマルウェアは、被害者のマシンからデータを収集し、CnCサーバーに持ち出します。本記事では、このマルウェアを分析し、興味深い詳細をご紹介します。
以下の攻撃チェーンは、このマルウェアで観察された実行シーケンスを示しています。

分析時点では、最初の攻撃ベクトルは不明でしたが、攻撃チェーンは悪意のあるURLから追跡されました。Quick Heal Securityラボは、最初の攻撃ベクトルはフィッシングメールであると推測しました。
URL: cw57146.tmweb.ru/upload/neut[.]exe
静的解析の結果、サンプルには大量のFlareが含まれていることが確認されました。「neut.exe」ファイルは、MS Windows用のPE32実行ファイルであり、Microsoft Visual BasicのPコードファイルとしてコンパイルされています。このファイルには、暗号化された様々な文字列と、高エントロピーの大規模なリソースデータが含まれています。

Decompiled File には、現在のプロセスに対して DEP を無効にする機能があり、隠しファイルが表示されないようにエクスプローラーの設定を変更しようとし、メモリに大量のリソースを読み込みます。

逆コンパイルされたファイル内のいくつかの関数を走査中に、難読化されたコードが見つかりました。このコードは、データの難読化を解除して有効な文字列を形成する関数に渡されます。

これらの64進値をASCIIに変換すると、コードはBase64でエンコードされているように見えます。そのため、BaseXNUMXアルゴリズムを使用してデコードすると、以下の文字列が見つかります。
C:\ProgramData\worm.exe
Hxxp://cw57146.tmweb.ru/upload/neut[.]exe
次に走査される関数には、XORアルゴリズムと、リソースデータ全体に適用するいくつかの演算が含まれています。復号ルーチンは以下のスニペットで示されています。

このロジックをリソースコードに実装すると、1つのPEファイルが見つかりました。復号されたPEファイルはDelphiのWindowsファイルであり、今後このファイルの解析を進めます。
ファイルを静的にチェックすると、以下の画像に示すさまざまな base64 エンコード文字列が見つかります。

上記の文字列をbase64アルゴリズムでデコードすると、以下の結果が得られます。これらの文字列はシステム情報を収集するために使用されます。例えば、「Uninstall」レジストリキーの「DisplayName」は、システムにインストールされているすべてのソフトウェアを識別するために使用されます。「CreateToolhelp32Snapshot」は、実行中のすべてのプロセスをリストアップするために使用されます。
ソフトウェア\Microsoft\Windows\CurrentVersion\Uninstall DisplayName DisplayVersion ハードウェア\説明\システム\中央プロセッサ\0 CreateToolhelp32Snapshot
暗号化されていない文字列もいくつかあります。以下のスナップショットにはそれらの文字列の一部が含まれています。

さらなる分析により、これらの文字列がどこでどのように使用されているかが明らかになります。IDAでファイルをデバッグした後、マルウェアは「MachineGuid」、「ProductName」、「UserName」、「ComputerName」などのマシン情報を収集し、DWORDとXOR演算して連結し、最終的に特定のシステム用にこの名前のミューテックスを作成します。
その後、マルウェアはPOSTリクエストを使用してC&Cサーバーにデータを送信しようとします。そのリクエストは次のように構成されています。

CnC サーバーは、暗号化されていると思われる大量のデータで応答しました。

ファイルをさらにデバッグした後、マルウェアは「InternetReadFile」APIを使用してCnCサーバーからメモリ内に送信されたデータを読み取り、3バイトのキーを用いたXORアルゴリズムで復号しました。レスポンスバッファの末尾の一部のデータには、Base64でエンコードされた文字列が含まれていました。

マルウェアが被害者のマシンから盗もうとする情報 (ユーザー名、パスワード、インストールされているソフトウェア、ブラウザ情報など) を表す Base64 でエンコードされた文字列。

XOR演算で暗号化されたもう一つのバッファを復号したところ、ディレクトリ「%Temp%\48fda」に多数のDLL(約2個)がダンプされており、いくつかの文字列も含まれていることがわかりました。DLLの中にはブラウザプラグインに関連するものもありました。マルウェアはこれらのDLLをメモリに読み込み、ブラウザやその他の情報を取得します。
マルウェアは、アカウント情報、ブラウジングおよびCookieの詳細を盗むことができ、また「hxxp://ip-api.com/json」を呼び出して感染したマシンのパブリックIPアドレスを取得します。
また、システムにインストールされているすべてのソフトウェアを一覧表示したり、CreateToolhelp32Snapshot、Process32first、Process32next関数を呼び出すことで実行中のすべてのプロセスを一覧表示したりすることも可能です。また、Electrum、MultiBit、monero-projectなどの様々な暗号通貨マイニングウォレットに関する情報も収集します。さらに、ユーザーがいつどのウェブサイトを閲覧したかという情報も収集します。
また、マシン名、RAM サイズ、その他のマシン関連情報も送信します。

上記のすべての情報はXOR演算によって暗号化され、CnCサーバーに送り返されます。サーバーは完全なデータを受信すると「OK」と応答します。
盗まれたデータは、メールアカウント、銀行口座、その他のオンライン情報への不正アクセスに広く利用される可能性があります。盗まれた個人情報は、ユーザーに精神的および経済的損害を与える可能性があります。AZORultの亜種は、Quick Heal製品によって「Trojan.IGENERIC」として検出されます。
結論
ランサムウェアやクリプトマイナーが蔓延する中、Infostealerのようなマルウェアは攻撃者に最も好まれる攻撃ベクトルとなっています。このような複雑なマルウェアによるシステムの感染を防ぐため、ユーザーの皆様には、疑わしいウェブサイトやメールへのアクセスを避け、アンチウイルスソフトを最新の状態に保つことをお勧めします。Quick Healは、高度な検出技術メカニズムを備え、これらの複雑なマルウェアや悪意のあるサイトを継続的に監視・ブロックしています。
IOC
BF468C06614D844E1A856C02FE7FB698
主題専門家
プレクシャ・サクセナ | クイックヒールセキュリティラボ



