Commit 229e1b38 authored by Nong Hoang Tu's avatar Nong Hoang Tu
Browse files

New upstream version 1.8.7

parent 183756fb
Pipeline #4768 failed with stages
......@@ -272,3 +272,8 @@ Cross-platform shell code generation
-----------------
* support encrypted shell (TLS) in shell mode
* fix #228
# version 1.8.7
* fix bug
* optimize code style & docs
* delete the exe tool for compatibility with dfsg
......@@ -16,7 +16,6 @@ phithon <root(at)leavesongs.com>
longofo
* for contributing http server module
Ro0tk1t <https://github.com/Ro0tk1t>
* for contributing multi-ip multi-poc execution features
* fix some issues
......@@ -44,7 +43,7 @@ hex0wn <https://github.com/hex0wn>
* bugfix #139
MrMetatron <https://github.com/MrMetatron>
* console模式,添加系统命令执行,添加pocuite3命令clear清除屏幕功能
* console模式,添加系统命令执行,添加pocsuite3命令clear清除屏幕功能
z3r0yu <https://github.com/zer0yu>
* Add quake dork for pocsuite3
\ No newline at end of file
* Add quake dork for pocsuite3
COPYING -- Describes the terms under which pocsuite is distributed. A copy
of the GNU General Public License (GPL) is appended to this file.
pocsuite is (C) 2014-2018 pocsuite@seebug.org
pocsuite3 is (C) 2014-2021 404-team@knownsec.com
This program is free software; you may redistribute and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; Version 2 (or later) with the clarifications and
Software Foundation; Version 2 with the clarifications and
exceptions described below. This guarantees your right to use, modify, and
redistribute this software under certain conditions. If you wish to embed
pocsuite technology into proprietary software, we sell alternative licenses
......
......@@ -3,20 +3,20 @@
[![Python 3.x](https://img.shields.io/badge/python-3.x-yellow.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/license-GPLv2-red.svg)](https://raw.githubusercontent.com/knownsec/Pocsuite/master/docs/COPYING) [![Twitter](https://img.shields.io/badge/twitter-@seebug-blue.svg)](https://twitter.com/seebug_team) [![build](https://api.travis-ci.org/knownsec/pocsuite3.svg)](https://travis-ci.org/knownsec/pocsuite3)
## Legal Disclaimer
Usage of pocsuite for attacking targets without prior mutual consent is illegal.
pocsuite is for security testing purposes only
Usage of pocsuite3 for attacking targets without prior mutual consent is illegal.
pocsuite3 is for security testing purposes only
## 法律免责声明
未经事先双方同意,使用 pocsuite 攻击目标是非法的。
pocsuite 仅用于安全测试目的
未经事先双方同意,使用 pocsuite3 攻击目标是非法的。
pocsuite3 仅用于安全测试目的
## Overview
pocsuite3 is an open-sourced remote vulnerability testing and proof-of-concept development framework developed by the [**Knownsec 404 Team**](http://www.knownsec.com/).
It comes with a powerful proof-of-concept engine, many powerful features for the ultimate penetration testers and security researchers.
It comes with a powerful proof-of-concept engine, many nice features for the ultimate penetration testers and security researchers.
## Features
* PoC scripts can running with `attack`,`verify`, `shell` mode in different way
* PoC scripts can running with `verify`, `attack`, `shell` mode in different way
* Plugin ecosystem
* Dynamic loading PoC script from any where (local file, redis, database, Seebug ...)
* Load multi-target from any where (CIDR, local file, redis, database, Zoomeye, Shodan ...)
......@@ -54,7 +54,7 @@ It comes with a powerful proof-of-concept engine, many powerful features for the
## Requirements
- Python 3.6+
- Works on Linux, Windows, Mac OSX, BSD
- Works on Linux, Windows, Mac OSX, BSD, etc.
## Installation
......@@ -71,6 +71,7 @@ $ wget https://github.com/knownsec/pocsuite3/archive/master.zip
$ unzip master.zip
$ cd pocsuite3-master
$ pip3 install -r requirements.txt
$ python3 setup.py install
```
......
pocsuite3 开发文档及 PoC 编写规范及要求说明
Pocsuite3 开发文档及 PoC 编写规范及要求说明
---
* [概述](#overview)
* [插件 编写规范](#write_plugin)
* [插件编写规范](#write_plugin)
* [TARGETS 类型插件](#plugin_targets)
* [POCS 类型插件](#plugin_pocs)
* [RESULTS 类型插件](#plugin_results)
* [PoC 脚本编写规范](#write_poc)
* [PoC python脚本编写步骤](#pocpy)
* [可自定义参数的插件](#可自定义参数的插件<div-id="plugin_div"></div>)
* [PoC 编写规范](#write_poc)
* [PoC python 脚本编写步骤](#pocpy)
* [可自定义参数的 PoC](#可自定义参数的插件<div-id="plugin_div"></div>)
* [PoC 编写注意事项](#attention)
* [Pocsuite 远程调用文件列表](#inclue_files)
* [Pocsuite3 远程调用文件列表](#inclue_files)
* [通用API列表](#common_api)
* [通用方法](#api_common)
* [参数调用](#api_params)
* [PoC 代码示例](#PoCexample)
* [PoC Python 代码示例](#pyexample)
* [pocsuite3 集成调用](#pocsuite_import)
* [Pocsuite3 集成调用](#pocsuite_import)
* [PoC 规范说明](#PoCstandard)
* [PoC 编号说明](#idstandard)
* [PoC 命名规范](#namedstandard)
......@@ -27,10 +27,10 @@ pocsuite3 开发文档及 PoC 编写规范及要求说明
### 概述<div id="overview"></div>
本文档为 Pocsuite3 插件及 PoC 脚本编写规范及要求说明,包含了插件、PoC 脚本编写的步骤以及相关 API 的一些说明。一个优秀的 PoC 离不开反复的调试、测试,在阅读本文档前,请先阅读 [《Pocsuite 使用文档》](./USAGE.md)。或参考 https://paper.seebug.org/904/ 查看 pocsuite3 的一些新特性。
本文档为 Pocsuite3 插件及 PoC 脚本编写规范及要求说明,包含了插件、PoC 脚本编写的步骤以及相关 API 的一些说明。一个优秀的 PoC 离不开反复的调试、测试,在阅读本文档前,请先阅读 [《Pocsuite3 使用文档》](./USAGE.md)。或参考 https://paper.seebug.org/904/ 查看 Pocsuite3 的一些新特性。
### 插件编写规范<div id="write_plugin"></div>
pocsuite3 共有三种类型的插件,定义在 `pocsuite3.lib.core.enums.PLUGIN_TYPE` 中。
Pocsuite3 共有三种类型的插件,定义在 `pocsuite3.lib.core.enums.PLUGIN_TYPE` 中。
#### TARGETS 类型插件<div id="plugin_targets"></div>
TARGETS 类型插件用来自定义在系统初始化时候加载检测目标的功能,例如从 redis 或数据库加载 targets
......@@ -115,7 +115,7 @@ register_plugin(HtmlReport)
```
若需要实时的保存结果,需要申明 `handle` 来处理,可参考 https://github.com/knownsec/pocsuite3/blob/master/pocsuite3/plugins/file_record.py 的写法。
若需要实时的保存结果,需要申明 `handle` 来处理,可参考 https://github.com/knownsec/pocsuite3/blob/master/pocsuite3/plugins/file_record.py 的写法。
### PoC 编写规范<div id="write_poc"></div>
......@@ -123,7 +123,7 @@ register_plugin(HtmlReport)
本小节介绍 PoC python 脚本编写
pocsuite3 仅支持 Python 3.x,如若编写 Python3 格式的 PoC,需要开发者具备一定的 Python3 基础
Pocsuite3 仅支持 Python 3.x,如若编写 Python3 格式的 PoC,需要开发者具备一定的 Python3 基础
1. 首先新建一个 `.py` 文件,文件名应当符合 [《PoC 命名规范》](#namedstandard)
......@@ -140,27 +140,27 @@ from pocsuite3.lib.utils import random_str
...
```
3. 填写 PoC 信息字段,**要求认真填写所有基本信息字段**
3. 填写 PoC 信息字段,**认真填写所有基本信息字段**
```python
vulID = '1571' # ssvid ID 如果是提交漏洞的同时提交 PoC,则写成 0
version = '1' # 默认为1
author = 'seebug' # PoC 作者的大名
vulDate = '2014-10-16' # 漏洞公开的时间,不知道就写今天
createDate = '2014-10-16' # 编写 PoC 的日期
updateDate = '2014-10-16' # PoC 更新的时间,默认和编写时间一样
references = ['https://www.sektioneins.de/en/blog/14-10-15-drupal-sql-injection-vulnerability.html'] # 漏洞地址来源,0day 不用写
name = 'Drupal 7.x /includes/database/database.inc SQL注入漏洞 PoC' # PoC 名称
appPowerLink = 'https://www.drupal.org/' # 漏洞厂商主页地址
appName = 'Drupal' # 漏洞应用名称
appVersion = '7.x' # 漏洞影响版本
vulType = 'SQL Injection' # 漏洞类型,类型参考见漏洞类型规范表
desc = '''
Drupal 在处理 IN 语句时,展开数组时 key 带入 SQL 语句导致 SQL 注入,
可以添加管理员、造成信息泄露。
''' # 漏洞简要描述
samples = [] # 测试样列,就是用 PoC 测试成功的网站
install_requires = [] # PoC 第三方模块依赖,请尽量不要使用第三方模块,必要时请参考《PoC第三方模块依赖说明》填写
vulID = '99335' # Seebug 漏洞收录ID,如果没有则为0
version = '1' # PoC 的版本,默认为1
author = 'seebug' # PoC 的作者
vulDate = '2021-8-18' # 漏洞公开日期 (%Y-%m-%d)
createDate = '2021-8-20' # PoC 编写日期 (%Y-%m-%d)
updateDate = '2021-8-20' # PoC 更新日期 (%Y-%m-%d)
references = ['https://www.seebug.org/vuldb/ssvid-99335'] # 漏洞来源地址,0day 不用写
name = 'Fortinet FortiWeb 授权命令执行 (CVE-2021-22123)' # PoC 名称,建议命令方式:<厂商> <组件> <版本> <漏洞类型> <cve编号>
appPowerLink = 'https://www.fortinet.com' # 漏洞厂商主页地址
appName = 'FortiWeb' # 漏洞应用名称
appVersion = '<=6.4.0' # 漏洞影响版本
vulType = 'Code Execution' # 漏洞类型,参见漏洞类型规范表
desc = '/api/v2.0/user/remoteserver.saml接口的name参数存在命令注入' # 漏洞简要描述
samples = ['http://192.168.1.1'] # 测试样列,就是用 PoC 测试成功的目标
install_requires = ['BeautifulSoup4:bs4'] # PoC 第三方模块依赖,请尽量不要使用第三方模块,必要时请参考《PoC第三方模块依赖说明》填写
pocDesc = ''' poc的用法描述 '''
dork = {'zoomeye': 'deviceState.admin.hostname'} # 搜索 dork,如果运行 PoC 时不提供目标且该字段不为空,将会调用插件从搜索引擎获取目标。
suricata_request = '''http.uri; content: "/api/v2.0/user/remoteserver.saml";''' # 请求流量 suricata 规则
suricata_response = '' # 响应流量 suricata 规则
```
4. 编写验证模式
......@@ -192,7 +192,7 @@ def _attack(self):
6. 编写shell模式 [**new**]
pocsuite3 在 shell 模式会默认监听 `6666` 端口,编写对应的攻击代码,让目标执行反向连接运行 pocsuite3 系统 IP 的 `6666` 端口即可得到一个 shell
Pocsuite3 在 shell 模式会默认监听 `6666` 端口,编写对应的攻击代码,让目标执行反向连接运行 Pocsuite3 系统 IP 的 `6666` 端口即可得到一个 shell
```python
def _shell(self):
cmd = REVERSE_PAYLOAD.BASH.format(get_listener_ip(), get_listener_port())
......@@ -201,7 +201,7 @@ def _shell(self):
shell 模式下,只能运行单个 PoC 脚本,控制台会进入 shell 交互模式执行命令及输出
***1.8.5*** 版本开始,pocsuite3 支持 bind shell。shell 模式和原来的操作方式一致,也需要指定监听 ip 和端口,监听 ip 可以是本地任意 ip,也可以是远程 vps ip。
***1.8.5*** 版本开始,Pocsuite3 支持 bind shell。shell 模式和原来的操作方式一致,也需要指定监听 ip 和端口,监听 ip 可以是本地任意 ip,也可以是远程 vps ip。
bind shell 的实现位于 `./pocsuite3/modules/listener/bind_tcp.py`,原理是实现了一个中间层,一端连接漏洞目标的 bind shell(如 telnet 服务、nc 启动的 shell、php 一句话等),另一端连接用户指定的监听 ip 和端口,如此一来,shell 模式可以不受网络环境限制,支持在内网使用。
......@@ -213,7 +213,7 @@ bind shell 的实现位于 `./pocsuite3/modules/listener/bind_tcp.py`,原理
`bind_telnet_shell`:对 telnet 服务的原生支持,在 shell 模式中 `return bind_telnet_shell(ip, port, username, password)`
***1.8.6*** 版本开始,pocsuite3 支持加密的 shell。PoC 中使用 openssl 的反弹命令(也可以用代码反弹),并且在运行时指定 `--tls` 选项。
***1.8.6*** 版本开始,Pocsuite3 支持加密的 shell。PoC 中使用 openssl 的反弹命令(也可以用代码反弹),并且在运行时指定 `--tls` 选项。
7. 结果返回
......@@ -233,7 +233,7 @@ bind shell 的实现位于 `./pocsuite3/modules/listener/bind_tcp.py`,原理
}
```
output 为 Pocsuite 标准输出 API,如果要输出调用成功信息则使用 `output.success(result)`,如果要输出调用失败则 `output.fail()`,系统自动捕获异常,不需要 PoC 里处理捕获,如果 PoC 里使用 try...except 来捕获异常,可通过`output.error('Error Message')` 来传递异常内容,建议直接使用模板中的 parse_output 通用结果处理函数对 _verify 和 _attack 结果进行处理。
output 为 Pocsuite3 标准输出 API,如果要输出调用成功信息则使用 `output.success(result)`,如果要输出调用失败则 `output.fail()`,系统自动捕获异常,不需要 PoC 里处理捕获,如果 PoC 里使用 try...except 来捕获异常,可通过`output.error('Error Message')` 来传递异常内容,建议直接使用模板中的 parse_output 通用结果处理函数对 _verify 和 _attack 结果进行处理。
```
def _verify(self, verify=True):
result = {}
......@@ -272,9 +272,9 @@ from pocsuite3.api import OptString
class DemoPOC(POCBase):
vulID = '00000' # ssvid
vulID = '0' # ssvid
version = '1.0'
author = ['knownsec.com']
author = ['seebug']
vulDate = '2019-2-26'
createDate = '2019-2-26'
updateDate = '2019-2-25'
......@@ -322,7 +322,7 @@ register_poc(DemoPOC)
它可以使你在 `console` 或者 `cli` 模式下调用。
- 在 console 模式下,pocsuite3 模仿了 msf 的操作模式,你只需要使用 `set` 命令来设置相应的参数,然后 `run` 或者 `check` 来执行(`attack``shell` 命令也可以)。
- 在 console 模式下,Pocsuite3 模仿了 msf 的操作模式,你只需要使用 `set` 命令来设置相应的参数,然后 `run` 或者 `check` 来执行(`attack``shell` 命令也可以)。
- 在 cli 模式下,如上面例子所示,定义了 `username``password` 两个字段,你可以在参数后面加上 `--username test --password test` 来调用执行,需要注意的是,如果你的参数中包含了空格,用双引号 `"` 来包裹它。
##### 自定义字段
......@@ -335,7 +335,7 @@ from pocsuite3.api import OptString, OptDict, OptIP, OptPort, OptBool, OptIntege
| 字段类型 | 字段描述 | 参数解释 | 相关例子 |
| ---------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -------- |
| OptString | 接收字符串类型数 | default: 传入一个默认值<br />descript: 字段描述,默认为空<br />require: 是否必须,默认False | |
| OptString | 接收字符串类型数 | default: 传入一个默认值<br />descript: 字段描述,默认为空<br />require: 是否必须,默认False | |
| OptDict | 接收一个字典类型参数,在选择上如果选择key,调用时会调用对应的value | default: 传入一个默认值<br />descript: 字段描述,默认为空<br />require: 是否必须,默认False | |
| OptIP | 接收IP类型的字符串 | default: 传入一个默认值<br />descript: 字段描述,默认为空<br />require: 是否必须,默认False | |
| OptPort | 接收端口类型参数 | default: 传入一个默认值<br />descript: 字段描述,默认为空<br />require: 是否必须,默认False | |
......@@ -348,8 +348,8 @@ from pocsuite3.api import OptString, OptDict, OptIP, OptPort, OptBool, OptIntege
#### PoC 编写注意事项<div id="attention"></div>
1. 要求在编写 PoC 的时候,尽量的不要使用第三方模块,如果在无法避免的情况下,请认真填写 install_requires 字段,填写格式参考《PoC 第三方模块依赖说明》。
2. 要求编写 PoC 的时候,尽量的使用 Pocsuite 已经封装的 API 提供的方法,避免自己重复造轮子,对于一些通用方法可以加入到 API,具体参考《通用 API 列表》。
3. 如果 PoC 需要包含远程文件等,统一使用 Pocsuite 远程调用文件,具体可以参考[《Pocsuite 远程调用文件列表》](#inclue_files),不要引入第三方文件,如果缺少对应文件,联系管理员添加。
2. 要求编写 PoC 的时候,尽量的使用 Pocsuite3 已经封装的 API 提供的方法,避免自己重复造轮子,对于一些通用方法可以加入到 API,具体参考《通用 API 列表》。
3. 如果 PoC 需要包含远程文件等,统一使用 Pocsuite3 远程调用文件,具体可以参考[《Pocsuite3 远程调用文件列表》](#inclue_files),不要引入第三方文件,如果缺少对应文件,联系管理员添加。
4. 要求每个 PoC 在编写的时候,尽可能的不要要求输入参数,这样定制化过高,不利于 PoC 的批量化调度执行,尽可能的 PoC 内部实现参数的构造,至少应该设置默认值,如某个 PoC 需要指定用户id,那么应该允许使用 extar_param 传入 id,也应该没有传入该参数的时候自动设置默认值,不应该影响 PoC 的正常运行与验证。
5. 要求每个 PoC 在输出结果的时候,尽可能的在不破坏的同时输出取证信息,如输出进程列表,具体参考[《PoC 结果返回规范》](#resultstandard)
6. 要求认真填写 PoC 信息字段,其中 vulID 请填写 Seebug 上的漏洞 ID(不包含 SSV-)。
......@@ -391,10 +391,10 @@ from pocsuite3.api import OptString, OptDict, OptIP, OptPort, OptBool, OptIntege
8. 任意文件如果需要知道网站路径才能读取文件的话,可以读取系统文件进行验证,要写 Windows 版和 Linux 版两个版本。
9. 检测模式下,上传的文件一定要删掉。
10. 程序可以通过某些方法获取表前缀,just do it;若不行,保持默认表前缀。
11. PoC 编写好后,务必进行测试,测试规则为:5 个不受漏洞的网站,确保 PoC 攻击不成功;5 个受漏洞影响的网站,确保 PoC 攻击成功
11. PoC 编写好后,务必进行测试,测试规则为:5 个不受漏洞影响的网站,确保 PoC 攻击不成功;5 个受漏洞影响的网站,确保 PoC 攻击成功
#### Pocsuite3 远程调用文件列表<div id="inclue_files"></div>
部分 PoC 需要采用包含远程文件的形式,要求基于 Pocsuite3 的 PoC 统一调用统一文件(如需引用未在以下文件列表内文件,请联系 s1@seebug.org 或者直接提交 issue)。
部分 PoC 需要采用包含远程文件的形式,要求基于 Pocsuite3 的 PoC 统一调用统一文件(如需引用未在以下文件列表内文件,请联系 404-team@knownsec.com 或者直接提交 issue)。
统一 URL 调用路径:`http://pocsuite.org/include_files/`,如 `http://pocsuite.org/include_files/xxe_verify.xml`
**文件列表**
......@@ -427,9 +427,9 @@ from pocsuite3.api import OptString, OptDict, OptIP, OptPort, OptBool, OptIntege
**参数调用**<div id="api_params"></div>
* self.headers 用来获取 http 请求头, 可以通过 --cookie --referer, --user-agent, --headers 来修改和增加需要的部分
* self.params 用来获取 --extra-params 赋值的变量,Pocsuite 会自动转化成字典格式,未赋值时为空字典
* self.url 用来获取 -u / --url 赋值的 URL,如果之前赋值是 baidu.com 这样没有协议的格式时, Pocsuite 会自动转换成 http:// baidu.com
* self.headers 用来获取 http 请求头, 可以通过 --cookie, --referer,--user-agent,--headers 来修改和增加需要的部分
* self.params 用来获取 --extra-params 赋值的变量,Pocsuite3 会自动转化成字典格式,未赋值时为空字典
* self.url 用来获取 -u / --url 赋值的 URL,如果之前赋值是 baidu.com 这样没有协议的格式时, Pocsuite3 会自动转换成 http://baidu.com
##### ShellCode 生成支持
......@@ -653,9 +653,9 @@ register_poc(DemoPOC)
```
### pocsuite3 集成调用<div id="pocsuite_import"></div>
### Pocsuite3 集成调用<div id="pocsuite_import"></div>
pocsuite3 api 提供了集成调用` pocsuite3` 的全部功能函数,可参见测试用例 `tests/test_import_pocsuite_execute.py`。典型的集成调用方法如下:
Pocsuite3 api 提供了集成调用` pocsuite3` 的全部功能函数,可参见测试用例 `tests/test_import_pocsuite_execute.py`。典型的集成调用方法如下:
```python
from pocsuite3.api import init_pocsuite
......@@ -820,6 +820,7 @@ result:[
<tr><td>Arbitrary File Creation </td><td> 任意文件创建 </td><td> file-creation</td></tr>
<tr><td>Arbitrary File Download </td><td> 任意文件下载 </td><td> file-download</td></tr>
<tr><td>Arbitrary File Deletion </td><td> 任意文件删除 </td><td> file-deletion</td></tr>
<tr><td>Arbitrary File Read </td><td> 任意文件读取 </td><td> file-read</td></tr>
<tr><td>Backup File Found </td><td> 备份文件发现 </td><td> bak-file-found</td></tr>
<tr><td>Database Found </td><td> 数据库发现 </td><td> db-found</td></tr>
<tr><td>Directory Listing </td><td> 目录遍历 </td><td> dir-listing</td></tr>
......@@ -835,7 +836,25 @@ result:[
<tr><td>Malware </td><td> 挂马 </td><td> mal</td></tr>
<tr><td>Black Link </td><td> 暗链 </td><td> black-link</td></tr>
<tr><td>Backdoor </td><td> 后门 </td><td> backdoor</td></tr>
<tr><td>Insecure Cookie Handling </td><td> 不安全的Cookie </td><td> insecure-cookie-handling</td></tr>
<tr><td>Shellcode </td><td> Shellcode </td><td> shellcode</td></tr>
<tr><td>Variable Coverage </td><td> 变量覆盖 </td><td> variable-coverage</td></tr>
<tr><td>Injecting Malware Codes </td><td> 恶意代码注入 </td><td> injecting-malware-codes</td></tr>
<tr><td>Upload Files </td><td> 文件上传 </td><td> upload-files</td></tr>
<tr><td>Local Overflow </td><td> 本地溢出 </td><td> local-overflow</td></tr>
<tr><td>Path Traversal </td><td> 目录穿越 </td><td> path-traversal</td></tr>
<tr><td>Unauthorized Access </td><td> 未授权访问 </td><td> unauth-access</td></tr>
<tr><td>Remote Overflow </td><td> 远程溢出 </td><td> remote-overflow</td></tr>
<tr><td>Man-in-the-middle </td><td> 中间人攻击 </td><td> mitm</td></tr>
<tr><td>Out of Memory </td><td> 内存溢出 </td><td> out-of-memory</td></tr>
<tr><td>Buffer Over-read </td><td> 缓冲区越界读 </td><td> buffer-over-read</td></tr>
<tr><td>Backup File Found </td><td> 备份文件泄漏 </td><td> backup-file-found</td></tr>
<tr><td>Use After Free </td><td> 释放后使用 </td><td> uaf</td></tr>
<tr><td>DNS Hijacking </td><td> DNS劫持 </td><td> dns-hijacking</td></tr>
<tr><td>Improper Input Validation </td><td> 不正确的输入校验 </td><td> improper-input-validation</td></tr>
<tr><td>Universal Cross-site Scripting </td><td> 通用型XSS </td><td> uxss</td></tr>
<tr><td>Server-Side Request Forgery </td><td> 服务器端请求伪造 </td><td> ssrf</td></tr>
<tr><td>Other </td><td> 其他 </td><td> other</td></tr>
</table>
也可以参见[漏洞类型规范](http://seebug.org/category)
......@@ -44,8 +44,7 @@ Request:
--cookie COOKIE HTTP Cookie header value
--host HOST HTTP Host header value
--referer REFERER HTTP Referer header value
--user-agent AGENT HTTP User-Agent header value
--random-agent Use randomly selected HTTP User-Agent header value
--user-agent AGENT HTTP User-Agent header value (default random)
--proxy PROXY Use a proxy to connect to the target URL
--proxy-cred PROXY_CRED
Proxy authentication credentials (name:password)
......@@ -55,7 +54,7 @@ Request:
--headers HEADERS Extra headers (e.g. "key1: value1\nkey2: value2")
Account:
Telnet404ShodanCEyeFofa account options
Telnet404, Shodan, CEye, Fofa account options
--login-user LOGIN_USER
Telnet404 login user
......@@ -75,7 +74,7 @@ Account:
Censys secret
Modules:
Modules(SeebugZoomeyeCEyeFofaQuake Listener) options
Modules(Seebug, Zoomeye, CEye, Fofa, Quake, Listener) options
--dork DORK Zoomeye dork used for search.
--dork-zoomeye DORK_ZOOMEYE
......@@ -88,7 +87,7 @@ Modules:
Fofa dork used for search.
--dork-quake DORK_QUAKE
Quake dork used for search.
--max-page MAX_PAGE Max page used in ZoomEye API(10 targets/Page).
--max-page MAX_PAGE Max page used in search API.
--search-type SEARCH_TYPE
search type used in ZoomEye API, web or host
--vul-keyword VUL_KEYWORD
......@@ -98,6 +97,7 @@ Modules:
Connect back host for target PoC in shell mode
--lport CONNECT_BACK_PORT
Connect back port for target PoC in shell mode
--tls Enable TLS listener in shell mode
--comparison Compare popular web search engines
--dork-b64 Whether dork is in base64 format
......@@ -111,8 +111,7 @@ Optimization:
--batch BATCH Automatically choose defaut choice without asking.
--requires Check install_requires
--quiet Activate quiet mode, working without logger.
--ppt Hiden sensitive information when published to the
network
--ppt Hiden sensitive information when published to the network
--pcap use scapy capture flow
--rule export rules, default export reqeust and response
--rule-req only export request rule
......@@ -124,6 +123,8 @@ Poc options:
--options Show all definition options
[*] shutting down at 14:39:27
```
**-f, --file URLFILE**
......@@ -134,7 +135,7 @@ Scan multiple targets given in a textual file
$ pocsuite -r pocs/poc_example.py -f url.txt --verify
```
> Attack batch processing mode only need to replace the ```--verify``` to ``` --attack```.
> Attack batch processing mode only need to replace the ```--verify``` to ```--attack```.
**-r POCFILE**
......
......@@ -7,15 +7,15 @@
.SH NAME
.I poc-console
\- console mode of
.B pocsuite.
.B pocsuite3.
.SH Legal Disclaimer
poc-console is part of pocsuite. Usage of pocsuite for attacking targets without prior mutual consent is illegal.
pocsuite is for security testing purposes only.
poc-console is part of pocsuite3. Usage of pocsuite3 for attacking targets without prior mutual consent is illegal.
pocsuite3 is for security testing purposes only.
.SH SYNOPSIS
.B poc-console
.SH DESCRIPTION
.I poc-console is the console mode of pocsuite.
.I pocsuite
.I poc-console is the console mode of pocsuite3.
.I pocsuite3
is an open-sourced remote vulnerability testing and proof-of-concept
development framework developed by the Knownsec 404 Team. It comes with a
powerful proof-of-concept engine, many nice features for the ultimate
......@@ -25,13 +25,13 @@ poc-console do not have command line options. To see a list of available command
enter help at the console prompt.
.SH "SEE ALSO"
The full documentation for
.B pocsuite
.B pocsuite3
is maintained at:
.br
.I https://github.com/knownsec/pocsuite3/blob/master/docs/USAGE.md
.PP
.SH VERSION
This manual page documents pocsuite version 1.8.6
This manual page documents pocsuite3 version 1.8.7
.SH AUTHOR
.br
(c) 2014-2021 by Knownsec 404 Team
......@@ -40,10 +40,10 @@ This manual page documents pocsuite version 1.8.6
.LP
This program is free software; you may redistribute and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; Version 2 (or later) with the clarifications and
Software Foundation; Version 2 with the clarifications and
exceptions described below. This guarantees your right to use, modify, and
redistribute this software under certain conditions. If you wish to embed
pocsuite technology into proprietary software, we sell alternative licenses
pocsuite3 technology into proprietary software, we sell alternative licenses
(contact 404-team@knownsec.com).
.PP
Manual page started by Tian Qiao
......
......@@ -5,11 +5,11 @@
.\" Tian Qiao <abcnsxyz@gmail.com>
.\"
.SH NAME
.I pocsuite
.I pocsuite3
\- open-sourced remote vulnerability testing framework.
.SH Legal Disclaimer
Usage of pocsuite for attacking targets without prior mutual consent is illegal.
pocsuite is for security testing purposes only.
Usage of pocsuite3 for attacking targets without prior mutual consent is illegal.
pocsuite3 is for security testing purposes only.
.SH SYNOPSIS
.B pocsuite
\-h[elp]
......@@ -18,7 +18,7 @@ pocsuite is for security testing purposes only.
[options]
.br
.SH DESCRIPTION
.I pocsuite
.I pocsuite3
is an open-sourced remote vulnerability testing and proof-of-concept
development framework developed by the Knownsec 404 Team. It comes with a
powerful proof-of-concept engine, many nice features for the ultimate
......@@ -78,10 +78,7 @@ HTTP Host header value
HTTP Referer header value
.TP
\fB\-\-user\-agent\fR AGENT
HTTP User\-Agent header value
.TP
\fB\-\-random\-agent\fR
Use randomly selected HTTP User\-Agent header value
HTTP User\-Agent header value (default random)
.TP
\fB\-\-proxy\fR PROXY
Use a proxy to connect to the target URL
......@@ -144,7 +141,7 @@ Censys dork used for search.
Fofa dork used for search.
.TP
\fB\-\-max\-page\fR MAX_PAGE
Max page used in ZoomEye API(10 targets/Page).
Max page used in search API.
.TP
\fB\-\-search\-type\fR SEARCH_TYPE
search type used in ZoomEye API, web or host
......@@ -247,13 +244,13 @@ Scan multiple targets given in a textual file.
.br
.SH "SEE ALSO"
The full documentation for
.B pocsuite
.B pocsuite3
is maintained at:
.br
.I https://github.com/knownsec/pocsuite3/blob/master/docs/USAGE.md
.PP
.SH VERSION
This manual page documents pocsuite version 1.8.6
This manual page documents pocsuite3 version 1.8.7
.SH AUTHOR
.br
(c) 2014-2021 by Knownsec 404 Team
......@@ -262,10 +259,10 @@ This manual page documents pocsuite version 1.8.6
.LP
This program is free software; you may redistribute and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; Version 2 (or later) with the clarifications and
Software Foundation; Version 2 with the clarifications and
exceptions described below. This guarantees your right to use, modify, and
redistribute this software under certain conditions. If you wish to embed
pocsuite technology into proprietary software, we sell alternative licenses
pocsuite3 technology into proprietary software, we sell alternative licenses
(contact 404-team@knownsec.com).
.PP
Manual page started by Tian Qiao
......
......@@ -4,7 +4,7 @@ url =
; scan multiple targets given in a textual file
url_file =
; load poc file from local or remote from seebug website
poc =
poc = ecshop_rce.py
[Mode]
; run poc with verify mode
......@@ -19,10 +19,8 @@ cookie =
host =
; http referer header value
referer =
; http user-agent header value
; http user-agent header value (default random)
agent =
; use randomly selected http user-agent header value
random_agent = False
; use a proxy to connect to the target url
proxy =
; proxy authentication credentials (name:password)
......@@ -43,6 +41,12 @@ login_user =
login_pass =
; Shodan token
shodan_token =
; fofa user
fofa_user =
; fofa token
fofa_token =
; quake token
quake_token =
; Censys uid
censys_uid =
; Censys secret
......@@ -57,7 +61,11 @@ dork_zoomeye =
dork_shodan =
; censys dork used for search.
dork_censys =
; max page used in search api(10 targets/page).
; fofa dork used for search.
dork_fofa =
; quake dork used for search.
dork_quake =
; max page used in search api.
max_page = 1
; search type used in zoomeye api, web or host
search_type = host
......@@ -69,8 +77,12 @@ ssvid =
connect_back_host =
; connect back port for target poc in shell mode
connect_back_port =
; sompare popular web search engines
; enable TLS listener in shell mode
enable_tls_listener = False
; compare popular web search engines
comparison = False
; whether dork is in base64 format
dork_b64 = False
[Optimization]
; load plugins to execute
......@@ -85,6 +97,17 @@ batch =
check_requires = False
; activate quiet mode, working without logger.
quiet = False
; hiden sensitive information when published to the network
ppt = False
; use scapy capture flow
pcap = False
; export suricata rules, default export request and response
rule = False
; only export suricata request rule
rule_req = False
; specify the name of the export rule file
rule_filename =
[Poc options]
; show all definition options
show_options = True
__title__ = 'pocsuite'
__version__ = '1.8.6'
__author__ = 'Knownsec Security Team'
__author_email__ = 's1@seebug.org'
__license__ = 'GPL 2.0'
__copyright__ = 'Copyright 2018 Knownsec'
__title__ = 'pocsuite3'
__version__ = '1.8.7'
__author__ = 'Knownsec 404 Team'
__author_email__ = '404-team@knownsec.com'
__license__ = 'GPLv2'
__copyright__ = 'Copyright 2014-2021 Knownsec 404 Team'
__name__ = 'pocsuite3'
__package__ = 'pocsuite3'
......
Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.0)
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20
Mozilla/5.0 (X11; U; Linux x86_64) Gecko/2008072820 Firefox/3.0.1
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.16pre) Gecko/20110304 Ubuntu/10.10 (maverick) Firefox/3.6.15pre
Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.9.0.6) Gecko/2009011912 Firefox/3.0.6
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1309.0 Safari/537.17
Mozilla/5.0 (Windows; U; Windows NT 6.0; hu-HU) AppleWebKit/525.26.2 (KHTML, like Gecko) Version/3.2 Safari/525.26.13
Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11
Mozilla/5.0 (Macintosh; U; Intel Mac OS X; zh-tw) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13.3
Mozilla/5.0 (X11; U; Linux x86_64; pl-PL; rv:2.0) Gecko/20110307 Firefox/4.0
Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.0.13) Gecko/2009080315 Ubuntu/9.04 (jaunty) Firefox/3.0.13
Mozilla/5.0 (Macintosh; U; PPC Mac OS X; fi-fi) AppleWebKit/420+ (KHTML, like Gecko) Safari/419.3
Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.7.10) Gecko/20050717 Firefox/1.0.6
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.1) Gecko/20090718 Firefox/3.5.1
Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar; .NET CLR 2.0.50727)
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13 (.NET CLR 3.5.30729)
Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.7.9) Gecko/20050711 Firefox/1.0.5
Mozilla/5.0 (Windows; U; Windows NT 5.0; de-DE; rv:1.7) Gecko/20040626 Firefox/0.9.1
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us) AppleWebKit/531.22.7 (KHTML, like Gecko) Version/4.0.5 Safari/531.22.7
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.16) Gecko/20080702 Firefox/2.0.9.9
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; en) AppleWebKit/528.4+ (KHTML, like Gecko) Version/4.0dp1 Safari/526.11.2
Mozilla/5.0 (Windows; U; Windows NT 6.0; de) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13