Living off the Land攻撃とは
「環境寄生型」攻撃の概念と背景
Living off the Land(略称:LOL、LotL)攻撃とは、攻撃対象のシステムに最初から存在する正規のツールやスクリプトエンジンを悪用してサイバー攻撃を実行する手法です。日本語では「環境寄生型攻撃」とも呼ばれます。
この名称は、野外生存術における「現地調達(Living off the Land)」—持参した装備ではなく、その土地にあるものを利用して生き延びる—という概念に由来しています。サイバー攻撃においても、攻撃者は独自のマルウェアを持ち込む代わりに、標的システムに元々存在するツールを「調達」して攻撃に使用します。
この手法が広く採用されるようになった背景には、セキュリティ対策の進化があります。アンチウイルスソフトがシグネチャベースの検知精度を向上させ、ホワイトリスト(許可リスト)方式が普及したことで、攻撃者は新たな回避手法を模索しました。その結果、「検知されにくい正規ツールを悪用する」という戦術が主流となったのです。
| 比較項目 | 従来型マルウェア攻撃 | Living off the Land攻撃 |
|---|---|---|
| 使用ツール | カスタムマルウェア | OS標準搭載ツール |
| ファイル作成 | 実行ファイルをディスクに保存 | ファイル作成なし(多くの場合) |
| アンチウイルス検知 | シグネチャで検知可能 | 正規ツールのため検知困難 |
| ホワイトリスト | ブロック可能 | 許可リストに含まれているため通過 |
| 痕跡 | マルウェアファイルが残る | ログにのみ残る(設定次第) |
攻撃者がLOL手法を選ぶ理由
攻撃者がLiving off the Land手法を選択する理由は明確です。
- 検知回避
- PowerShell.exe、cmd.exe、wmic.exeなどは、あらゆるWindowsシステムで日常的に使用される正規プログラムです。これらの実行自体をブロックすることは、業務に支障をきたすため困難です。セキュリティ製品も、正規ツールの使用を単純に「悪意あり」と判定することはできません。
- ツール開発コストの削減
- カスタムマルウェアの開発には時間とスキルが必要です。LOL手法では、既存の高機能ツールをそのまま悪用できるため、開発コストがかかりません。
- フォレンジック回避
- ファイルレスマルウェアと組み合わせることで、ディスク上に痕跡を残さずに攻撃を実行できます。証拠保全と法的対応の観点からも調査が困難になります。
- 横展開の容易さ
- 正規の管理ツールは、ネットワーク内の他のシステムにリモートでコマンドを実行する機能を持つものが多いです。これにより、権限昇格と横展開が容易になります。
攻撃の増加傾向
LOL攻撃は年々増加しており、現代のサイバー攻撃において主流となっています。
セキュリティベンダーの調査によると、2024年時点で検知された攻撃の約70%以上が何らかの形でLOL手法を使用しています。特にAPT(標的型攻撃)や高度なランサムウェア攻撃において、LOL手法は標準的な戦術となっています。
- APTでの採用率
- 国家支援型の高度な攻撃グループは、検知を回避するためにLOL手法を積極的に採用しています。MITRE ATT&CKフレームワークにおいても、多くのAPTグループがLOL関連のテクニックを使用していることが記録されています。
- ランサムウェアでの活用
- LockBit、BlackCat/ALPHVなど主要なランサムウェアグループは、初期侵入後の偵察、横展開、データ窃取にLOL手法を広く活用しています。
- RaaSでの標準化
- RaaS(Ransomware as a Service)プラットフォームでは、アフィリエイト(実行犯)向けにLOL手法を使ったマニュアルが提供されていることがあります。
LOLBins(Living off the Land Binaries)
LOLBinsとは
LOLBins(Living off the Land Binaries)は、Windows(またはLinux/macOS)に標準搭載されているバイナリ(実行ファイル)のうち、攻撃者に悪用される可能性があるものの総称です。
これらのツールは本来、システム管理や開発、トラブルシューティングのために設計されていますが、その機能が攻撃目的に転用されます。LOLBAS(Living off the Land Binaries and Scripts)プロジェクトでは、これらのツールが体系的にドキュメント化されています。
| ツール名 | 正規用途 | 悪用される機能 | リスクレベル |
|---|---|---|---|
| certutil.exe | 証明書管理 | ファイルダウンロード、Base64エンコード/デコード | 高 |
| powershell.exe | スクリプト実行、管理 | 任意コード実行、ダウンロード、横展開 | 最高 |
| mshta.exe | HTAアプリケーション実行 | リモートスクリプト実行 | 高 |
| regsvr32.exe | DLL登録 | スクリプト実行(Squiblydoo) | 高 |
| rundll32.exe | DLL関数実行 | 悪意あるDLL実行 | 高 |
| bitsadmin.exe | バックグラウンド転送 | マルウェアダウンロード、永続化 | 中 |
| wmic.exe | WMI操作 | リモートコマンド実行、横展開 | 高 |
| msiexec.exe | MSIパッケージインストール | リモートからのマルウェアインストール | 中 |
| cscript.exe/wscript.exe | スクリプト実行 | VBScript/JScript実行 | 中 |
| schtasks.exe | タスクスケジューラ管理 | 永続化、リモート実行 | 中 |
特に悪用されるツールの詳細
certutil.exe
certutil.exeは、Windowsの証明書サービスを管理するためのコマンドラインツールですが、攻撃者に頻繁に悪用されます。
- ファイルダウンロード機能
- 「-urlcache」オプションを使用して、インターネットからファイルをダウンロードできます。正規のダウンロードツール(curl、wgetなど)がなくても、certutilで代替できるため、攻撃者に好まれます。
- Base64エンコード/デコード
- 「-encode」「-decode」オプションで、ファイルをBase64形式に変換できます。これにより、悪意あるスクリプトを難読化して検知を回避したり、バイナリファイルをテキスト形式で転送したりできます。
- 検知ポイント
- certutilの「-urlcache」や「-decode」オプションを含むコマンドライン、一時フォルダへのファイル作成、システム管理者以外のユーザーによる実行などが検知の手がかりとなります。
mshta.exe
mshta.exeは、HTML Application(HTA)を実行するためのツールです。HTAはHTMLとスクリプト(VBScript/JScript)を組み合わせたアプリケーション形式です。
攻撃者は、mshta.exeを使ってリモートサーバー上のHTAファイルを直接実行できます。HTAファイルにはVBScriptやJScriptを含められるため、任意のコードを実行できます。さらに、HTAはInternetExplorerのセキュリティゾーン外で動作するため、一部のセキュリティ制限を回避できます。
regsvr32.exe
regsvr32.exeは、DLLファイルをシステムに登録するためのツールですが、「Squiblydoo攻撃」と呼ばれる手法で悪用されます。
この攻撃では、regsvr32.exeの「/s」(サイレント)と「/u」(登録解除)オプションに加え、「/n」と「/i」オプションを組み合わせて、リモートのスクリプトレット(.sct)ファイルを実行します。この手法はAppLockerを回避できることで知られています。
rundll32.exe
rundll32.exeは、DLLファイル内の関数を直接呼び出すためのツールです。
攻撃者は、悪意あるDLLファイルの特定の関数を実行したり、JavaScriptコードを直接実行したりするためにrundll32.exeを使用します。正規の用途でも広く使用されるため、単純なブロックは困難です。
bitsadmin.exe
bitsadmin.exeは、BITS(Background Intelligent Transfer Service)を管理するためのツールで、Windowsのアップデート時にバックグラウンドでファイルをダウンロードする際に使用されます。
攻撃者は、この機能を悪用してマルウェアをダウンロードします。BITSジョブはシステム再起動後も継続するため、永続化メカニズムとしても使用されます。
Linux環境のLOLBins
Windowsだけでなく、Linux環境にもLOLBinsは存在します。
| ツール名 | 正規用途 | 悪用される機能 |
|---|---|---|
| curl/wget | ファイルダウンロード | マルウェアダウンロード、データ送信 |
| python/perl/ruby | スクリプト実行 | リバースシェル、任意コード実行 |
| cron | タスクスケジューリング | 永続化 |
| ssh | リモート接続 | トンネリング、横展開 |
| netcat (nc) | ネットワークユーティリティ | リバースシェル、データ転送 |
| base64 | エンコード/デコード | ペイロード難読化 |
Linux環境のLOLBinsは「GTFOBins」プロジェクトでドキュメント化されています。
LOLスクリプトとコマンド
PowerShell悪用の実態
PowerShellは、LOL攻撃において最も強力かつ頻繁に悪用されるツールです。
PowerShellは、.NETフレームワークへのアクセス、WMIやCOM操作、リモート実行機能など、システム管理に必要なあらゆる機能を備えています。これらの機能が攻撃目的に転用されます。
- ダウンロード&実行(Download Cradle)
- 「Invoke-Expression」と「DownloadString」(または「Invoke-WebRequest」「Invoke-RestMethod」)を組み合わせて、インターネットからスクリプトをダウンロードし、ファイルに保存せずに直接実行します。これはファイルレス攻撃の典型的なパターンです。
- エンコードコマンド
- 「-EncodedCommand」パラメータを使用して、Base64エンコードされたコマンドを実行します。コマンドラインログを見ても内容が判読できず、一部のセキュリティ製品を回避できます。
- 実行ポリシー回避
- 「-ExecutionPolicy Bypass」パラメータでスクリプト実行ポリシーを回避します。また、「-WindowStyle Hidden」で実行ウィンドウを非表示にし、ユーザーに気づかれにくくします。
- AMSI回避
- AMSI(Antimalware Scan Interface)を回避する技術が多数知られており、攻撃者はこれらを使用してセキュリティ製品によるスクリプト検査を無効化します。
WMI(Windows Management Instrumentation)
WMIは、Windowsシステムの管理情報にアクセスするためのインターフェースで、攻撃者にとっても強力なツールです。
- リモートコマンド実行
- 「wmic /node:ターゲットPC process call create "コマンド"」形式で、ネットワーク内の他のコンピュータにコマンドを実行できます。横展開に頻繁に使用されます。
- 永続化
- WMIイベントサブスクリプションを使用して、特定のイベント(システム起動など)発生時にスクリプトを自動実行する設定が可能です。ファイルを作成せずに永続化できるため、検知が困難です。
- 情報収集
- システム情報、インストールされたソフトウェア、ネットワーク設定など、様々な情報をWMIクエリで取得できます。
cmd.exe/バッチファイル
従来のcmd.exeやバッチファイルも、LOL攻撃に使用されます。
PowerShellほど高機能ではありませんが、より多くのシステムで利用可能であり、監視が手薄なことがあります。「for /f」コマンドによるファイル処理、環境変数を使った難読化、「&&」や「|」によるコマンド連結などの技術が使用されます。
その他のスクリプトエンジン
| スクリプト種類 | 実行ツール | 悪用例 |
|---|---|---|
| VBScript | cscript.exe, wscript.exe | ファイル操作、レジストリ操作、COM操作 |
| JScript | cscript.exe, wscript.exe | HTTPリクエスト、シェルコマンド実行 |
| HTA | mshta.exe | ローカル権限でのスクリプト実行 |
| MSBuild | msbuild.exe | インラインタスクによるコード実行 |
検知と防御
検知の課題
LOL攻撃の検知は、従来のセキュリティ対策では困難です。
- 正規利用との区別
- PowerShell、wmic、certutilなどは、日常的なシステム管理業務で使用されます。すべての使用を「悪意あり」と判定することはできず、正規利用と悪意ある利用を区別する必要があります。
- ホワイトリストの限界
- LOLBinsはOS標準のツールであり、通常はホワイトリストに含まれています。ホワイトリスト方式だけでは防御できません。
- ログの膨大さ
- すべてのコマンド実行をログに記録すると、大量のログが生成されます。その中から悪意ある活動を発見するには、高度な分析が必要です。
振る舞いベース検知
LOL攻撃の検知には、振る舞いベースの分析が不可欠です。
| 検知アプローチ | 検知対象 | 具体例 |
|---|---|---|
| 異常な親子プロセス関係 | 通常ではあり得ないプロセス起動 | Wordからpowershell.exe起動 |
| コマンドライン引数分析 | 不審なパラメータ | -EncodedCommand、-ExecutionPolicy Bypass |
| ネットワーク接続 | 不審な外部通信 | certutilによる外部URLアクセス |
| 実行頻度・時間帯 | 通常と異なるパターン | 深夜のPowerShell実行 |
| ユーザーコンテキスト | 権限に見合わない操作 | 一般ユーザーによるwmic使用 |
推奨されるログ設定
LOL攻撃の検知と調査には、適切なログ設定が不可欠です。
- プロセス作成ログ(Windows Security Log 4688)
- プロセス作成イベントを記録します。グループポリシーで「プロセス作成の監査」を有効にし、「コマンドラインをプロセス作成イベントに含める」も有効化することで、実行されたコマンドの詳細を記録できます。
- PowerShellログ強化
- スクリプトブロックログ(イベントID 4104)を有効にすることで、実行されたPowerShellスクリプトの内容を記録できます。エンコードされたコマンドもデコードして記録されます。モジュールログ(イベントID 4103)とトランスクリプションログも有効化することを推奨します。
- Sysmon導入
- Sysinternals社のSysmon(System Monitor)は、詳細なプロセス情報、ネットワーク接続、ファイル作成、レジストリ変更などを記録できる強力なツールです。LOL攻撃の検知に非常に有効で、EDRを導入できない環境でも一定の可視性を確保できます。
技術的対策
| 対策技術 | 対象 | 効果 | 導入難易度 |
|---|---|---|---|
| WDAC(Windows Defender Application Control) | アプリケーション実行制御 | スクリプトホスト制限可能 | 高 |
| AppLocker | アプリケーション実行制御 | 一部制御可能(回避技術あり) | 中 |
| Constrained Language Mode | PowerShell機能制限 | 危険な操作を制限 | 中 |
| EDR導入 | エンドポイント全体 | 振る舞い検知、対応 | 低〜中 |
| AMSI活用 | スクリプト検査 | 難読化スクリプト検知 | 低 |
EDR(Endpoint Detection and Response)の導入は、LOL攻撃への最も効果的な対策です。EDRは、プロセスの振る舞い、親子関係、コマンドライン引数、ネットワーク接続などを統合的に分析し、LOL攻撃を検知できます。マルウェア感染対策の中核となる技術です。
脅威ハンティング
LOL攻撃のハンティング手法
脅威ハンティングは、既存のセキュリティ対策をすり抜けた攻撃者の活動を能動的に探索する活動です。LOL攻撃は検知が困難なため、ハンティングが特に重要です。
- ベースライン作成
- まず、組織内で「正常な」LOLBinsの使用パターンを把握します。どのユーザーが、どのツールを、どのような目的で使用しているかを文書化します。これにより、異常な使用を識別するための基準が得られます。
- 異常検出
- ベースラインから逸脱する使用パターンを探索します。通常使用されないツールの実行、業務時間外の活動、権限に見合わない操作などを調査します。
- TTPベースの調査
- MITRE ATT&CKフレームワークで文書化されている攻撃者の戦術・技術・手順(TTP)に基づいて、その痕跡を探索します。例えば、「T1218(Signed Binary Proxy Execution)」に関連するregsvr32やrundll32の不審な使用を調査します。
MITRE ATT&CKの活用
MITRE ATT&CKは、サイバー攻撃者の戦術とテクニックを体系化したナレッジベースで、LOL攻撃に関連する多数のテクニックが文書化されています。
| ATT&CK ID | テクニック名 | 関連するLOLBins |
|---|---|---|
| T1059.001 | PowerShell | powershell.exe |
| T1218.005 | Mshta | mshta.exe |
| T1218.010 | Regsvr32 | regsvr32.exe |
| T1218.011 | Rundll32 | rundll32.exe |
| T1197 | BITS Jobs | bitsadmin.exe |
| T1047 | WMI | wmic.exe |
| T1140 | Deobfuscate/Decode Files | certutil.exe |
ATT&CKを活用することで、自組織の検知カバレッジを評価し、不足している部分を特定できます。また、インシデント対応チームでの共通言語としても活用できます。
実践的な防御戦略
優先対策
限られたリソースで効果的にLOL攻撃に対処するための優先順位を示します。
| 優先度 | 対策項目 | 対象 | 効果 |
|---|---|---|---|
| 1 | EDR導入 | 全エンドポイント | 検知・対応能力の大幅向上 |
| 2 | PowerShellログ強化 | 全Windowsシステム | 可視性の確保、調査支援 |
| 3 | Sysmon導入 | 重要システム | 詳細なイベント記録 |
| 4 | 管理者権限の最小化 | 全ユーザー | 攻撃の影響範囲限定 |
| 5 | マクロ実行制限 | Office製品 | 初期感染防止 |
組織的取り組み
LOL攻撃への対策は、技術的対策だけでなく、組織的な取り組みが必要です。
- SOCの対応力強化
- セキュリティオペレーションセンター(SOC)のアナリストが、LOL攻撃のパターンを理解し、振る舞いベースの分析を行えるようトレーニングします。
- レッドチーム演習
- 内部または外部のレッドチームにLOL手法を使った模擬攻撃を依頼し、検知能力と対応力を評価・改善します。
- 継続的な改善
- 新たなLOL手法や回避技術が常に登場するため、脅威インテリジェンスを収集し、検知ルールを継続的に更新します。
- セキュリティ教育
- ユーザー意識向上を通じて、フィッシング詐欺やマクロ有効化への警戒を促し、初期感染を防止します。
よくある質問
- Q: certutilなど正規ツールをブロックすべきですか?
- A: 完全なブロックは業務に支障をきたす可能性があるため推奨しません。代わりに、①一般ユーザーには制限(管理者のみ許可)、②使用時のログ記録強化、③異常な使用パターンの検知、といった多層的なアプローチが効果的です。AppLockerやWDACで細かい制御が可能です。
- Q: PowerShellを無効化すべきですか?
- A: PowerShellは多くの管理業務や自動化に使用されているため、完全な無効化は通常困難です。代わりに、ログ強化(スクリプトブロックログ)、Constrained Language Modeの導入、一般ユーザーへの実行制限、AMSI対応セキュリティ製品の導入など、多層的な対策を推奨します。PowerShell 2.0(ログ機能が弱い)は無効化することを推奨します。
- Q: EDRがあればLOL攻撃は防げますか?
- A: EDRはLOL攻撃の検知に最も効果的な技術ですが、完璧ではありません。高度な攻撃者はEDRを回避する技術を持っています。EDRに加えて、ネットワーク監視、ログ分析、脅威ハンティングなど、複数の層での対策が必要です。また、EDRのアラートに適切に対応できる体制も重要です。
- Q: Sysmonの導入は難しいですか?
- A: Sysmonの基本的な導入自体は比較的簡単です。しかし、効果的に活用するには適切な設定(Configuration)が必要です。SwiftOnSecurity社の設定ファイルなど、コミュニティが公開している設定を参考にすることをお勧めします。ログ量が増加するため、SIEMへの転送やストレージ容量の計画も必要です。
- Q: Living off the Land攻撃とファイルレスマルウェアの違いは何ですか?
- A: 両者は密接に関連していますが、焦点が異なります。Living off the Land攻撃は「正規ツールを悪用する」という手法に焦点を当てています。ファイルレスマルウェアは「ディスクにファイルを作成しない」という特性に焦点を当てています。実際の攻撃では両者が組み合わせて使用されることが多いです。詳細はファイルレスマルウェアのページを参照してください。
まとめ
Living off the Land攻撃は、OS標準の正規ツールを悪用することで、従来のセキュリティ対策を回避する高度な攻撃手法です。PowerShell、certutil、wmic、mshtaなどのLOLBinsは、本来の管理機能が攻撃目的に転用されます。
効果的な対策としては、EDRの導入による振る舞い検知、ログ強化(PowerShellログ、Sysmon)による可視性確保、最小権限の原則による影響範囲の限定が重要です。加えて、脅威ハンティングによる能動的な探索と、MITRE ATT&CKを活用した検知カバレッジの評価も推奨されます。
LOL攻撃への対策は、単一の技術で完結するものではなく、技術的対策と組織的取り組みを組み合わせた多層防御が必要です。セキュリティガバナンスの観点からも、継続的な改善と投資が求められます。
重要なお知らせ
- 本記事は一般的な情報提供を目的としており、個別の状況に対する助言ではありません。
- 実際にマルウェア感染の被害に遭われた場合は、警察(#9110)やIPA(03-5978-7509)などの公的機関にご相談ください。
- 法的な対応が必要な場合は、弁護士などの専門家にご相談ください。
- 記載内容は作成時点の情報であり、攻撃手法は日々進化している可能性があります。
更新履歴
- 初稿公開