Living-Off-the-Land Attacks サイバーのトレンドは移り変わりやすいものですが、現在よく見られる手法の一つに「living-off-the-land」というバイナリの使用があります。living off the land」(LotL)という概念は、Derbycon 3.0(2013年)でChristopher CampbellとMatt Graeberが初めて紹介したもので、OSやユーザーから提供された、通常は正当な目的で使用されているが悪意のあるアクターにも悪用される可能性のあるバイナリを使用する際の攻撃者の行動を指します。これにより、攻撃者は、通常のネットワーク活動や通常の管理作業に紛れ込み、隠れた状態を維持することができ、その結果、赤旗を上げる可能性が低くなります。
LotLBinは、ファイルレス・マルウェアや正規のクラウド・サービスと組み合わせて、組織内で検知されない可能性を高めるために、通常は搾取後の攻撃フェーズで、さまざまな脅威アクターによって使用されていることに留意する必要があります。LotLは、DLLハイジャック、ペイロードの隠蔽、プロセスダンプ、ファイルのダウンロード、UACキーロギングの回避、コードのコンパイル、ログの回避、コードの実行、横方向への移動、持続などの機能を備えています。LotLBinsの概念は新しいものではない。初期のDOSバージョンやUnixシステムをはじめとするほとんどすべての従来型のオペレーティングシステムには、攻撃者が悪用できる実行ファイルが含まれていました。しかし、Windowsの場合、サイバー攻撃者が利用できるWindowsシステムツールが100種類以上存在します。
このブログシリーズでは、脅威となる人物がなぜLotLを使うのか、LotLの仕組みを確認し、実際のLotL攻撃の例を紹介します。また、一般的に使用されているいくつかの手法を検出し、防止するためのガイダンスを紹介します。
Why Attackers Live Off the Land
「living-off-the-land」という手法は、攻撃者にレーダーを掻い潜る機会を与えます。正当なツールであれば疑われることも少なく、ハッシュ値やIOC、シグネチャなど多くの検知方法を回避することができます。
LotL攻撃は非常に効果的です。Ponemon Instituteの「State of Endpoint Security Risk Report」によると、ファイルレス攻撃は、ファイルベース攻撃の約10倍の確率で成功するとのことです。
これらのツールは、通常、セキュリティオペレーションセンター(SOC)のルールからホワイトリストに登録されているため、これらのツールからの活動は無視されることが多いのです。Living off the land(LotL)とは、ランサムウェアのように、攻撃者がマルウェアの使用を攻撃の連鎖のかなり後の段階まで抑制し、被害者に対応する時間をほとんど、あるいは全く与えないという戦術です。
また、悪意のある活動を発見しても、その背後にいるのが誰なのかを調査員が判断しなければならないため、帰属の確認にはさらに時間がかかります。一般的に、サイバー攻撃グループは、使用するマルウェアによって識別されます。高度なサイバー犯罪グループや国家の支援を受けたハッカーは、カスタムメイドのマルウェアを使用することが多いため、特定の活動の背後にいるかどうかを簡単に識別することができます。しかし、LotLツールやカスタムされていないマルウェアを使用して攻撃が行われた場合、そのような活動の背後にいる可能性のある人物を特定することははるかに困難です。
これらの理由を総合すると、攻撃者にとって明らかにメリットがあるため、攻撃者はLotLツールを利用して活動を行うことが多くなっています。
Why is Popularity Continuing?
その証拠に、LotLのTTP(戦術、技術、手順)は、時間が経てば経つほど普及していきます。Crowdstrike社の「2019 Global Threat Report」では、攻撃の40%以上が、すでにインストールされているツールや機能を使って実行されていると指摘しています。
LotLのTTPは、MetaSploit、PowerSploit、Exploit Packなど、オープンソースで人気のあるハッキングフレームワークやツールの中で、ますますアクセスしやすくなっています。言うまでもなく、安価にレンタル・購入できるコモディティ・マルウェアには、販売時にすでにLotL機能が搭載されています。
最近まで、LOLの技術は、コンプロマイズ後の活動で使用されることがほとんどで、攻撃者はPowerShell、Windows Management Instrumentation(WMI)、CMD、Psxec.exeなどの正規の管理ツールを活用して、偵察や横移動を行っていました。しかし、ここ数年、LotLBinは、最初の侵害行為のペイロードの一部として、マルウェア作者の間で人気を博しています。
サイバー攻撃でLotLが使用されていることを検知・分析することは、もはや高度な脅威アクターグループや強固なマルウェアを示唆するものではありません。しかし、ほとんどの組織やセキュリティチームにとって、検知と緩和は依然として困難な状況にあります。
How Do LotL Attacks Work?
先に述べたように、LotLBinsの概念は新しいものではなく、Windowsに特有のものでもありません。ほとんどすべての従来のオペレーティングシステム(OS)には、攻撃者が悪用できる実行ファイルが含まれていますが、ここでは例示のためにWindows OSに焦点を当てて説明します。
LotLアタッカーは、たいてい4つのアプローチのうちの1つを使います。
- Dual-use tools:ネットワークやシステムの管理に使用されるツールをハイジャックすることで、攻撃者はネットワークのトラバース、コマンドの実行、データの盗用、さらには追加プログラムやマルウェアのダウンロードが可能になります。例えば、ファイル転送プロトコル(FTP)クライアントや、他のシステム上でプロセスを実行するために使用されるMicrosoft SysinternalsのツールであるPsExecなどのシステム機能が挙げられます。
- Fileless persistence:再起動後、ハードディスクに読み込まれていないにもかかわらず、悪意のある感染がシステムに残ってしまう攻撃のこと。これは通常、悪意のあるスクリプトをWindowsレジストリに保存することで行われます(VBS(Visual Basic Scripting)に関連する変更など)。
- Memory-only threats:有害なペイロードがメモリ内で直接実行される。これは確立された攻撃形態である。2001年には、マイクロソフト社のウェブサーバー「IIS」の脆弱性を突いた「CODE-RED」というメモリ専用ワームが大量に感染しました。メモリのみを使用する方法では、デバイスのメモリに直接侵入することができ、再起動で除去することができますが、パッチが適用されていないコンピュータは常に再感染の危険にさらされています。
- Non-Portable Executable (PE) file attacks:この方法では、悪意のある感染は、バイナリ実行ファイル(EXE)やダイナミックリンクライブラリ(DLL)を使用せずに、JavaScriptやPowerShellなどの領域に影響を与えます。移植可能な実行ファイルを使用しない攻撃は、JavaScript、PowerShell、マクロやスクリプトを含むMicrosoft Office文書などの領域に影響を与えます。悪意のある感染は、正規のツールの内部に留まります。
攻撃には、これらのカテゴリーのうち1つ以上の活動が含まれることがあり、これまでにいくつかの複合的な脅威が確認されています。
How to Protect Against Living-off-the-Land Attacks
Primary Defense Tactics
LotL攻撃に対する最初の防御策は、ネットワークへの不正なアクセスの可能性を制限することです。すべての VPN やリモートアクセスシステムにおいて、二要素認証と効果的なクレデンシャル管理を行うことが重要です。ユーザとマシンのアイデンティティを管理するための洗練されたアプローチは、悪意のあるアクターの攻撃経路を狭め、ネットワークにアクセスして横方向に移動することを困難にします。鍵や証明書を紛失したり侵害されたりした企業は、特にリスクが高いと言えます。盗まれた鍵やログイン証明書によって、攻撃者は通常は非公開で暗号化されている領域に最初にアクセスできるようになります。また、ID の作成と使用を分析・監視できるようになると、侵入者の行動が最初に発見される可能性が高くなります。(土地を離れて生活している攻撃者は、通常、攻撃を特定しにくい方法で行動することを忘れないでください)。
また、ツール間のデータ交換やネットワーク内のシステム機能が効果的に暗号化されていれば、万が一、攻撃者に気づかれずに侵入されたとしても、その被害を抑えることができます。攻撃者は、証明書の管理に役立つシステム機能も悪用しています。例えば、WindowsプログラムのCertUtil(証明書のダウンロードと更新に使用)は、攻撃者によって悪用されており、ユーザーに危険なファイルを開かせた後、悪意のあるペイロードを追加でダウンロードするために使用されています。
Additional Tips
- ネットワーク内でのDual-use toolsの使用状況を監視する。
- 必要に応じてアプリケーションホワイトリストを使用する。
- 迷惑メール、予期せぬメール、不審なメールの受信に注意する。
- Microsoft Officeの添付ファイルで、ユーザーにマクロを有効にするよう促すものに注意する。
- セキュリティソフトウェアとオペレーティングシステムを常に最新の状態に保つ。
- 2FAやログイン通知などの高度なアカウントセキュリティ機能がある場合は、それを有効にする。
- すべてのアカウントに強力なパスワードを使用する。
- 終了時には必ずセッションからログアウトする。
Taking a Parent-Child Perspective
親プロセスから生成された子プロセスに異常がある場合、悪意のある活動を示している可能性があるため、親子関係の観点から見ると、少し興味深いことになります。例えば、word.exeからpowershell.exeが生成された場合、スピアフィッシングの添付ファイルである可能性があります。親子関係を利用してLotL攻撃を検知する現在のソリューションには、ルールの記述やヒューリスティックな手法があります。これらの解決策はうまく機能しますが、時に厳格すぎたり緩すぎたりして、うまく一般化できません。また、ルールの作成には多大な労力が必要となります。
Search-and-Filter Approach
おそらく、より役立つ戦術は、SIEMを使用して、これらすべてのバイナリ、ライブラリ、スクリプト、コマンド、および操作を検索することです(あなたが持っているログによります)。検索を実行したら、以下に追加の手順を示します。
- まず始めに、これらの検索では、管理者アカウントの動作が多く表示されます。これらのツールは、ネットワーク管理者やシステム管理者が日常的に使用しているものです。これらのユーザーのリストを作成し、検索対象から除外してください。
- 次に、これらのイベントをユーザー名と数でグループ化して見てみましょう。これらのツールや機能が大量に定期的に使用されているアカウントは、調査する必要があります。この方法で、ほとんどの合法的な行動が判明したと満足できるまで作業を続けます。(期間は、お客様の環境の規模や複雑さによって異なります)。
- そして、チューニングされたデータを2つの目的で使用することができます。まず、ログを定期的に調査して、知らないうちにこれらのイベントが急増しているアカウントがないかどうかを確認することができます。また、SIEMのルールを設定して、管理者以外のアカウントによるこれらのツールや機能の使用の急増を検出することもできます。
- その後、すべてのバイナリ、ライブラリ、スクリプト、コマンド、および操作を含むルックアップテーブルまたはリファレンスセットを作成します。そして、あるアカウントが一定期間(推奨は24時間)にこれらを大量に使用し、かつ管理者アカウントではない場合、さらなる調査のために警告を発します。
Additional Resources
これらの攻撃者がどのようなツールや機能を使用しているかを知ることで、これらの攻撃からよりよく保護することができます。世の中には素晴らしいリソースがたくさんあります。その中でも特に役に立つものをいくつか紹介しましょう。
- The LOLBAS Project
このプロジェクトでは、Windows上でLotLテクニックに使用できるすべてのバイナリ、スクリプト、ライブラリをドキュメント化しています。詳細はこちらの Read Me をご覧ください。私たちにとってより重要なのは、次のステップで私たちが探す115のバイナリ、スクリプト、ライブラリをすべてリストアップしたLOLBASを見ることです。
- GTFOBins
LOLBASに触発されて、GTFOBinsはLOTL攻撃の一部として悪用される可能性のある188のUnixバイナリを文書化しています。サイトはこちら - GTFOBins.
- JPCERT/CC
JPCERT/CCは、多くの素晴らしいサイバーセキュリティのコンテンツをリリースしています。2016年に、彼らは攻撃者に悪用されるWindowsコマンドの投稿を公開しましたが、これは今でも当てはまります。これらを「初期調査」「偵察」「感染拡大」の3つのカテゴリーに分けています。ポストの全文はこちらでご覧ください。
- Azure Sentinel Rare Operations
Azure Sentinelの検出機能の1つは、少数のアカウント以外では発生しないはずだが、攻撃者にとっては便利な稀な操作を探すものです。探すべき操作と無視すべきアカウントについては、こちらの記事をご覧ください。
これらのバイナリ、ライブラリ、スクリプト、コマンド、操作は、LotL攻撃を検知してブロックするのに役立つ素晴らしいリソースとなります。
最終的には、ネットワークに侵入した攻撃者が利用できるツールやシステムなどのリソースには限りがあります。攻撃者がアクセスできる潜在的に有害な機能と、その機能を使ってできることを制限することで、LotL攻撃はより早く発見され、阻止されることが期待できます。この記事に興味を持っていただき、上記の防御策のいくつかを実践していただければ幸いです。