EDT (Eight-Diagram-tactics)

EDT 是一个检测入侵检测系统安全能力的项目,通过整合各种入侵检测系统常见的 bug 对入侵检测设备的安全能力进行检测。

已知 bug 及检测策略

已知某厂商入侵检测系统仅对常见端口的流量进行检测,EDT 通过随机端口的策略进行检测 运行效果

已知某厂商入侵检测系统引擎会对超过阈值的流量进行拆分,这种提高检测性能的方案会对入侵检测规则的识别造成影响,已知 weblogic 部分反序列化漏洞利用请求由于 body 超过该引擎阈值被拆分,不会被入侵检测规则命中,EDT 通过引入类似漏洞进行检测

运行效果

已知某厂商入侵检测系统引擎对 TCP 进行分片重组后去匹配入侵检测规则。假定有以下网络环境,某 web 服务也会对 TCP 进行重组,且 web 服务等待时间长于入侵检测系统引擎,则可设想是否有一种方法可以通过控制 TCP 分片重组时间对入侵检测系统进行绕过。根据这个思路进行测试,可以对该入侵检测系统进行绕过(但是未100%成功,正在进行进一步分析,检测脚本未集成在 EDT)

运行效果

流量差别

运行效果

已知又有某厂商入侵检测系统的引擎为了提高运行效率,将流量大小超过阈值的流放过,不进行检查,所以 EDT 正在集成大流量绕过的相关测试用例。(当初是因为装有该入侵检测系统的甲方被weblogic横扫了,远程排查发现竟然是因为weblogic的包太大直接被放过了。)

运行效果

但是值得欣慰的是,当我写完博客准备下班的时候,他告警了(网络战必胜)

运行效果

使用教程

获取项目

git clone https://github.com/co0ontty/Eight-Diagram-tactics.git

安装依赖

curl -sSL https://get.docker.com/ | sh
pip3 install pick
pip3 install docker-compose
pip install pocsuite

运行 (入侵检测系统以 mario 为例)

python3 EDT.py

运行效果

唧唧歪歪