freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用A2P2V针对特定目标生成攻击序列
2021-07-04 17:34:41

关于A2P2V

A2P2V,全称为Automated Attack Path Planning and Validation,即自动化攻击路径计划和验证,它是一个计划工具,也是一个网络攻击工具,可以帮助广大研究人员在给特定攻击者目标的情况下确定一组排序攻击序列。该工具的目的是简化流程,以便非专业人士能够使用尽可能多地自动化实现任务,并生成易于理解的安全报告。

A2P2V使用已知的网络拓扑和系统漏洞信息来确定所有攻击序列集,以实现攻击者的目标,并为选定的序列输出所需的步骤(Metasploit命令)。

需要输入系统的数据包括:

初始条件:攻击者当前所获取到的所有信息进行建模。

攻击者的目标:指示状态变化(如ICS系统上的温度变化)或对特定目标主机的远程访问。

漏洞信息:Nessus或Nmap扫描结果或数据自定义(CVS)输入格式。

网络拓扑:描述主机信息和网络连接的自定义XML格式。

功能详细信息:一种自定义XML格式,描述一组已知服务和使用PAP(前置条件、操作和后置条件)模型指定的漏洞利用。

工具要求

A2P2V的运行需要下列组件(其余的均包含在requirements.txt文件中):

Python >= 3.6

Metasploit RPC守护进程(使用55552端口,用户名为msf,密码为welcome1)

Python-tk

在Ubuntu中安装python-tk:

sudo apt install python3.9-tk

运行Metasploit RPC守护进程:

msfrpcd -P welcome1 -S -U msf -a 127.0.0.1 -f -p 55552

工具安装

我们建议广大用户在虚拟环境中安装和使用A2P2V。

创建一个虚拟环境目录venvs:

mkdir $HOME/.venvs/

创建一个虚拟环境:

python3 -m venv .venvs/a2p2v

激活虚拟环境:

source .venvs/a2p2v/bin/activate

工具安装:

cd a2p2v/

pip install .

加载功能定义

工具首次运行时,需要导入功能性定义。比如说,加载预置的默认功能定义文件:

a2p2v --importdb lab_config/capabilities.xml

工具使用-计划模式

我们可以使用下列命令行参数以计划模式运行该系统:

$ a2p2v --plan

此时,我们将会看到下列选项:

TREE#|SCORE|HOPS                                              |FINAL CAPABILITY OPTIONS                          |GOALS

-----|-----|--------------------------------------------------|--------------------------------------------------|---------------

    0| 6.17|GW(1)>HMI(4)>OPC(4)>PLC(1)                        |auxiliary/scanner/scada/modbusclient              |change_temp

-----|-----|--------------------------------------------------|--------------------------------------------------|---------------

    1| 6.17|GW(1)>HMI(4)>USER2(4)>PLC(1)                      |auxiliary/scanner/scada/modbusclient              |change_temp

---------------------------------------------------------------------------------------------------------------------------------

Select an attack tree to execute (or any other value to exit):

详细报告和对应的攻击序列树将会存储在reports/目录下。

工具使用:单目标主机

该工具还可以针对单个目标主机运行:

a2p2v --target USER1

此时将会列出可选的漏洞利用模块:

TREE#|SCORE|CAPABILITY

-----|-----|--------------------------------------------------

    0|  8.4|exploit/windows/smb/ms17_010_eternalblue

-----|-----|--------------------------------------------------

    1|  8.4|exploit/windows/smb/ms17_010_psexec

-----|-----|--------------------------------------------------

    2|  8.4|exploit/windows/smb/ms10_061_spoolss

-----|-----|--------------------------------------------------

    3|  8.2|exploit/windows/rdp/cve_2019_0708_bluekeep_rce

----------------------------------------------------------------

Select a capability to execute, 'a' for all, or any other value to skip: a

生成的报告可以在相对应的系统用例下找到。

项目地址

A2P2V:【GitHub传送门

许可证协议

本项目的开发与发布遵循Apache v2.0开源许可证协议。

# 系统安全 # 攻击计划 # 攻击策略
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录