从初始 Foothold 到权限提升:CyberStrike 内置后渗透与 29 个 eBPF 内核脚本深度实战
【免费下载链接】CyberStrikeOpen-source AI-powered offensive security harness for automated penetration testing.项目地址: https://gitcode.com/gh_mirrors/cy/CyberStrike
CyberStrike 是一款开源的 AI 驱动进攻性安全平台,主打自动化渗透测试:它内置完整的后渗透工具箱(侦察、凭据收集、权限提升、横向移动、持久化)以及 29 个 eBPF 内核级嗅探脚本,帮助测试者从初始 foothold 一路打到 root,并在内核层捕捉传统工具看不到的攻击行为。本文面向新手,带你完整走一遍这条攻击链路。
一、先认识 CyberStrike:AI 驱动的自动化渗透测试平台
CyberStrike 由 AI Agent 编排整个渗透流程:你描述目标,Agent 自动选择合适的工具、解读输出、规划下一步。平台内置了 13+ Agent、7600+ 攻击技能与 176+ MCP 工具,覆盖 Web 漏洞、内网渗透与云环境审计。
获取项目:
git clone https://gitcode.com/gh_mirrors/cy/CyberStrike本文聚焦它的 Linux 后渗透能力,核心代码位于 packages/cyberstrike/src/tool/linuxhook/ 与 packages/cyberstrike/src/tool/ebpf.ts。
二、拿到 Foothold 后的第一件事:环境侦察
刚拿下一个低权限 shell 时,不要急着乱敲命令。CyberStrike 的detect_env子命令要求每个新目标先跑环境探测:它会自动判断可用的 shell(bash/python3/busybox)、当前权限状态、内核版本、发行版、SELinux/AppArmor 状态,甚至检测你是否身处容器环境,并给出推荐的执行方式。
侦察工具箱还包括:
- system_info / process_enum:收集主机名、内核、登录用户、进程细节,定位安全工具与监控 agent
- network_enum:接口、路由、ARP 缓存、监听端口、iptables 规则
- user_enum / service_enum:账户、sudo 组成员、systemd 服务
- containerDetect:确认是否在 Docker/K8s 里,这直接决定后续提权路线
这些函数定义在 packages/cyberstrike/src/tool/linuxhook/recon.ts,AI Agent 会在会话中自动串联它们。
三、凭据收集:从普通用户走向更高权限的桥梁
后渗透的黄金法则是:先找凭据,再谈提权。CyberStrike 在 packages/cyberstrike/src/tool/linuxhook/credential.ts 中内置了 19 项凭据收集检查:
| 检查项 | 目标 |
|---|---|
shadowDump | 读取/etc/shadow哈希 |
sshKeyHarvest | 扫描.ssh目录密钥 |
browserCredsLinux | 提取浏览器存储的账号密码 |
envSecrets | 环境变量中的 API Key、Token |
dockerConfigCreds | Docker 守护进程凭据 |
gitCredHarvest/netrcHarvest | Git 与.netrc凭据 |
cloudCredHarvest | 云厂商 IMDS/配置文件中的密钥 |
kerberosKeytab | Kerberos 票据文件 |
如果静态文件里没有收获,eBPF 脚本就能在内核层动态捕获(下文详述)。
四、权限提升:25+ 项内置检查自动扫描
这是新手最容易卡住的环节。packages/cyberstrike/src/tool/linuxhook/privesc.ts 内置了 25+ 种提权向量检查,AI Agent 会逐项执行并输出结构化发现(含严重等级与修复建议),常见几类:
- Sudo 滥用:检测
NOPASSWD条目、GTFOBins 可匹配命令(vim/find/python 等)、env_keep中的 LD_PRELOAD - SUID/SGID 扫描:查找可交互 shell 的特殊权限二进制
- Capabilities 滥用:
CAP_SYS_ADMIN等危险能力 - 内核漏洞:自动比对内核版本与已知本地提权 CVE(DirtyPipe、pwnKit 等)
- 容器逃逸:Docker group、LXD group、挂载的 Docker socket
- polkit / pkexec 漏洞:CVE-2021-4034 一键验证
每一项发现都带有checkId(如LNX-SUDO-001)与修复建议,最终会汇总进项目报告,方便写漏洞报告。
五、29 个 eBPF 内核脚本分类详解
CyberStrike 的杀手锏在 packages/cyberstrike/data/ebpf/ 目录:29 个功能脚本 + 1 个清理脚本。它们运行在内核层,能在用户态监控之外捕获数据,分为五大类(脚本注册表见 packages/cyberstrike/src/tool/ebpf.ts):
5.1 凭据与流量嗅探(6 个)
- pam_sniff:hook
pam_get_authtok,捕获所有 PAM 认证会话的明文密码(SSH、sudo、su、锁屏) - ssl_sniff:hook libssl 的
SSL_write/SSL_read,在加密前/解密后拿到 TLS 明文 - keylog:hook TTY 读取,捕获键盘输入
- keyring_sniff:监控内核 keyring(add_key/keyctl),发现绕开文件系统的凭据存储
- dns_sniff:内核级捕获 DNS 查询(udp_sendmsg 端口 53)
- dep_scan:扫描所有进程加载的动态库,定位潜在脆弱依赖
5.2 无文件执行与进程注入检测(6 个)
- memfd_exec:关联
memfd_create + execveat,识别不落盘的 payload 投递 - ptrace_sniff:捕获 ATTACH/POKEDATA/SETREGS,识别 shellcode 注入序列
- crossmem_sniff:监控
process_vm_writev/readv跨进程内存写 - execve_sniff:系统级追踪所有进程执行(PID/PPID/完整命令行)
- ldpreload_sniff:检测 LD_PRELOAD 与
/etc/ld.so.preload的库注入 - userfaultfd_sniff:检测利用用户态缺页处理的竞态利用原语
5.3 隐蔽通道与零拷贝数据流(7 个)
这一组专抓"经典 syscall hook 看不见"的数据搬运:
- io_uring_sniff:监控 io_uring 提交队列,捕获绕过传统 syscall 的文件/ socket 操作(内核 5.1+)
- mmap_sniff:监控 MAP_SHARED 共享内存,发现 covert IPC
- zerocopy_sniff:追踪 splice/tee/sendfile64 的 fd 间零拷贝传输
- bpfmap_sniff:检测用 BPF map 做进程间数据外泄
- futex_sniff:发现基于 futex 信号的定时隐蔽通道
- netlink_sniff:监控路由篡改、防火墙规则注入
- vdso_sniff:检测 VDSO 时间调用侧信道与页篡改
5.4 反隐藏三件套(3 个)
当需要让运维"看不到你"时(仅限授权测试):
- proc_hide:hook
sys_getdents64,让进程从 ps/top//proc中消失 - file_hide:让文件/目录从 ls、find 的目录列表中隐藏
- conn_hide:让指定端口的连接从 netstat、ss 中消失
5.5 系统完整性与操控检测(7 个)
- bpf_integrity:监控
bpf()系统调用,基线比对防篡改,还能识别伪装 CyberStrike 程序名的注入(完整实现见 packages/cyberstrike/data/ebpf/bpf_integrity.py) - mount_sniff / fuse_sniff:检测覆盖 /etc、/usr 的 bind mount 与用户态 FUSE 文件操作
- namespace_sniff:监控 setns/unshare,发现容器逃逸与命名空间跳转
- seccomp_sniff:捕获进程自我放宽沙箱、改名字伪装的行为
- ioctl_sniff:检测 TIOCSTI 键盘注入、控制终端劫持
- perf_sniff:监控 perf_event_open 硬件计数器侧信道
六、横向移动与持久化:打通内网全链条
提权只是中间站。CyberStrike 的后渗透工具箱是完整闭环:
- 横向移动packages/cyberstrike/src/tool/linuxhook/lateral.ts:SSH 隧道、socat 隧道、NFS 攻击、rsync 利用、Ansible/Puppet/Salt 滥用、内网扫描
- 持久化packages/cyberstrike/src/tool/linuxhook/persistence.ts:cron、systemd、PAM 后门、udev 规则、apt/dpkg hook 等 20 种方式
- 痕迹管理packages/cyberstrike/src/tool/linuxhook/evasion.ts:历史清理、时间戳抹除(timestomp)、auditd/SELinux 规避
- 数据回传packages/cyberstrike/src/tool/linuxhook/exfil.ts:DNS/ICMP 隧道、隐蔽通道、隐写回传
七、AI Agent 实战工作流:你只需要描述目标
传统后渗透要手工记住几十个脚本,CyberStrike 的工作方式完全不同:
- Agent 接管 foothold:拿到 shell 后自动执行
detect_env建立环境画像 - 自动规划:根据环境(发行版/内核/容器/云)选择凭据收集 → 提权 → 横向的最优路径
- eBPF 按需注入:静态文件无凭据时,Agent 会调用 ebpf 工具 注入
pam_sniff或ssl_sniff动态捕获 - 结构化输出:每个发现带 checkId、严重等级、证据与修复建议,直接沉淀为报告
所有 eBPF 脚本默认 120 秒超时、支持--json-output机器可读输出,天然适配 AI 解析。
八、离开目标前:永远记得清理
CyberStrike 在 eBPF 工具描述中反复强调:离开目标前必须运行cleanup。packages/cyberstrike/data/ebpf/cleanup.py 会枚举并从系统中卸载全部 CyberStrike eBPF 程序与 map,避免残留钩子被误认为异常组件。配合bpf_integrity --baseline还可以周期性验证自己的探针未被拔除或篡改。
九、核心模块路径速查
| 模块 | 路径 |
|---|---|
| eBPF 工具注册 | packages/cyberstrike/src/tool/ebpf.ts |
| 29 个 eBPF 脚本 | packages/cyberstrike/data/ebpf/ |
| 后渗透总入口 | packages/cyberstrike/src/tool/linuxhook/index.ts |
| 权限提升检查 | packages/cyberstrike/src/tool/linuxhook/privesc.ts |
| 凭据收集 | packages/cyberstrike/src/tool/linuxhook/credential.ts |
| 横向移动 | packages/cyberstrike/src/tool/linuxhook/lateral.ts |
| 持久化 | packages/cyberstrike/src/tool/linuxhook/persistence.ts |
| 清理脚本 | packages/cyberstrike/data/ebpf/cleanup.py |
十、新手常见问题 FAQ
问:eBPF 脚本需要什么权限?答:需要 root。CyberStrike 会在脚本报错时自动提示"请先完成权限提升",所以正确顺序是:先 privesc,再用 eBPF。
问:需要哪些依赖?答:Python3 + BCC(libbpf 生态)与 bpftool,脚本基于内核 tracepoint/uprobe,无特殊内核模块。
问:内核版本有要求吗?答:io_uring_sniff需要 5.1+,其余多数脚本在 4.x+ 内核可运行。
问:合法边界在哪里?答:所有能力仅用于你拥有书面授权的环境(CTF、红蓝对抗、安全评估)。未授权测试在任何司法辖区都涉嫌违法,请务必签署授权书再动手。
从 foothold 到 root,再以内核级视野守住战场——这就是 CyberStrike 把后渗透从"手工作业"变成"AI 编排"的完整路径。🛡️
【免费下载链接】CyberStrikeOpen-source AI-powered offensive security harness for automated penetration testing.项目地址: https://gitcode.com/gh_mirrors/cy/CyberStrike
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考