先週、マルウェア拡散に利用される新たな攻撃手法「.url」の出現についてブログ記事を掲載しました。今回の記事では、この「.url」攻撃手法の攻撃チェーンを詳細に分析し、これを積極的に利用しているQuant Loaderマルウェアについて詳しく解説します。
この攻撃で観察された実行シーケンスを示す以下の攻撃チェーンを見てみましょう。この攻撃では、「.url」ファイルがマルウェアの拡散に使用されています。

以下は攻撃チェーンのプロセス概要の図です。

上で説明したように、通常「.url」にはURL(「https://」または「https://」)が含まれますが、このケースでは、SMB共有にアクセスして悪意のあるJavaScriptが実行されることが確認されました。

上記のファイルは CVE-2016-3353 に関連しており、Internet Explorer がインターネット ゾーンの '.url' ファイルを不適切に処理し、リモートの攻撃者が細工したファイルを使用して意図されたアクセス制限を回避できるようになります。
これらのSMB共有は公開されており、認証なしでアクセスできます。図3と図4は、悪意のあるJavaScriptファイルが保存されている公開SMB共有の場所「buyviagraoverthecounterusabb[.]net/documents/」を示しています。悪意のあるSMB共有の場所のIPアドレスは「91.102.153.90」です。


次の図は、SMB プロトコル経由で被害者に配信される悪意のある JavaScript を示しています。

悪意のある JavaScript を開くと、「wscript.exe」アプリケーションによって開かれます。

図 5 に示すように、被害者が「開く」をクリックすると、悪意のある JavaScript によって第 XNUMX 段階のマルウェアがダウンロードされます。この悪意のある JavaScript は高度に難読化されており、第 XNUMX 段階のダウンローダーとしてのみ使用されます。

第2段階のマルウェアはJavaScriptによって「%TEMP%」の場所にダウンロードされ、「cmd.exe」を介して起動されます。これは高度に難読化された実行ファイルで、メモリ内で直接実行されます。このマルウェアは「Quant Loader」の亜種であるようで、他のマルウェアをダウンロードするために使用できます。Quick Heal Security Labsによる分析時点では、Quant Loaderによってダウンロードされたマルウェアは確認されていません。Quant Loaderマルウェアの動作を見てみましょう。
Quant Loaderマルウェアは、「Keyboard Layout\Preload」を通じてシステムのすべてのキーボードロケールをチェックします。ロケールがロシア語、ウクライナ語、カザフスタン語のいずれかである場合、マルウェアは終了します。

Quant Loaderは、以下のレジストリキーを利用して、被害者のシステムの32ビット/64ビット構成を識別します。そして、CnCサーバーとの通信時に、同じ情報をCNCリクエストの一部として使用します。
HKLM\ SOFTWARE \ Microsoft \ Windows \ CurrentVersion ProgramFilesDir (x86)
また、次のレジストリ エントリの存在も確認します。

「dwm.exe」という名前の自己コピーを「 \<8桁の数字>'フォルダを作成し、レジストリの「Run」エントリを通じて自動実行するように設定します。これはシステム内での永続性を確保するために行われます。

この8桁の数字は、CNCサーバーとの通信時にボットID(BotId)として使用されます。BotIdは次の手順で生成されます。
- 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MachineGuid' を読み取ります
- マシンIDの値から発生する数字のみを抽出します
- 最初の5桁を省略し、8桁目以降の5桁を考慮します

次に、ログインしているユーザーに対し、8桁のフォルダと「dwm.exe」ファイルのユーザーアクセス権限を読み取りモードに変更します。これにより、ユーザーはフォルダと「dwm.exe」を削除または変更できなくなります。これは、正規のCACLS Windowsファイルを使用し、以下のコマンドを実行することで実現されます。
cmd /c echo Y|CACLS “c:\users\ \appdata\roaming\48378942\dwm.exe” /P “ :R”
次に、Quant Loader は「Quant」という名前でファイアウォールに以下のルールを追加します。これにより、マルウェアはファイアウォール ルールを回避してインターネット上で通信できるようになります。
netsh advfirewall ファイアウォール ルール名=”Quant” プログラム=”c:\users\ を追加\appdata\roaming\48378942\dwm.exe” dir=出力アクション=許可
また、CNCドメイン「wassronledorhad[.]in」に接続して、他の悪意のあるファイルをダウンロードしようとします。
解析実行時、CNCは応答していませんでした。しかし、静的解析により、Quant LoaderのCNC通信やその他の機能に関する知見が得られました。
CNC サーバーが稼働していれば、以下のファイルがダウンロードされているはずです。
hxxp://wassronledorhad.in/q2/lib/zs.dll.c
hxxp://wassronledorhad.in/q2/lib/bs.dll.c
hxxp://wassronledorhad.in/q2/lib/sql.dll.c
これらのファイルは、それぞれ zs.dll、bs.dll、sqlite3.dll として %APPDATA%\z フォルダーに保存されます。

「zs.dll」と「sqlite3.dll」のファイルサイズが0x20000未満であるかどうかを確認します。その後、zs.dllから「Main」関数を実行します。

Quant Loader は、CNC サーバーに次の要求を送信しようとしました。
hxxp://wassronledorhad[.]in/q2/index.php?id=48378942&c=2&mk=75490e&il=H&vr=1.73&bt=32
ここで、id = BotId、c = リクエストカウンタ、bt = 32/64ビットシステム
次の構造を持つ CNC サーバーからのコマンドを待機します。
[ボットID][コマンド][データ]
コマンドは「pwd」、「exe」、「doc」、「dll」のいずれかになります。

「pwd」コマンドは「Main」関数でzs.dllを実行していることも判明しました。
残りのコマンドについては、マルウェアは「temp」フォルダーに Windows タイムスタンプの名前のファイルを作成します。

コマンドが「exe」の場合、ShellExecute API を使用してファイルを実行します。

コマンドが「doc」の場合、WinExec API を使用してファイルを実行します。

コマンドが「dll」の場合、前述の図13に示すように、「LoadLibrary」と「GetProcaddress」を使用してdllから目的の機能を実行します。
したがって、コマンドに応じて、ボットは他の悪意のあるファイルをダウンロードして実行する可能性があります。
「.Url」攻撃ベクトルは現在、Quant Loaderによって使用されています。今後数日間で、この初歩的な攻撃ベクトル(.url)が他のマルウェアファミリーでも利用されるケースが増える可能性があります。
侵害の兆候:
50C359167CC74A962CACAFF2A795B23C
4394536E9A53B94A2634C68043E76EF8
buyviagraoverthecounterusabb[.]net/documents/B200795218387[.]js
91.102.153.90
主題の専門家
- プラディープ・クルカルニ、アマル・パティル、アニルッダ・ドラス |クイックヒールセキュリティラボ


