Caracalは、ユーザーランドプロセスやカーネルレベルのBPFプログラムを従来の監視ツールから隠すことで、レッドチームオペレーターにステルス層を提供するRust製の新しいeBPF(拡張バークレイパケットフィルタ)ルートキットです。永続性、回避、隠蔽が重要となる高度なポストエクスプロイトフェーズ向けに設計されています。

概要
Caracalは、強力なカーネルベースのパケットフィルタリングおよびトレーシングエンジンであるeBPFサブシステムを操作することでLinux環境を標的とします。BPFの可視性のギャップを悪用することで、ps
、top
、ls /proc
、およびbpftool
やbpftop
のようなBPF専用ツールなどの検出メカニズムからプロセスやカーネルフックを隠すことができます。
このツールは、カーネル内部と直接やり取りする特権付きのRustバイナリを介してeBPFプログラムをロードすることで動作します。デプロイ後は、Caracalがカーネルのテレメトリに積極的に干渉し、プロセスリストやイントロスペクションツールからその痕跡を隠します。feroxbusterのようなステージングツールやSliverのようなポストエクスプロイトペイロードを補完し、敵対的な環境下で低ノイズのオペレーター存在を実現します。
主な特徴
- 安全性、高速性、メモリ整合性のためにRustで記述
bpftool
によるeBPFプログラムやマップの列挙を隠蔽ps
、top
、procfs
クエリからユーザーランドプロセスを隠蔽- 柔軟なデプロイを可能にするモジュラーアーキテクチャ
- GPLv3のもとでオープンソース
レッドチームにおける意義
現代の検出戦略は、カーネルレベルのテレメトリやeBPFエージェントを用いたリアルタイム監視にますます依存しています。Caracalはまさにその領域を標的とします。従来のルートキットがノイズが多すぎたりシグネチャ化されている状況下で、高度な回避能力をポストコンプロマイズ時に提供します。次世代の永続化メカニズムや、シェルアクセス後のインメモリステージングベクターとしてデプロイ可能です。
国家レベルの攻撃者や高度持続的脅威(APT)を模倣するレッドチーム演習において、Caracalのようなツールは、振る舞いベースおよびシグネチャベースのエンドポイント検出の両方を回避するステルス技術を模倣することでリアリズムを提供します。これは、CiliumやFalcoのようなeBPFベースの可観測性プラットフォームを防御側が導入している環境で特に重要です。
検出と緩和の考慮事項
現在、Caracalはほとんどの標準的な検出技術を回避します。ただし、防御側は以下を監視すべきです:
- 既知のプロセスにマッピングされていない異常なカーネルメモリアロケーション
procfs
とテレメトリパイプライン間の不一致- auditdログと相関しない隠れたプロセス
- eBPFプログラム数の変化や未検証のプログラムロード
メモリフォレンジックツールやカーネルパッチ整合性フレームワークを用いた高度な監視によって、最終的にはこのようなステルス層を発見できる可能性がありますが、これはアクティブディフェンスにおける未解決の課題です。
結論
Caracalは、レッドチームや攻撃者シミュレーション向けのステルスツール群において大きな進歩を示しています。RustとカーネルeBPF操作の新しい活用により、ほとんどの商用エンドポイント検出システムのレーダーのはるか下で動作します。防御側がeBPFベースのテレメトリへの依存を強める中、攻撃側も適応が求められており、Caracalはその方向への強力な一歩です。
詳細やダウンロードはこちらからご覧いただけます:github.com/adgaultier/caracal
翻訳元: https://www.darknet.org.uk/2025/07/caracal-rust-ebpf-rootkit-for-stealthy-post-exploitation/