All Projects → jiangsir404 → pbscan

jiangsir404 / pbscan

Licence: other
基于burpsuite headless 的代理式被动扫描系统

Programming Languages

python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to pbscan

Xray
一款完善的安全评估工具,支持常见 web 安全问题扫描和自定义 poc | 使用之前务必先阅读文档
Stars: ✭ 6,218 (+6244.9%)
Mutual labels:  passive-vulnerability-scanner
Phoneinfoga
PhoneInfoga is one of the most advanced tools to scan international phone numbers using only free resources. It allows you to first gather standard information such as country, area, carrier and line type on any international phone number. Then search for footprints on search engines to try to find the VoIP provider or identify the owner.
Stars: ✭ 5,927 (+5947.96%)
Mutual labels:  passive-scanner
Passivehunter
Subdomain discovery using the power of 'The Rapid7 Project Sonar datasets'
Stars: ✭ 83 (-15.31%)
Mutual labels:  passive-scanner
Hamster
Hamster是基于mitmproxy开发的异步被动扫描框架,基于http代理进行被动扫描,主要功能为重写数据包、签名、漏洞扫描、敏感参数收集等功能(开发中)。
Stars: ✭ 27 (-72.45%)
Mutual labels:  passive-scanner

pbscan

基于burpsuite headless 的代理式被动扫描系统

现有burp批量扫描工具

headless burpsuite

无头burpsuite, 即没有图形界面的burpsuite,可以再服务器上面运行.

已有工具: headless-burp-scanner: https://github.com/NetsOSS/headless-burp carbonator: https://github.com/integrissecurity/carbonator

carbonator 提供参数

optional arguments:
  -h, --help     show this help message and exit
  -host HOST     Enter an IP address or Domain name
  -saveState     Save Burpsuite State
  -enableBing    Enable Bing Reverse IP
  -enableGoogle  Enable Google Search
  -file FILE     File containing Domain names or IP addresses
  -headless      Run Burp headless

扫描方式: 发送url->spider->scanner 去扫描。

burpsuite2.0 restful api

curl -vgw "\n" -X POST 'http://localhost:1337/v0.1/scan' -d '{"scan_callback":{"url":"http://123.206.65.167:2000"},"scan_configurations":[{"name":"myburp","type":"NamedConfiguration"}],"scope":{"include":[{"rule":"http://localhost:82/*","type":"SimpleScopeDef"}]},"urls":["http://localhost:82/myctf/xss/xss.php?d=1&x=1"]}'

扫描方式: 输入url->spider(模拟表单登陆)->scanner 扫描。

缺点: 可以看到上面两种支持burpsuite 批量扫描模式都是输入url->爬虫->scanner扫描, 无法满足带cookie 的一些站点扫描,而且加上spider爬虫爬取后的链接数量不易控制。

pbscan功能

  • 再carbonator的基础上进行开发,通过内置bottle服务器实现burpsuite 1.7的扫描api接口
  • 扫描接口可以实现发送数据包直接到scanner去扫描,无需经过spider, 自带cookie扫描。
  • 自定义burpsuite扫描插入点(目前只扫描get和post参数), 自定义burpsuite扫描漏洞(去掉一些不重要的漏洞比如明文传送,HTML未设置字符集等)
  • 通过接口可以实时获取扫描结果。
  • 使用rabbitmq+pika 实现消息队列,每个数据包都有一个token和rid标识,支持多人共同扫描。
  • 可以支持同时开多个headless burpsuite 来扫描以加快扫描速率。
  • 支持burpsuite 报表结果显示,用thinkphp写的展示平台来进行结果展示。
  • 利用burp插件或chrome插件来进行代理获取数据包,可以实现代理式被动扫描。

安装使用

  1. 依赖安装
wget http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
sudo apt-key add rabbitmq-signing-key-public.asc  
sudo apt-get update
sudo apt-get install rabbitmq-server
pip install pika
pip install gevent
pip install MySQL-python
  1. 导入数据库sql.sql, 修改pbscan-server/config.py 中的配置信息

  2. 部署运行, 有两种方式可以集中部署,一个是通过supervisor的方式来部署,另一个是直接用nohup后台进程运行。

supervisor部署

#先安装supervisor软件:
apt-get install supervisor
pip install supervisor

# 修改pbscan_supervisor.conf的路径, 启动supervisor
cp pbscan_supervisor.conf /etc/supervisor/conf.d
supervisord
supervisorctl update
supervisorctl status

使用nohup后台部署

bash start.sh

如果只想要api的接口,也可以单独运行pbscan-api。

api扫描接口

获取结果显示:

[
	{
	  	u'insert_point': 3,
		u'issues_num': 0,
		u'request_num': 122,
		u'rid': u'4b397ed50505b5e7c406ef9776b00b766203159e',
		u'scanTime': u'2019-01-15 17:36:24',
		u'scanUrl': u'GET xx.cn:80/profile/managetag?page=1&qid=2619946579',
		u'status': u'50% complete',
		u'token': u'6465fkfljalfj5456'
  	},
	{
		u'insert_point': 3,
		u'issues_num': 0,
		u'request_num': 99,
		u'rid': u'4b397ed50505b5e7c406ef9776b00b766203159e',
		u'scanTime': u'2019-01-15 17:36:26',
		u'scanUrl': u'GET xx.cn:80/profile/managetag?page=1&qid=2619946579',
		u'status': u'50% complete',
		u'token': u'6465fkfljalfj5456'
	}
 ]
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].