全链路内存马之EBPF内核马

admin 2024年6月29日18:58:42评论2 views字数 843阅读2分48秒阅读模式

项目介绍

ebpf WebShell/内核马,一种新型内核马/WebShell技术

全链路内存马之EBPF内核马

技术特点

  1. 无进程、无端口、无文件(注入后文件可删除)
  2. 执行命令不会新建shell进程,无法通过常规行为检测
  3. 将WebShell注入内核,无法通过常规内存检测
  4. 可改造内核马,适配HTTP协议以外的所有协议

技术缺点

  1. 需要 root 权限
  2. 内核版本需要大于5.2.0 (因为使用了.rodata map,不使用最低能到4.15.0)
  3. 命令不是直接执行,需要等待其他进程执行命令
  4. 无回显

技术原理

通过ebpf hook入/出口流量,筛选出特定的恶意命令,再通过hook execve等函数,将其他进程正常执行的命令替换为恶意命令,达到WebShell的效果

使用方式

测试环境:Ubuntu 20.04.6 LTS + Nginx 1.18.0

下载测试程序 releases 并运行

POST veo=/bin/touch /tmp/pwn

测试程序只能使用 /bin/touch /tmp/pwn 命令

全链路内存马之EBPF内核马

全链路内存马之EBPF内核马

防御方案

环境限制:

  1. 不管是宿主机还是容器,都进行权限收敛,尽量不赋予SYS_ADMIN、CAP_BPF等权限
  2. 大部分eBPF程序类型都需要root权限的用户才能调用执行,尽量控制应用为普通用户权限
  3. 确认 /proc/sys/kernel/unprivileged_bpf_disabled 为 1

特征检查:

  1. 落地elf文件查杀
  2. 新增的ebpf程序字节码分析

运行检查/监控:

  1. 通过bpftool可以检测出是否有新增加的ebpf程序
  2. 检查ebpf文件描述符与引用计数器是否有增加
  3. 运行的ebpf程序字节码分析

防御:使用ebpf技术防御ebpf后门

免责说明

本工具仅面向合法授权的企业安全建设行为,如您需要测试本工具的可用性,请自行搭建靶机环境。

在使用本工具进行检测时,您应确保该行为符合当地的法律法规并且已经取得了足够的授权。请勿对非授权目标进行扫描。

下载地址

https://github.com/veo/ebpf_shell

原文始发于微信公众号(七芒星实验室):全链路内存马之EBPF内核马

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月29日18:58:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   全链路内存马之EBPF内核马https://cn-sec.com/archives/2894268.html

发表评论

匿名网友 填写信息