LausivLoader分析:マルチステージマルウェア実行におけるデータの追跡
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
マルスパムキャンペーンがアーカイブ内に悪意のあるJavaScriptファイルを配布し、LausivLoaderマルウェアを展開します。この攻撃の流れでは、プロセスの環境変数と一時ファイルを介してデータを転送するという珍しい手法を使用しています。感染は最終的に複数の.NETローダーとステガノグラフィーを経て、最終的なペイロードを配信します。
調査
アナリストは、内部にJavaScriptファイルを特定しました。 .r01 このファイルは難読化されたコードを使用して、PowerShellコマンドを conhost.exeを通じて起動しました。さらなる分析により、環境変数 Kv7408 and Kv562 がPowerShellステージにファイルパスを渡すために使用され、これにより.NET実行ファイルが復号されることが示されました。後のローダーステージでは、ステガノグラフィーを使用してPNG画像から別のペイロードを抽出します。
緩和策
組織は、メールのなりすましを減らすために厳格なSPFおよびDMARC制御を実施する必要があります。エンドポイント保護は、特にエンコードされたコマンドや環境変数の操作などの疑わしいWScriptやPowerShellのアクティビティを検出する必要があります。セキュリティチームはまた、不審なスケジュールされたタスクの作成と conhost.exe の実行を監視する必要があります。 --headless フラグ。
対応
LausivLoaderの活動が検出された場合、追加のペイロード実行や横移動を防ぐために、影響を受けたホストを直ちに隔離する必要があります。レスポンダーは、注入された.NETアセンブリを特定するためにメモリフォレンジクスを実施し、 %TEMP% and %LOCALAPPDATA% に残存する悪意のあるファイルを検査します。また、 MicrosoftEdgeUpdateTaskCore.
攻撃フロー
この部分をまだ更新しています。
検出
隠されたPowerShellコマンドラインを使用した実行の可能性(cmdline経由)
LOLBAS WScript / CScript(process_creation経由)
LOLBAS Conhost(cmdline経由)
疑わしいPowershell文字列(powershell経由)
疑わしいスケジュールされたタスク(監査経由)
IOCs(HashSha256)で検出:LausivLoader分析、またはマルウェアの段階間でデータを渡す方法
IOCs(HashMd5)で検出:LausivLoader分析、またはマルウェアの段階間でデータを渡す方法
AmsiScanBufferおよびAmsiScanStringパッチ試行の検出[Windows Sysmon]
PowerShellエンコードコマンド実行[Windows Powershell]
シミュレーション実行
-
攻撃の流れとコマンド: 敵対者は単純なキーワードベースのコマンドライン検査を回避しようとしています。そのために、彼らは単純なアクション(この場合、ペイロードのデプロイメントをシミュレートするためのダミーファイルの書き込み)を実行するBase64エンコードコマンドを準備します。
-EncodedCommandパラメータを使用して、平文の文字列Write-Output 'Compromised'を基本的な観察や基本的なセキュリティフィルターから隠そうとしています。 -
回帰テストスクリプト: このスクリプトは、単純なコマンドのBase64エンコード版を生成し、検出ルールに狙いを定めた正確なフラグを使用してそれを実行します。
# 1. 難読化するコマンドを定義します $command = "Write-Output 'Detection Test: Encoded Command Executed'" # 2. コマンドをBase64に変換します(PowerShellにはUTF-16LEが必要です) $bytes = [System.Text.Encoding]::Unicode.GetBytes($command) $encodedCommand = [Convert]::ToBase64String($bytes) # 3. -EncodedCommandフラグを使用してルールをトリガーするためにコマンドを実行します Write-Host "エンコードされたコマンドを実行しています:$encodedCommand" Start-Process powershell.exe -ArgumentList "-EncodedCommand $encodedCommand" -Wait -
クリーンアップコマンド:
# シミュレーションスクリプトでは持続的なアーティファクトは作成されていません。 # ファイルが作成された場合は、ここで削除する必要があります。 Write-Host "シミュレーションのクリーンアップ完了。アーティファクトは残っていません。"