脅威アクターは、検出回避を目的として、従来のコンパイル済みマルウェアから正規のスクリプトエンジンへの移行を加速させています。
最近発覚した高度な侵入事例では、攻撃者がセキュアなJavaScript/TypeScriptランタイムであるDenoを使用したモジュール型リモートアクセス型トロイの木馬(RAT)を展開しました。
攻撃者は巧みなソーシャルエンジニアリングと、マイクロサービスを思わせる分散型アーキテクチャを組み合わせることで、初期エンドポイントセキュリティの突破に成功しました。
さらに、CloudFrontでホストされたWebSocketを介して、秘密裏にコマンド&コントロール(C2)チャネルを確立しています。この侵入事例が特筆される点は、初期実行時に稼働中のエンドポイント検出・応答(EDR)システムを回避したことです。
アラートが発火したのは、その後の偵察活動(内部ディレクトリへのクエリなど)の段階になってからでした。
この事例は防御側にとって重大な死角を浮き彫りにしています。ペイロードのバイナリだけでなく、スクリプトランタイム、ローカルループバックサービス、そして正規のコラボレーションプラットフォームの悪用も監視対象とする必要があります。
攻撃の発端は、特定の従業員を狙った大量メール送付キャンペーン(いわゆるメールボムキャンペーン)でした。わずか1日のうちに、被害者のもとには数百通ものスパムメールが届きました。
この手口には二重の目的がありました。一つは深刻なユーザー疲労を引き起こすこと、もう一つは偽のITサポートが介入するための、きわめて自然な口実を作り出すことです。
メール攻撃が始まってまもなく、標的となった従業員は社内ヘルプデスクを装った外部アカウントからMicrosoft Teamsの着信を受けました。
攻撃者は公開情報から収集したとみられる社内の情報や従業員名を巧みに使い、信頼感を演出しました。
電話に出た従業員に対し、攻撃者は「メール障害への対応」と称して、偽のセルフサービス型サポートポータルへ誘導しました。
ユーザーはpatch09913.bという名前の偽装アーカイブファイルをダウンロードするよう指示されました。攻撃者の誘導に従い、被害者はこのアーカイブをローカルのアプリケーションデータフォルダに展開しました。
その後、メインのペイロードがヘッドレスのコンソールプロセスとして実行され、ユーザーに気づかれないよう、バックグラウンドで静かにDeno環境が起動しました。
Denoはデフォルトでセキュアな設計となっており、ファイルシステムやネットワークなどの機密リソースへのアクセスには明示的なパーミッションフラグが必要です。
この制約を回避するため、マルウェアの作者はマイクロサービス型のアーキテクチャを採用し、RATの機能を高度に難読化された4つのJavaScriptファイルに分割しました。
「文字列配列シフト」と呼ばれる技術で可読テキストを隠蔽することで、このマルウェアはURLやコマンドライン引数の可読性に依存する基本的な静的解析ツールを容易に回避します。infoguardはこのように報告しています。
また、分離されたモジュール間の命令伝達にローカルループバック接続を使用しているため、外部に面したC2プロセスは一見して不審なものに見えにくくなっています。
このような現代の脅威に対抗するには、組織は行動ベースの検知戦略を導入する必要があります。
セキュリティチームは、ユーザーが書き込み可能なディレクトリからのDeno実行、--allow-runや--allow-netといった異常なパーミッションフラグの使用、そしてループバックインターフェースにバインドする一般的でないランタイムなどについてアラートを設定すべきです。
これらのエンドポイント上の指標とコラボレーションプラットフォームの異常を相関分析することで、内部での横断的移動が始まる前にこうした分散型攻撃を食い止めることができます。
注意: IPアドレスおよびドメインは、誤った名前解決やハイパーリンク化を防ぐため、意図的に無害化(例:[.])されています。再有効化は、MISP、VirusTotal、SIEMなどの管理された脅威インテリジェンスプラットフォーム内でのみ行ってください。
翻訳元: https://cyberpress.org/deno-malware-enables-pivoting/