×

eCapture用户态数据捕获工具

消耗积分:0 | 格式:zip | 大小:1.06 MB | 2022-06-15

刘芳

分享资料个

授权协议 AGPL

开发语言 C/C++ Google Go

操作系统 跨平台

软件类型 开源软件

所属分类 程序开发、 网络工具包

软件简介

eCapture 是一款基于 eBPF 技术实现的用户态数据捕获工具。不需要 CA 证书,即可捕获 https/tls 的通讯明文。pYYBAGKoCrqAHOc3AAJK3goC0yQ717.png

项目在2022年3月中旬创建,一经发布,广受大家喜爱,至今不到两周已经1200多个Star。 poYBAGKoCryAeejZAAQv8VKSvp0250.jpg

作用

不需要CA证书,即可捕获HTTPS/TLS通信数据的明文。

在bash审计场景,可以捕获bash命令。

数据库审计场景,可以捕获mysqld/mariadDB的SQL查询。

官网

代码仓库见:https://github.com/ehids/ecapture 。

产品架构

eCapture系统用户态程序使用Golang语言开发,具有良好的系统兼容性,无依赖快速部署,更适合云原生场景。 内核态代码使用C编写,使用clang/llvm编译,生产bpf字节码后,采用go-bindata转化为golang语法文件,之后采用ehids/ebpfmanager类库,调用bpf syscall进行加载、HOOK、map读取。 golang编译后,无其他任何依赖即可运行,兼容linux kernel 4.18以上所有版本。 pYYBAGKoCr6AQogaAAKp3jFVzfM939.png

eBPF加载机制

关于eBPF详细加载机制,可到https://ebpf.io/ 查阅相关原理。 pYYBAGKoCsCAPM4nAAFoUv443x8291.png

实现原理

如工作原理的图所示,在用户态的加密解密函数中下钩子。 tcpdump(libpcap)是在数据包接收到,XDP处理后,进行clone packet,进行包的复制,发送给用户态进程。二者工作的所在层不一样。

功能介绍

eCapture有三个模块

tls/ssl明文数据捕获

bash命令审计

mysqld数据库审计

第一个功能适用于基于tls/ssl解密需求的运维监控、故障排查、抽样分析场景。

第二个功能适用于安全领域的bash入侵发现场景,这里只是简单的功能,可以在此基础上增加其他功能。

第三个功能适用于数据库审计场景,尤其是做数据安全、数据防泄漏,甚至入侵检测等。同样,可以在此基础上扩充其他功能。 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !