前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AutoPentest-DRL:使用深度强化学习的自动渗透测试工具

AutoPentest-DRL:使用深度强化学习的自动渗透测试工具

作者头像
FB客服
发布2021-07-03 00:23:10
2.9K0
发布2021-07-03 00:23:10
举报
文章被收录于专栏:FreeBufFreeBuf

关于AutoPentest-DRL

AutoPentest-DRL是一个基于深度强化学习(DRL)技术的自动化渗透测试框架。该框架可以针对给定的网络确定最合适的攻击路径,并可以通过渗透测试工具(如Metasploit)对该网络执行模拟攻击。

该框架可以使用网络扫描工具,如Nmap,来发现目标网络中的漏洞,也可以允许研究人员自行输入参数执行渗透测试。该工具使用了MulVAL攻击图生成器来确定潜在的攻击树,然后以简化的形式将其输入到DQN决策引擎中。

作为输出生成的攻击路径可以输入到渗透测试工具(如Metasploit)中,以对真实的目标网络进行攻击,或者与逻辑网络一起使用,例如用于教育目的。此外,AutoPentest-DRL还使用了拓扑生成算法生成用于训练DQN的多个网络拓扑。

工具依赖

该工具的正常使用需要以下几个额外的工具组件:

  • MulVAL: AutoPentest-DRL所使用的攻击图生成器,可以针对给定的网络生成潜在的攻击路径。 MulVAL需要安装在AutoPentest-DRL文件夹中的repos/mulval目录下。
  • Nmap: AutoPentest-DRL使用Nmap网络扫描器来扫描真实网络中的安全漏洞,下面给出的是在Ubuntu中安装nmap的命令:
代码语言:javascript
复制
sudo apt-get install nmap
  • Metasploit: AutoPentest-DRL所使用的渗透测试工具,可以直接针对真实的目标网络并利用DQN引擎来执行攻击。 要安装Metasploit,可以使用Metasploit网站上提供的安装程序。 另外,我们使用pymetasploit3作为RPC API与Metasploit进行通信,该工具需要安装在Penetration_tools/pymetasploit3目录下。

工具安装

AutoPentest-DRL主要是在Ubuntu 18.04 LTS操作系统上开发的,理论上可以在其他系统平台上正常使用。广大研究人员可以直接访问该项目的【Releases页面】获取最新的工具版本。

AutoPentest-DRL基于Python开发,它还需要几个额外的工具包才能运行。可以使用项目中提供的requirements.txt文件和下列命令来安装必要的软件包,该命令需要在 AutoPentest-DRL/目录下运行:

代码语言:javascript
复制
$ sudo -H pip install -r requirements.txt

最后一步就是安装数据库,其中将包含关于真实主机和漏洞的详细信息。请从该项目的【Releases页面】下载名为database.tgz的文件,并将其提取至Database/目录中。

工具使用

AutoPentest-DRL最简单的使用方式就是以逻辑攻击模式运行,该模式可以针对给定的逻辑网络判断最优的攻击路径。

如需在示例网络拓扑上使用逻辑攻击模式,请从终端窗口运行以下命令:

代码语言:javascript
复制
$ python3 ./AutoPentest-DRL.py logical_attack

MulVal_P/logical_attack.P文件中描述了此攻击模式中使用的逻辑网络拓扑,其中包括有关服务器、服务器连接及其漏洞的详细信息。可以按照MulVAL文档中描述的语法修改此文件。

在逻辑攻击模式下,不进行实际攻击,只提供最优攻击路径作为输出。通过参考文件mulval_results/AttackGraph.pdf中MulVAL生成的攻击图的可视化,您可以详细研究攻击步骤。

项目地址

AutoPentest-DRL:【点击阅读原文】

参考资料

https://github.com/crond-jaist/AutoPentest-DRL/blob/master/user_guide.md

https://github.com/risksense/mulval

https://github.com/DanMcInerney/pymetasploit3

https://www.metasploit.com/

https://www.jaist.ac.jp/misc/crond/index-en.html

https://www.jaist.ac.jp/english/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于AutoPentest-DRL
  • 工具依赖
  • 工具安装
  • 工具使用
  • 项目地址
  • 参考资料
相关产品与服务
网站渗透测试
网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档