渗透测试框架

 

在渗透测试过程中,会面对大量的渗透概念验证(Proof of Concept ,POC) 和漏洞利用(Exploit ,EXP),从中查找所需要的对应脚本非常困难,而渗透测 试框架的出现解决了这一问题,在编写时就将POC和EXP按照一定的格式进行限 制,按照文件夹或文件名进行分类,并内置了许多可调用的模块,以便于POC和 EXP的快速编写。

常见的渗透测试框架包括Metasploit 、Pocsuite 、Fsociety等,本章将介绍 Pocsuite渗透测试框架的使用及编写。主要内容包括:

·Pocsuite简介以及安装和使用方法。

·POC脚本编写。

·EXP脚本编写。

 

 

 

 

 

 

3.1    Pocsuite框架

Pocsuite是一款基于漏洞与POC的远程漏洞验证框架,支持

Windows/Linux/Mac OS X等系统,整个框架操作灵活,既方便了对漏洞的管理、 查找等,也提高了工作效率。

在介绍Pocsuite之前,先来了解两个基本概念:POC ,是用来验证漏洞是否存 在的一段代码;EXP ,指利用系统漏洞进行渗透。先有POC ,后有EXP。

Pocsuite是由“知道创宇404实验室”打造的一款开源的远程漏洞测试框架。它 是知道创宇安全研究团队发展的基石,是团队发展至今一直维护的一个项目。

你可以直接使用Pocsuite进行漏洞的验证与利用,也可以基于Pocsuite进行

POC/EXP的开发,因为Pocsuite同时也是一个POC开发框架。你还可以在漏洞测试 工具里直接集成Pocsuite ,因为Pocsuite也提供标准的调用类。

 

 

 

 

 

 

3.1.1    功能介绍

 

1.漏洞测试框架

Pocsuite 3用Pyhton 3编写,支持验证、利用及壳三种插件模式,你可以指定  单个目标或者从文件中导入多个目标,使用单个POC或者POC集合进行漏洞的验 证或利用。可以使用命令行模式进行调用,也支持类似Metaspolit 的交互模式进行 处理,除此之外,还包含了一些基本功能,如输出结果报告等。

2.POC/EXP开发包

Pocsuite 3也是一个POC/EXP的SDK(也就是开发包),封装了一些基础的 POC类以及一些常用的方法,比如Webshell的相关方法,基于Pocsuite 3进行

POC/EXP的开发,只需要编写最核心的漏洞验证部分代码,而不用去关心整体的 结果输出等其他一些处理。基于Pocsuite 3编写的POC/EXP可以直接被Pocsuite使  用,Seebug网站也有几千个基于Pocsuite的POC/EXP。

3.可被集成模块

Pocsuite 3除了本身是一个安全工具,也可以作为一个Python包被集成进漏洞 测试模块。你还可以基于Pocsuite 3开发自己的应用,我们在Pocsuite 3里封装了可 以被其他程序导入的POC调用类,你可以基于Pocsuite 3进行二次开发,调用

Pocsuite 3开发自己的漏洞验证工具。

4.集成ZoomEye 、Seebug 、Ceye

Pocsuite 3还集成了ZoomEye 、Seebug和Ceye API ,你可以利用ZoomEye API 批量获取指定条件的测试目标(使用ZoomEye的Dork进行搜索),同时通过

Seebug API读取指定组件或者类型的漏洞的POC或者本地POC ,进行自动化的批 量测试。也可以利用Ceye验证盲打的DNS和HTTP请求。

 

 

 

 

 

 

3.1.2    安装

Pocsuite的安装十分便捷,这里提供三种安装方法,可以根据自己主机的命令 来选择适合的方法进行安装,安装完成后使用pocsuite-version验证安装是否成

功。

方法一  通过git命令来克隆代码仓库中的最新源代码,如下所示。

 

>>> git clone [email protected]:nopesec/pocsuite3 .git

方法二

如下所示。

使用下列命令下载最新的源代码zip包,并以解压的方式进行安装,

>>> wget https://github.com/knownsec/pocsuite3/archive/master .zip

返回结果如下:

渗透测试框架_第1张图片

方法三  直接使用pip命令安装方式,如下所示。

>>> pip install pocsuite3

安装完成后需要在Pocsuite文件夹内直接输入如下命令检查安装版本:

>>> pocsuite -version

 

 

 

 

 

 

 

3.1.3    使用方法

Pocsuite具有两种交互模式,一种是命令行模式,类似于我们所熟知的sqlmap 的交互方式,另一种是控制台交互模式,类似于w3af或者Metasploit 的界面。帮助 命令如下:

 

>>> pocsuite --help

返回结果如下:

渗透测试框架_第2张图片
5cc915803f05419e8181118e2eaa1213.png

在使用Pocsuite时,我们可以用--verify参数来调用_verify方法,用于验证目标 是否存在漏洞;用--attack参数调用_attack方法,用来向目标发起攻击。代码如下 所示:

def _attack(self) :

result = {}

#Write your code here

return self.parse_output(result)

def _verify(self) :

result = {}

#Write your code here

return self.parse_output(result)

1)Verify验证模式,验证目标是否存在漏洞。-r为脚本路径,-u为目标地 址,命令如下:

 

 

 

 

 

 

>>> python pocsuite .py -r pocs/test1 .py(poc脚本路径) -u https://www .ms08067 . com --verify

 

2)批量验证,将需要验证的所有目标IP写到一个txt文件中批量利用,命令如 下:

 

>>>python pocsuite .py -r pocs/test1 .py(poc脚本路径) -f url.txt  --verify

3)加载文件夹下的所有poc对目标进行测试,-r为文件夹路径,命令如下:

>>>python pocsuite .py -r pocs/* -u https://www .ms08067 .com --verify

4)使用多线程。--threads表示线程数,在多目标场景下,可以使用该参数提 高效率,命令如下:

>>>python pocsuite .py -r pocs/(poc脚本路径) -u https://www .ms08067 .com --verify --threads 10

5)使用Zoomeye搜索引擎,搜索开放端口为6379的Redis服务,命令如下:

python cli.py --dork 'port :6379 ' --vul-keyword 'redis ' --max-page 2

6)Attack模式,向目标发起有效攻击,命令如下:

>>>python pocsuite .py -r pocs/(poc脚本路径) –u https://www .ms08067 .com  --attack

7)使用shell交互式模式,对目标进行远程控制,命令如下:

>>> python pocsuite .py -r pocs/(poc脚本路径) -u http://www .ms08067 .com --shell

8)使用自定义命令'command' ,调用外部传递参数,进行半交互式命令执 行,命令如下:

pocsuite -u http://ms08067 .com -r pocs/(poc脚本路径) --attack --command "whoami"

 

 

 

你可能感兴趣的:(笔记)