/POC-T

插件化并发框架,支持多线程和协程(单线程异步)两种并发模式.可用于: 批量漏洞验证,爆破&扫描,爬虫&采集

Primary LanguagePython

POC-T: Pentest Over Concurrent Toolkit

Python 2.6|2.7 License

跨平台模块化并发框架,可用于采集/爬虫/爆破/批量PoC等需要并发的地方。

  • 支持两种并发模式*(多线程/单线程异步)*和多种输入方式
  • 极简式模块编写
  • 无交互运行,方便部署自动化
  • 实用工具/PoC更新中

(欢迎提交代码和改进建议)

banner.png

它能做什么?

这个小巧的并发框架可以满足许多日常需求.
用户可参考以下已集成的脚本来编写自己的功能模块.

漏洞验证

模块 说明
./module/sqli-poc-example.py SQL注入PoC示例(方正翔宇某系统)
./module/jboss-poc.py jboss漏洞PoC(jexboss去后门版)
./module/struts2-s2032.py Struts2 S2-032 远程命令执行
./module/zonetransfer-poc.py DNS域传送漏洞PoC

爆破&扫描

模块 说明
./module/zabbix-weakpass.py zabbix弱口令扫描
./module/brute-example.py 密码爆破示例(51idc某站)

爬虫&采集

模块 说明
./module/spider-example.py 爬虫示例(B站用户签名档爬虫)
./module/collector-example.py 页面采集示例

其他

模块 说明
./module/vote-example.py 给基友开发的刷票脚本
others 等你开脑洞

快速开始

  • pip install -r requirement.txt
  • python POC-T.py

参数中文说明

本文档为程序中文使用说明,您也可以使用 -h 查看英文版使用说明
powered by cdxy <mail:i@cdxy.me>

使用方法:
  python POC-T.py [-T|-C] [-m NAME] [-s|-f|-i|-n VALUE] [options]
  python POC-T.py [-h|-v|--show|--update]

示例:
  python POC-T.py -T -m jboss-poc -s http://www.cdxy.me
  python POC-T.py -T -m test -f ./dic/1-100.txt
  python POC-T.py -C -m test -i 1-100
  python POC-T.py -C -m spider -n 10.0.0.0/24

引擎(必需项):
  -T             多线程模式
  -C             协程(单线程异步)模式
  -t NUM         设置并发数量(线程数量),默认为10

模块(必需项):
  -m NAME        指定加载的POC或模块名称(结尾不需加.py)

目标(必需项):
  -s TARGET      验证单个目标 (e.g. www.wooyun.org)
  -f FILE        从文件加载目标列表(常用于扫描或批量漏洞验证) (e.g. ./data/wooyun_domain)
  -i START-END   给定起始数字和结束数字,自动生成payload(常用于有数字规则的遍历,爬虫等) (e.g. 1-100)
  -n IP/MASK     从IP和子网掩码加载目标(用于扫描网段) (e.g. 127.0.0.0/24)

可选项:
  -o FILE        输出文件路径,默认保存在./output/目录下
  --single       当验证到一个结果时退出(常用于密码爆破)
  --nF           取消文件输出
  --nS           取消屏幕输出
  --show         显示所有可用的模块名称(./module/文件夹下)
  --browser      程序结束后,将运行结果在浏览器/记事本中打开
  --debug        开启debug模式,运行时将输出一些参数细节
  --update       自动从github更新程序
  -v, --version  版本号
  -h, --help     英文帮助
  -hc, --helpCN  中文帮助

结构

以下含@的目录表示用户可控区域,用户可根据需要增加/修改/调用其中的内容

目录 说明
POC-T.py 程序入口
module @自定义模块/PoC脚本库
util @工具库
data @资源库
output 默认输出位置
lib 项目代码
docs 文档及版权声明
thirdparty 第三方库

模块编写

极简式模块编写,它只需要声明一个函数作为接口,没有其他任何限制.

新建文件

  • 进入./module目录
  • 在此目录下新建Python文件 poctest.py

添加接口函数-poc()

  • 在代码中添加函数 poc()
  • 添加逻辑使验证成功(漏洞存在)时return True,验证失败时return False
  • (程序运行时,每个子线程调用该文件的poc()方法,并将队列中的取出的字符串传入该方法)
def poc(input_str):
    return True or false

查看及使用模块

  • python POC-T.py --show 查看全部模块名称
  • 在命令行中使用 -m poctest 参数即可完成poctest模块的加载 (注意名称末尾不需要写.py)

工具目录

util文件夹中收集了具有通用性的工具组件.用于简化代码,提高PoC准确性,赋予脚本更多功能. 编写模块时,可以使用from util.xxx import xxx()直接调用,具体功能请查看原文件注释.

工具 说明
urlparser.py URL处理工具,可对采集到的杂乱URL进行格式化/自动生成等
useragent.py User-Agent处理工具, 支持随机化UA以绕过防御规则
extracts.py 正则提取工具,从采集到的杂乱文本中筛选IP地址

相关链接

联系作者