腾讯的TSS扫描器框架: https://mp.weixin.qq.com/s/uT8PmlKEAZkouIe8wAkLaA
- 腾讯的TSS扫描器框架里面,有识别ssl的方式,可以根据实际的ssl通信过程来判断https协议
- 发送POC的requests需要封装为一个库
- 增加UA的随机性
Python3 + Vue + Redis + MongoDB + Celery
Python3
mongDB的服务端数据库要求版本>=3.6
redis-server
mkdir logs
echo > logs/error.log
echo > logs/info.log
pip3 install -r requirements.txt
use xscan
db.createUser({ user: "xscan", pwd: "xscan", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
gunicorn -b127.0.0.1:8888 --chdir /opt/scan/server api:app
cd celerynode
celery -A tasks worker -l info
cd ../plugin
celery -A tasks worker -l info
python subscribe.py
cd app/build
npm install
如果是本地测试环境,需要node来编译:
npm run dev
开发环境可以先在本地编译好,然后上传过去,直接用nginx指向dist目录就可以了:
npm run-script build
- 使用masscan和nmap进行端口扫描
- BBscan来进行爬虫扫描
- POC-T来进行POC扫描
1. 不同扫描目标可以作为分组,比如今天扫的主机属于X分组,明天扫的主机是Y分组。
2. 扫描任务没有优先级,也就是说如果有临时要扫的目标,那就只能等之前的先扫完。
3. 只适合批量扫描,不适合单个扫描,代码里面的端口扫描限制了只扫描前20个端口,因为没有判断port spoorf,当然,这个是可以改的
1. 代码垃圾,变量混乱,数据库结构不合理
2. POC要改,而且没有界面修改POC
3. 黑名单的数据没有展示
4. 后端接口没有用户密码验证功能
大概是有一个UI?
- 白名单不跑POC,和BBScan共享一个白名单
- 增加同IP部署的网站
- 增加C段存活的主机现实
- 优化celery扫描速度
- https://github.com/lijiejie/BBScan.git
- https://github.com/Xyntax/POC-T.git
- https://github.com/w-digital-scanner/w11scan
- https://github.com/superhuahua/xunfengES.git
- https://github.com/w-digital-scanner/w12scan-client.git
- https://github.com/al0ne/Vxscan.git
- https://github.com/0xbug/Hawkeye
有任何问题欢迎提issue(比如安装不上,比如node没编译好等等)。
扫描器这个东西吧,说做起来很简单,但是丰富起来就无止境。比如从容师傅开源的爬虫,长亭的xray,之前想过把xray也加进去,但是这个鬼东西做了小半年快吐了,截止到现在算是达到了最开始想做的功能。所以留了很多坑,比如:
- 扫描结果不能导出来。(拉黑的功能还是拍脑袋想出来的)
- 比如给定一个域名:
http://example.com, https://example.com, www.example.com
如果都存在漏洞,保留哪个? - 扫描器做完之后扫了几次,补了几个功能。一句话: 达到了能用的程度,坑很多。
- 要看进度可以加上flower
- 备份扫描可以加上钉钉或者slack机器人通知,之前是打算把这部分也celery化的
再说下喜欢的地方:
- lijiejie的BBScan思路真厉害,所有规则集中到txt里面,这样比如某天看到一个指纹,加进去就可以了。
- POC扫描的时候,我判断了30x跳转,因为扫描的时候发现,requests不会重定向body数据包。所以一个无限循环的网站,这个扫描器就要凉
- 如果扫描的时候选择了80端口,git泄露poc扫描,当masscan发现8000端口也是http的时候,会用git的poc扫描这个http服务。
- 基于第三点,可以把指纹扫描放在最前面,POC的时候判断是不是这个指纹,然后再上POC