freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

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

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

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

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

关于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开源许可证协议。

# 系统安全 # 攻击计划 # 攻击策略
本文为 Alpha_h4ck 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Alpha_h4ck LV.10
好好学习,天天向上
  • 2359 文章数
  • 1024 关注者
Tetragon:一款基于eBPF的运行时环境安全监控工具
2025-01-21
DroneXtract:一款针对无人机的网络安全数字取证工具
2025-01-21
CNAPPgoat:一款针对云环境的安全实践靶场
2025-01-21
文章目录