当前位置:首页网络攻防学习使用 eBPF 的高级 IP 智能和 DNS 监控

使用 eBPF 的高级 IP 智能和 DNS 监控

🛡️使用 eBPF 进行高级主机监控和威胁检测🛡️

eBPFShield是一款高性能安全工具,利用 eBPF 和 Python 提供实时IP 情报DNS 监控通过在内核空间中执行,eBPFShield 避免了代价高昂的上下文切换,并通过监控出站连接并与威胁情报源进行比较,有效检测预防网络上的恶意行为。🔍

📝简介

欢迎使用 eBPFShield,这是一款功能强大且直观的安全工具,用于监控和保护您的服务器。eBPFShield具有IP 智能DNS 监控功能,利用 ebpf 和 python 的强大功能提供实时监控和可操作的见解,以识别和减轻潜在威胁。

告别使用 tcpdump 持续监控服务器,转而使用 eBPFShield 提供更高效、自动化的安全解决方案。

可以用来windows、Linux 和 Ubuntu。

使用 eBPF 的高级 IP 智能和 DNS 监控

🛠特征

您可以使用 eBPFShield 执行以下操作:

目前的特点:🔥

  • DNS Monitoring:显示系统中所有的 DNS 查询。
  • IP-Intelligence:监控出站连接(tcp/udp)并根据威胁情报列表进行检查,阻止恶意目标。包括用于拉取公共威胁源的脚本。

功能路线图:📅

  • 使用机器学习算法进行自动化 IP 声誉分析
  • 支持 IPv6 和非标准 DNS 端口,以改善覆盖范围和检测
  • 与流行的SIEM系统集成以进行集中监控和警报
  • JSON 输出,可轻松与UI仪表板集成
  • 非标准端口DNS报文检测

📦 依赖关系

安装

apt install python3-bpfcc bpfcc-tools libbpfcc linux-headers-$(uname -r)

🚀 用法

该工具监视出站连接(仅限 tcp/udp、ipv4)并根据威胁情报列表进行检查。其中包含一个脚本,用于拉取两个公共源、活动 Tor 出口节点列表和 Talos 的 IP 黑名单。只需./update_feeds.sh在该项目的根目录中运行,它就会填充该ip_feeds/目录。您也可以将自定义列表添加到该目录。

update_feeds.sh您可以在 cron 作业中运行该脚本,用于crontab定期更新威胁情报源列表。这可确保该列表保持最新状态,并且 eBPFShield 能够检测和阻止最新的威胁。

运行python main.py开始。开箱即用,它不会采取任何操作,它只会打印看到的违规行为。

$ python main.py -h
usage: main.py [-h] [--block {print, dump, suspend, kill}] [--feature {ebpf_ipintelligence, ebpf_monitor}] [--verbose]

optional arguments:
  -h, --help            show this help message and exit
  --block {print, dump, suspend, kill}
  --feature {ebpf_ipintelligence, ebpf_monitor}
  --verbose

标志下支持两个选项--features

  • ebpf_ipintelligence:使用 tcp/udp 和 ipv4 监控并阻止针对 IP 威胁情报列表的出站连接。
  • ebpf_monitor:显示系统中所有的DNS查询。

目前通过该标志支持四种操作--block

  • print:默认操作,只需写入屏幕即可
  • suspend: 发送 aSIGSTOP到进程。如果您需要将进程保持在可以与其交互的状态,这会很有用。
  • kill: 杀死进程。如果您只想立即停止潜在的恶意行为,这可能很有用。
  • dump:暂停该进程,对其进行核心转储以进行取证,然后将其终止。

如果您对调试感兴趣,该--verbose标志可能对您有用。这告诉程序打印它看到的所有连接,而不仅仅是恶意连接。

样本输出

阻止恶意目的地🚫

  1. 在具有 root 权限的一个终端中:$ sudo python main.py --action kill
  2. 在另一个终端中,作为任何用户,让我们使用curl 将 HTTP 请求发送到 Tor 出口节点,并将另一个请求发送到 google。

我们可以看到,我们只收到了三分之二的警报,并且前两个在连接完成之前被终止。最后的卷发就完成得很好。

root@host:~/eBPFShield# python3 main.py  --feature ebpf_ipintelligence --block kill
The program is running. Press Ctrl-C to abort.
Client:b'curl' (pid:140278) was killed by eBPFShield (ip-blacklist:31.41.8.66)
Client:b'curl' (pid:140279) was killed by eBPFShield (ip-blacklist:103.43.12.106)
root@host:~# curl -v 31.41.8.66
*   Trying 31.41.8.66:80...
* TCP_NODELAY set
Killed
root@host:~# curl -v 103.43.12.106
*   Trying 103.43.12.106:80...
* TCP_NODELAY set
Killed
root@host:~# curl google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
封锁.黑名单.IP.mp4

监控 DNS 流量🔍

root@host:~# dig @1.1.1.1 google.com +tcp +short
172.217.160.206

root@host:~# dig @1.1.1.1 geekwire.com +tcp
104.26.14.176
172.67.69.185
104.26.15.176
root@host:~/eBPFShield# python3 main.py --feature ebpf_monitor
The program is running. Press Ctrl-C to abort.
COMM=dig PID=140623 TGID=140624 DEV=ens3 PROTO=TCP SRC=10.XX.20.37 DST=1.1.1.1 SPT=60687 DPT=53 UID=0 GID=0 DNS_QR=0 DNS_NAME=google.com. DNS_TYPE=A
COMM=dig PID=140623 TGID=140624 DEV=ens3 PROTO=TCP SRC=1.1.1.1 DST=10.XX.20.37 SPT=53 DPT=60687 UID=0 GID=0 DNS_QR=1 DNS_NAME=google.com. DNS_TYPE=A DNS_DATA=172.217.160.206

COMM=dig PID=140627 TGID=140628 DEV=ens3 PROTO=TCP SRC=10.XX.20.37 DST=1.1.1.1 SPT=42469 DPT=53 UID=0 GID=0 DNS_QR=0 DNS_NAME=geekwire.com. DNS_TYPE=A
COMM=dig PID=140627 TGID=140628 DEV=ens3 PROTO=TCP SRC=1.1.1.1 DST=10.XX.20.37 SPT=53 DPT=42469 UID=0 GID=0 DNS_QR=1 DNS_NAME=geekwire.com. DNS_TYPE=A DNS_DATA=104.26.14.176
COMM=dig PID=140627 TGID=140628 DEV=ens3 PROTO=TCP SRC=1.1.1.1 DST=10.XX.20.37 SPT=53 DPT=42469 UID=0 GID=0 DNS_QR=1 DNS_NAME=geekwire.com. DNS_TYPE=A DNS_DATA=172.67.69.185
COMM=dig PID=140627 TGID=140628 DEV=ens3 PROTO=TCP SRC=1.1.1.1 DST=10.XX.20.37 SPT=53 DPT=42469 UID=0 GID=0 DNS_QR=1 DNS_NAME=geekwire.com. DNS_TYPE=A DNS_DATA=104.26.15.176
网络监控.mp4
温馨提示:

文章标题:使用 eBPF 的高级 IP 智能和 DNS 监控

文章链接:https://www.cutrui.cn/2646.html

更新时间:2023年07月02日

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
网络攻防学习

Nosy Parker:在文本数据中寻找秘密

2023-7-2 9:33:00

网络攻防学习

powershell 后门生成器

2023-7-4 14:42:36

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

你有新的私信

请务必要查看您的私信哟~~