zencefilefendi/Kernel_Level_Stealth_Listener
GitHub: zencefilefendi/Kernel_Level_Stealth_Listener
基于 eBPF/XDP 的隐蔽计时通道概念验证框架,用于研究内核级隐蔽通信与蓝队检测策略。
Stars: 6 | Forks: 0
# Project Chronos:eBPF 隐蔽通道与规避研究(PoC)
## 概述
Project Chronos 是一个概念性研究框架,探讨了如何利用 eBPF (Extended Berkeley Packet Filter) XDP (Express Data Path) 钩子来绕过传统的防火墙和深度包检测 (DPI) 设备。该项目没有修改数据包的载荷,而是引入了一种非对称的**隐蔽计时通道**架构,通过将数据调制到合法流量数据包的包间到达时间 (IAT) 中来实现隐蔽通信。
## 研究的架构概念
* **内核级被动监控 (XDP):** 利用无锁、零拷贝的 Per-CPU 映射来测量纳秒级的包到达时间,而不会改变网络数据流。
* **IAT 调制 (计时通道):** 通过在看起来合法的 DNS 数据包(`google.com`)之间注入人为延迟(例如,12ms 的阈值)来编码 `0` 和 `1` 位。
* **解耦持久化:** 将 eBPF 映射挂载到 BPF 虚拟文件系统(`/sys/fs/bpf`),以确保内核钩子在用户空间进程终止后仍能存活。
* **进程伪装:** 探索用户空间进程用于伪造其 `argv[0]` 和 `prctl(PR_SET_NAME)` 的技术,以欺骗如 `ps` 和 `top` 等操作系统监视器。
* **反取证:** 演示自毁(可执行文件删除)和安全内存擦除(`explicit_bzero`),以阻碍事后的应急响应。
## 蓝队检测与防御策略
此 PoC 凸显了传统安全监控中的关键盲点。防御团队应重点关注以下方面以捕获非对称威胁:
1. **网络熵与抖动分析:** 隐蔽计时通道会降低网络流量的自然熵。应将诸如 Zeek 之类的网络安全监控 (NSM) 工具配置为能够检测双峰延迟分布。
2. **eBPF 遥测与限制:** EDR 系统必须严格监控与 `bpf()` 相关的系统调用(特别是 `bpf_object__load` 和映射挂载)。通过 `sysctl -w kernel.unprivileged_bpf_disabled=1` 阻止无特权的 eBPF 使用。
3. **可执行文件与命令行审计:** EDR 代理必须持续将 `argv[0]`(显示名称)与 `/proc/[pid]/exe` 中的实际磁盘路径进行交叉比对。不匹配应触发伪装告警。
4. **系统调用与文件系统监控:** 监控 `unlink` 和 `fopen` 系统调用。正在运行的进程试图覆盖或删除其在磁盘上的自身二进制文件,这是自毁(擦除器/Rootkit)行为的强烈指标。
## 编译与部署(仅限受控实验室环境)
需要 Linux Kernel 5.15+ 和 `libbpf`。
```
# 安装依赖项 (Ubuntu/Debian)
sudo apt install clang llvm libelf-dev libbpf-dev linux-headers-$(uname -r) build-essential
# 编译
make
# 准备 BPF 文件系统并附加 XDP Hook
sudo ./chronos_setup.sh
# 启动 User-space (Decoder/Orchestrator)
sudo ./chronos_ghost
```
标签:ARP欺骗, DNS流量, DNS 解析, Docker镜像, DPI绕过, EDR evasion, EDR绕过, IAT调制, IP 地址批量处理, NSM, Per-CPU Map, PoC, TGT, Windows内核驱动, XDP, 信息隐藏, 内存擦除, 内核级监控, 反取证, 子域名变形, 安全技术验证, 安全渗透, 安全评估, 安全防御策略, 客户端加密, 抖动分析, 攻防演练, 数据包延迟, 数据展示, 时间隐蔽信道, 暴力破解, 流量监控, 深度包检测, 红队, 绕过防火墙, 网络安全, 网络安全分析, 网络熵, 自我销毁, 进程伪装, 进程欺骗, 隐私保护, 隐蔽信道, 零拷贝, 高交互蜜罐