フィッシングメール攻撃ケースのマルウェア解析:Larva-24009 脅威アクター
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Larva-24009脅威アクターは、世界中の企業、特に韓国の組織に対してフィッシングキャンペーンを展開しています。攻撃にはLNKファイルを使用して難読化されたPowerShellスクリプトを起動し、バックドアやリモートアクセスツールをインストールします。この敵対者は、資格情報の窃取、スクリーンショットのキャプチャ、キーロギングに焦点を当て、機密ユーザーデータを収集して漏洩しています。
調査
調査により、デコイドキュメントと悪意のあるLNKファイルを含むフィッシングメールから始まる多段階の感染経路が明らかになりました。アナリストは、PowerShellが永続性とスケジュール済みタスクの作成に使用され、その後QuasarRATやUltraVNCが展開される様子を観察しました。脅威アクターはNirSoftのユーティリティを自動システム調査に悪用し、Telegram APIを使って感染の成功を報告します。
緩和策
組織は、信頼できない送信元や未確認の送信元からのメール添付ファイルや実行可能ファイルを極度の注意を払いながら扱うべきです。V3を含むセキュリティソフトウェアは、既知のマルウェアシグネチャを検出するために定期的に更新してください。厳格なPowerShell実行ポリシーを施行し、Task Schedulerを監視して疑わしいまたは許可されていないエントリを確認することで、さらに被露出を低減できます。
対応
Larva-24009の活動が検出された場合、影響を受けたシステムは即座に隔離し、横展開とさらなるデータ漏洩を制限する必要があります。レスポンダーは持続性メカニズムのためにスケジュール済みタスクおよびレジストリ変更を調査するべきです。ネットワークログもまた、知られたC2インフラストラクチャへの接続や許可されていないRDPやUltraVNCセッションの兆候を確認するために見直すべきです。
アタックフロー
検出
Powershellから.NETの疑わしいメソッドを呼び出す(via powershell)
Proof of Value
コマンドアンドコントロールチャネルとしてのTelegramの悪用の可能性(via dns_query)
Proof of Value
通常ではないトップレベルドメイン(TLD)DNSリクエストによる疑わしいコマンドアンドコントロール(via dns)
Proof of Value
検出するためのIOC(HashMd5): Larva-24009脅威アクターによるフィッシングメール攻撃ケースのマルウェア分析
Proof of Value
検出するためのIOC(SourceIP): Larva-24009脅威アクターによるフィッシングメール攻撃ケースのマルウェア分析
Proof of Value
検出するためのIOC(DestinationIP): Larva-24009脅威アクターによるフィッシングメール攻撃ケースのマルウェア分析
Proof of Value
Larva-24009 C&C通信およびTelegram API使用の検出 [Windowsネットワーク接続]
Proof of Value
Quasar RATおよびUltraVNCリモートコントロールツールのインストール [Windowsプロセス作成]
Proof of Value
LNKファイルを介した難読化されたPowerShellコマンド実行の検出 [Windows PowerShell]
Proof of Value
シミュレーション実行
前提条件:テレメトリー&ベースラインプレチェックが合格していること。
理論:このセクションは、検出ルールをトリガーするために設計された敵対者の手法(TTP)の正確な実行を詳述しています。コマンドとナラティブはTTPsを直接反映し、検出論理によって期待される正確なテレメトリを生成することを目的としています。抽象的または無関係な例は誤診につながります。
-
攻撃ナラティブとコマンド: 敵対者は初期アクセスを獲得し、ショートカットファイルを使用して永続性/実行の確立を図っています。攻撃者は悪意のある
.lnkファイルを作成し、クリックするとpowershell.exeを起動します。単純な文字列ベースの検出を回避するために、このコマンドは-EncodedCommandパラメータを使用します。このコマンドは、システムノイズに溶け込むように%TEMP%ディレクトリのデコイファイルとやり取りしているように見せかけています。ターゲットテレメトリは、プロセス作成イベントで、powershellがプロセスであり、%TEMP%が存在し、powershellが存在し、-EncodedCommandが引数文字列の一部であることです。%TEMP%or.lnkは引数文字列の一部です。 -
リグレッションテストスクリプト:
# 検出ルールをトリガーするシミュレーションスクリプト # 1. 悪意のあるペイロードを定義する(Base64エンコードされた 'Write-Host "Infiltration Successful"') $payload = [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes("Write-Host 'Infiltration Successful'")) # 2. 検出ロジックに一致するコマンドラインを構築: # 'powershell'、'-EncodedCommand'、および '%TEMP%' を含む $commandLine = "powershell.exe -EncodedCommand $payload -File $env:TEMPdecoy_script.lnk" # 3. テレメトリを生成するためにコマンドを実行 Start-Process "powershell.exe" -ArgumentList "-EncodedCommand $payload -File $env:TEMPdecoy_script.lnk" -WindowStyle Hidden -
クリーンアップコマンド:
# シミュレーション中に作成されたファイルを削除 Remove-Item -Path "$env:TEMPdecoy_script.lnk" -ErrorAction SilentlyContinue