脅威のスポットライト: Macheteインフォスティーラー

By Adam Martin

本ブログ記事は、2019年11月27日に米国で公開された抄訳版です。原文はこちらからご覧頂けます。

はじめに

Macheteは、ユーザー認証情報、チャットログ、スクリーンショット、ウェブカメラの画像、および地理位置を収集し、キーロギングを実行できる情報窃取マルウェアです。また、ファイルをUSBデバイスにコピーすることや、クリップボードを乗っ取って情報を抜き取ることもできます。

Macheteは、通常はソーシャルエンジニアリング技術や悪意のあるWebサイトを通じて配布されます。ユーザーは、PowerPointプレゼンテーションを開いているという前提で、最初の実行可能ファイルを開くように誘導されます。このファイルは、実際は、NullsoftインストーラSFXです。

このPowerPointは、違法な画像から、政府/軍隊の文書に見えるように巧妙に作られた画像に至るまでさまざまです。最もよく使われる名前は、"Hermosa xxx,pps,rar"、"Suntzu.rar"、および"Hot brazilian XXX.rar"です。ファイル内で見つかった言語およびオープンソース情報から、標的とされているのは、ラテンアメリカ全体のスペイン語を話す国々であると考えられます。ペイロードは、通常は、PowerPointプレゼンテーションの一部として、NullsoftインストーラSFXと一緒にパッケージ化されています。SFX内の実行可能ファイルは、Pythonでコンパイルされています。

技術的分析

SFX抽出前/後の静的分析

最初の実行可能ファイルはドキュメントとして偽装されていますが、実際はSFX Nullsoftインストールファイルです。

図1:ドキュメントとして偽装されている最初のSFX

以下のフォルダーが抽出されて、作業ディレクトリで開かれます。これらのフォルダーにもNullSoft SFXファイルが含まれています。

図2:SFXのフェーズ2

図3:SFXのフェーズ3

4番目の抽出により、PowerPointプレゼンテーションファイルと、Java実行可能ファイルとして偽装された別のSFXファイルを含むフォルダーが作成されます。

図4:抽出のフェーズ4で現れる2つのファイル

JavaAlq.exeファイルには、多数のJava実行可能ファイルとPythonライブラリが含まれています。 

図5:抽出後のJavaAlq.exe

元のJavaAlq.exeに含まれるJava実行可能ファイルはそれぞれ、Pythonスクリプトと一緒にコンパイルされています。それぞれに、実行可能ファイルのコンパイルと実行に必要な大量のPythonライブラリが含まれています。これらのJava実行可能ファイルすべてに、ペイロードコンポーネントが含まれています。 

図6:各Java実行可能ファイルに含まれているPythonスクリプトリソースセクション

Py2Exe Binary Editorを使用すると、実行可能ファイルから元のスクリプトを抽出できます。

図7:Java.exe PythonScriptのダンプ結果

ダンプしたPythonスクリプトは、オープンソースのPythonスクリプトエクストラクタを使用して、Pythonファイルに変換する必要があります。

図8:Pythonスクリプトエクストラクタ

悪意のあるスクリプトを取り出す最後のステップは、Pythonスクリプトの逆コンパイルです。それには、Easy Python Decompilerを使用します。

図9:Java.exeのPythonScriptの逆コンパイル

悪意のあるペイロード

Java.exe

Java.exeのペイロードに含まれるキーロギング機能を図10に示します。標準のAsciiキーとそのキーIDがリストされています。このスクリプトでは、キーボードフックも設定されています。

図10:キーストロークのロギングに使用するキーID

図11:キーボードフックの設定

java.exeに含まれるリモートサーバー接続の証拠を図12に示します。

図12:リモートサーバー2へのFTP接続

ドキュメントのタイプをチェックするJavaUE.exe

JavaUE.exeのペイロードには、ターゲットディレクトリに含まれるドキュメントのタイプチェック機能が含まれています。

図13:ターゲットディレクトリに含まれるドキュメントの拡張子タイプのチェック

JavaK.exeのペイロードスクリプト

リモートサーバーに送信されるウェブカメラ情報を図14に示します。興味深いのは、画像を短時間で抜き取るために、情報収集の解像度を低解像度に設定している点です。

図14:ウェブカメラの画像の抜き取り

JavaTM.exeのペイロードスクリプト

JavaS.exeは、最後のプロセスとして実行されます。被害マシンで作成された他のプロセスを終了して削除します。

図15:Javaファイルの削除とプロセスの終了

動的な分析

スクリプトが実行されると、名前に「Java」を含む実行可能ファイルと一緒に一連のファイルが作成されます。ドロップされたcrypo.cipher.AES Pythonファイルは、抜き取ったデータをFTPサーバーに送信するために暗号化します。また、各被害マシンに割り当てる一意のIDを暗号化します。他にインストールされるファイルは、実行可能ファイルがそのペイロードを実行するために必要なPythonライブラリです。被害マシンのデータを記録するためのシステム情報テキストファイルも作成されます。

まとめ

サイランスは、脅威検出用にトレーニングした人工知能ベースのエージェントを、数百万個の安全なファイルと危険なファイルの両方に対して使用しています。サイランスの自動化されたセキュリティエージェントは、特定のファイルシグネチャに依存するのではなく、数え切れないほどのファイル属性と悪意のある行動に基づいてMacheteをブロックします。

ゼロデイ脅威に対する予測優位性 を提供するサイランスは、新種のサイバー攻撃と従来型のサイバー攻撃の両方に対してトレーニングを行い、それらに対して有効な防御を提供します。サイランスのCylancePROTECT®をご利用中のお客様は、サイランスの機械学習モデルによってすでにMacheteから防御されています。  

詳しくは、https://www.cylance.comをご覧ください。

付録

侵入の痕跡(IOC)

インジケータ

タイプ

説明

C:\Windows\system32\cmd.exe /c SCHTASKS /create /ST 00:00:01 /SC MINUTE /MO 60 /TR "\"C:\Users\%USERNAME%\AppData\Roaming/MicroDes/JavaH.exe"\" /TN Microsoft_up, null".

コマンドライン

サービスとしてJavaH.exeを起動するために使用されるスケジュールされたタスク

C:\Users\%USERNAME%\AppData\Roaming\java

パス

インストールフォルダー

C:\Users\%USERNAME%\AppData\Roaming\Bin\Jre6\

パス

インストールフォルダー

C:\Users\%USERNAME%\AppData\Roaming\MicroDes

パス

インストールフォルダー

caso.txt

ファイル

インストールフォルダーに存在

Java.exe

ファイル

インストールフォルダーに存在

JavaD.exe

ファイル

インストールフォルダーに存在

JavaH.exe

ファイル

インストールフォルダーに存在

JavaK.exe

ファイル

インストールフォルダーに存在

JavaS.exe

ファイル

インストールフォルダーに存在

JavaTM.exe

ファイル

インストールフォルダーに存在

JavaUe.exe

ファイル

インストールフォルダーに存在

JavaAlq.exe

ファイル

インストールフォルダーに存在

Ujavap.exe

ファイル

インストールフォルダーに存在


ファイル情報

SHA256

bf25b330975dc700be3f1f6b1b3362e34eb84b89725d4936d893cdd4f1499e69

タイプ

Win32実行可能ファイルNullSoft SFX

サイズ

4830 KB

タイムスタンプ

2008-08-16 20:26:10(タイムスタンプ)

ITW名

Machete、Trojan/Spy.Python.Ragua



著者について

 

Tags: