はじめに:RecoverItがもたらす新たな脅威
「RecoverIt」と名付けられた新たな攻撃的セキュリティツールが登場し、レッドチームに対し、Windowsサービス障害回復メカニズムを悪用することで、従来型の検出を回避するラテラルムーブメントと永続化のステルス性の高い手法を提供しています。このツールは、サービス作成やバイナリパスの監視に焦点を当てた従来の検出方法を巧妙に回避します。
長年にわたり、攻撃者はマルウェアを実行するためにWindowsサービスを作成または変更することで、ネットワーク全体にラテラルムーブメントを行ってきました。しかし、PsExecやImpacketのようなツールは、ImagePath(サービスが実行する特定のファイルパス)の変更を伴うため、EDR(Endpoint Detection and Response)システムによってすぐにフラグが立てられるという弱点がありました。
RecoverItの仕組み:ImagePathを温存する巧妙な手口
セキュリティ研究者TwoSevenOneTによって開発された「RecoverIt」ツールは、正当なImagePathを完全にそのままにするという斬新な回避策を導入しています。その代わりに、Windowsサービスのプロパティにある「Recovery」タブを悪用します。
Windowsサービスには、クラッシュ管理を支援する組み込みの「障害回復」機能があります。サービスが失敗した場合、Windowsは自動的に再起動するように、または、特定のプログラムを実行するように構成できます。RecoverItは、自然にクラッシュしやすいサービス(例えば、無効化されたUevAgentServiceなど)を見つけ、その回復ロジックを変更するプロセスを自動化します。攻撃フローはシンプルですが効果的です:
- ターゲットの特定:クラッシュしやすい、またはクラッシュさせることができるサービスを特定します。
- 回復アクションの変更:サービスを構成し、障害が発生するたびに悪意のあるコマンド(リバースシェルなど)を実行するように設定します。
- クラッシュのトリガー:攻撃者がサービスを開始します。サービスは期待通りに実行され、クラッシュし、Windowsサービス制御マネージャー(SCM)が「回復」アクションとしてペイロードを自動的に実行します。
この手法は、サービスの主要な侵害指標(IOC)であるImagePathをバイパスするため、非常に危険です。
従来の攻撃手法との比較
RecoverItによるサービス回復の悪用は、従来のサービス悪用とは根本的に異なります。以下の点でそのステルス性が際立っています:
- 実行ベクトル:
従来のサービス悪用: サービスを直接作成または変更してペイロードを実行します。
RecoverIt: 既存のサービスの「障害回復」アクションを悪用します。 - ImagePathのステータス:
従来のサービス悪用: 悪意のあるバイナリを指す、またはDLLハイジャックを使用します。
RecoverIt: 有効で署名されたWindows実行可能ファイル(例:C:\Windows\System32\svchost.exe)を指し、正当なままです。 - トリガーメカニズム:
従来のサービス悪用: サービス開始時(ペイロードはすぐに実行)。
RecoverIt: サービスクラッシュ時(サービスが失敗した後にペイロードが回復アクションとして実行)。 - ステルスレベル:
従来のサービス悪用: EDRやSysmonによって高度に監視され、低〜中程度。
RecoverIt: 標準的なImagePathとサービス作成の監視ルールをバイパスするため、高レベル。
セキュリティアナリストは、このサービスを調査しても、ファイルパスに有効で署名されたMicrosoftの実行ファイルを見つけるため、安全であると判断する可能性があります。悪意のあるアクティビティは、標準的な監査ではほとんど確認されないFailureCommand設定に隠されています。
検出と緩和策:セキュリティチームが取るべき対策
この種の活動を検出するには、セキュリティチームは標準的なサービス作成ログを超えて監視を拡大する必要があります。防御側は、サービス回復設定の変更、特にFailureCommandおよびFailureActionsレジストリ値内の異常なコマンドに注意を払い、アラートを設定すべきです。
さらに、Windowsイベントログの監視も有効です。イベントID 7024および7031(サービス終了およびクラッシュイベント)が大量に発生し、その直後にservices.exeによるプロセス実行が続く場合、この回復機能の悪用が試みられている可能性があります。
元記事: https://gbhackers.com/new-recoverit-tool-abuses-windows-service-failure-recovery/
