Deep Exploit是一款可与Metasploit链接使用,且 结合 机器学习 的全自动渗透测试工具。
Deep Exploit有两种模式:
Deep Exploit可以识别目标服务器上所有打开端口的状态,并根据过去的经验(即训练结果)精确地执行漏洞利用。
Deep Exploit会对应于用户指定的产品名称和端口号,并组合所有的“漏洞利用模块”,“目标”和“有效载荷”来执行漏洞利用。
如果是“智能模式”,Deep Exploit可以在精确定位点执行攻击(至少尝试1次)。
如果是“暴破模式”,Deep Exploit可以根据用户指定的产品名称和端口号执行漏洞利用。
如果Deep Exploit成功利用了目标服务器,它会进一步的对其他内部服务器执行利用。
你唯一需要的做的就是输入一个命令。
Deep Exploit不需要为它提供“学习数据”。
Deep Exploit具有自学利用方法的能力(使用强化学习)。
Deep Exploit使用multi-agents的分布式学习。所以,我们采用了一种名为 A3C 的高级机器学习模型。
虽然当前Deep Exploit仍为测试版。但是,它可以自动执行以下操作:
情报收集;
威胁建模;
漏洞分析;
漏洞利用;
后渗透;
生成报告。
Deep Exploit使用Nmap执行端口扫描并收集目标服务器的信息。之后,Deep Exploit通过RPC API执行两个Metasploit命令(hosts和services)。
hosts命令的结果:
Hosts ===== address mac name os_name os_flavor os_sp purpose info comments ------- --- ---- ------- --------- ----- ------- ---- -------- 192.168.220.145 00:0c:29:16:3a:ce Linux 2.6.X server
Deep Exploit从主机命令的结果中获取OS类型。在上面的例子中,Deep Exploit获取到的操作系统类型为Linux。
services命令的结果:
Services ======== host port proto info ---- ---- ----- ---- 192.168.220.145 21 tcp vsftpd 2.3.4 192.168.220.145 22 tcp OpenSSH 4.7p1 Debian 8ubuntu1 protocol 2.0 192.168.220.145 23 tcp Linux telnetd 192.168.220.145 25 tcp Postfix smtpd 192.168.220.145 53 tcp ISC BIND 9.4.2 ...snip... 192.168.220.145 5900 tcp VNC protocol 3.3 192.168.220.145 6000 tcp access denied 192.168.220.145 6667 tcp UnrealIRCd 192.168.220.145 8009 tcp Apache Jserv Protocol v1.3 192.168.220.145 8180 tcp Apache Tomcat/Coyote JSP engine 1.1 RHOSTS => 192.168.220.145
Deep Exploit从端口扫描的结果中获取端口号,协议类型,产品名称,以及版本信息。在上面的例子中,Deep Exploit的端口号为21,协议为tcp,产品为vsftpd,版本为2.3.4
Deep Exploit使用名为A3C的高级机器学习模型学习利用的方法。因此,Deep Exploit使用靶机服务器,例如metasploitable2,owaspbwa进行学习。
靶机服务器:
metasploitable2
metasploitable3
其它
Deep Exploit会生成一份汇总漏洞的报告。报告的样式是html。