「RecoverIt」と名付けられた新しい攻撃的セキュリティツールが公開され、Windowsサービスの回復メカニズムを悪用することで、レッドチームに横展開と永続化のためのステルス性の高い手法を提供します。
このツールは、サービス作成やバイナリパスの監視に焦点を当てた従来の検知手法を回避します。
長年にわたり、攻撃者は悪意のあるコードを実行するためにWindowsサービスを作成または変更することで、ネットワーク内を横方向に移動してきました。
PsExecやImpacketのようなツールはこの手法に依存していますが、大きな欠点があります。それはノイズです。防御側は、サービスが起動時に実行する特定のファイルパスである ImagePath を厳重に監視しています。
攻撃者がサービスの ImagePath をマルウェアファイル(例: C:\Temp\malware.exe)に向けて変更すると、Endpoint Detection and Response(EDR)システムは多くの場合、即座にそれを検知します。
DLLハイジャックのような手法でさえ、セキュリティチームがサービス構成をより厳密に精査するようになったことで、隠蔽が難しくなっています。
「RecoverIt」の仕組み
セキュリティ研究者TwoSevenOneTによって開発された「RecoverIt」ツールは、正規の ImagePath を完全に変更しないままにすることで、新しい回避策を提示します。
代わりに、Windowsサービスのプロパティにある 回復 タブを武器化します。
Windowsサービスには、管理者がクラッシュを管理するのに役立つ「障害回復」機能が組み込まれています。
サービスが失敗した場合、Windowsは自動的に再起動するよう設定でき、さらに重要なのは、特定のプログラムを実行するようにも設定できる点です。

「RecoverIt」は、無効化された場合の UevAgentService のように自然にクラッシュするサービスを見つけ、その回復ロジックを変更するプロセスを自動化します。
攻撃フローはシンプルですが効果的です:
- ターゲットの特定: ツールは、クラッシュしやすい、または強制的にクラッシュさせられるサービスを特定します。
- 回復アクションの変更: 障害発生時に悪意のあるコマンド(リバースシェルなど)を実行するようサービスを設定します。
- クラッシュの誘発: 攻撃者がサービスを開始します。サービスは実行され、想定どおりクラッシュし、Windowsのサービスコントロールマネージャー(SCM)が「回復」アクションとしてペイロードを自動的に実行します。

この手法が危険なのは、サービスにおける主要な侵害指標(IOC)である ImagePath を回避できるためです。
比較:従来手法 vs. サービス回復の悪用
| 特徴 | 従来のサービス悪用(例:PsExec、Impacket) | サービス回復の悪用(RecoverIt) |
|---|---|---|
| 実行ベクター | サービスを作成または変更して、ペイロードを直接実行する。 | 既存サービスの「障害回復」アクションを悪用する。 |
| ImagePathの状態 | 変更済み/悪意あり。疑わしいバイナリ(例: C:\Temp\malware.exe)を指す、またはハイジャックされたDLLを使用する。 |
正規/未変更。有効で署名済みのWindows実行ファイル(例: C:\Windows\System32\svchost.exe)を指す。 |
| トリガーメカニズム | サービス開始(ペイロードは即時実行)。 | サービスのクラッシュ(サービスが失敗した後に、回復アクションとしてペイロードが実行される)。 |
| ステルス性 | 低~中。EDRやSysmonにより厳しく監視される。 | 高い。標準的な ImagePath およびサービス作成の監視ルールを回避する。 |
| 権限 | 通常は SYSTEM (サービスから継承)。 |
SYSTEM (障害時に services.exe が実行)。 |
| 主な痕跡 | 新規サービス作成ログ、ディスク上のバイナリ、レジストリの ImagePath 変更。 |
レジストリキー FailureCommand の変更、サービスクラッシュに関するイベントログ。 |
サービスを確認するセキュリティアナリストは、ファイルパスに有効で署名済みのMicrosoft実行ファイルが表示されるため、安全だと判断してしまう可能性があります。
悪意のある活動は、標準的なチェックではほとんど監査されない FailureCommand 設定に隠されています。
検知と緩和
この活動を検知するには、セキュリティチームは標準的なサービス作成ログを超えて監視範囲を拡大する必要があります。
防御側は、サービス回復設定の変更に対してアラートを出すべきであり、特にレジストリ値 FailureCommand および FailureActions 内の不審なコマンドを確認する必要があります。
さらに詳しく
サイバーセキュリティ研修コース
情報セキュリティ
ANYRUN
エクスプロイト
情報セキュリティコンサルティング
セキュアDNSフィルタリングソリューション
インフォセック
アンチマルウェアソリューション
ネットワークセキュリティアプライアンス
脆弱性スキャンサービス
さらに、Windowsイベントログの監視によってこの挙動を明らかにできます。
イベントID 7024 および 7031 (サービス終了およびクラッシュイベント)が大量に発生し、その直後に services.exe によってプロセスが即時実行される場合、この回復機能を悪用しようとする活動が進行中であることを示す可能性があります。
翻訳元: https://gbhackers.com/new-recoverit-tool-abuses-windows-service-failure-recovery/