- 临兵漏洞扫描系统
- 使用说明
- 修改加密key
- 打包vue源代码(进入到vue_src目录下)
- ubuntu部署
- centos部署
- 自编译docker文件进行部署
- 从dockerhub中获取镜像
- 访问
- 界面
- CHANGELOG
- [v1.0] 2020.2.28
- [v1.1] 2020.7.28
- [v1.2] 2020.8.12
- [v1.3] 2020.9.13
- [v1.4] 2020.10.18
- [v1.5] 2020.10.30
- [v1.6] 2020.11.27
- [v1.7] 2020.12.5
- [v1.8] 2020.12.11
- [v1.9] 2020.12.18
- [v2.0] 2021.3.1
- [v2.1] 2021.3.5
- [v2.2] 2021.3.26
- [v2.3] 2021.5.20
- [v2.4] 2021.6.19
- [v2.5] 2021.7.10
- [v2.6] 2021.9.21
- [v2.7] 2021.10.11
- [v2.8] 2021.10.24
- [v2.9] 2021.12.26
- [v3.0] 2022.5.14
- 致谢
- 免责声明
- License
临兵漏洞扫描系统
本系统是对Web中间件和Web框架进行自动化渗透的一个系统,根据扫描选项去自动化收集资产,然后进行POC扫描,POC扫描时会根据指纹选择POC插件去扫描,POC插件扫描用异步方式扫描.前端采用vue技术,后端采用python fastapi.
使用说明
扫描分为指纹探测、子域名爆破、端口扫描、目录扫描、POC扫描.如果选择所有扫描选项,子域名扫出的IP会传给端口扫描,端口扫描中识别指纹,扫描出的资产传给目录扫描和POC扫描,POC扫描会根据资产指纹去加载插件扫描,如果识别不到指纹,则加载所有插件,POC插件分为2种类型,http和port,http类型指发送http请求,port指发送socket请求,扫描出的资产如果是url格式,则加载http类型插件,否则则加载port类型插件.
修改加密key
存储到mysql中的数据是进行aes加密后的数据,登陆请求是用的rsa请求,目前是默认的key,如果需要修改key的参考下面,修改key信息需要重新编译vue源码
修改aes key
python这块直接修改/python/conf.ini中aes部分的配置即可,采用cbc模式,需要key和iv. vue部分则需要修改vue_src/src/libs/AES.js文件中第三行和第四行,要和conf.ini中保持一致
修改rsa key
需要生成rsa的公私钥(私钥1024位)参考地址 修改python/rsa.py文件中的公钥和私钥信息,vue部分则需要修改vue_src/src/libs/crypto.js文件中第77行的公钥,要和python/rsa.py文件中的公钥保持一致
修改vue部分后要重新打包,然后把打包后的文件夹dist中的内容复制到vue文件夹,vue原有的文件要删除.
打包vue源代码(进入到vue_src目录下)
npm run build(有打包好的,即vue文件夹,可直接使用,自行打包需要安装node和vue,参考https://www.runoob.com/nodejs/nodejs-install-setup.html, https://www.runoob.com/vue2/vue-install.html)
ubuntu部署
参考https://github.com/taomujian/linbing/blob/master/ubuntu部署.md)
centos部署
参考https://github.com/taomujian/linbing/blob/master/centos部署.md)
自编译docker文件进行部署
配置
首先下载项目到本地(https://github.com/taomujian/linbing.git),然后配置python/conf.ini中发送邮件所用的账号和授权码,然后修改python/conf.ini的mysql数据库账号密码,这个账号密码要和dockerfile中的设置的账号密码保持一致
编译镜像(进入项目根目录)
docker build -f ubuntu.dockerfile -t linbing .
启动容器(进入项目根目录)
docker run -it -d -p 11000:11000 -p 8800:8800 linbing
从dockerhub中获取镜像
docker pull taomujian/linbing:latest
docker run -it -d -p 11000:11000 -p 8800:8800 taomujian/linbing
访问
访问http://yourip:11000/login即可,默认账号密码为admin/X!ru0#M&%V
界面
CHANGELOG
[v1.0] 2020.2.28
- 初步完成扫描器功能
[v1.1] 2020.7.28
- 新增F5 BIG IP插件
[v1.2] 2020.8.12
- 增加docker部署
[v1.3] 2020.9.13
- 增加phpstudy_back_rce插件数量
- 添加目标时可添加多行目标
[v1.4] 2020.10.18
- 增加查看端口详情(端口、协议、产品、版本)
- 增加子域名详情(子域名,子域名ip),子域名是用的OneForAll工具
[v1.5] 2020.10.30
- 修改一些插件的错误
- 扫描设置中可设置POC检测时协程的并发数量
- 增加asyncio多协程功能,提高POC扫描速度
[v1.6] 2020.11.27
- 修改默认头像,若想替换的话直接flask/images/default.png图片就可以了
- 优化前端修复一些小BUG
[v1.7] 2020.12.5
- 增加设置代理和扫描的超时时间功能
- 优化前端修复一些小BUG
- 优化文件结构,同步docker时间
[v1.8] 2020.12.11
- 优化前端刷新后头像丢失BUG
[v1.9] 2020.12.18
- 修改发送邮件的方式,使用postfix发送邮件
[v2.0] 2021.3.1
- 前端ui框架由iview换为element,重构前端代码
- 取消账号注册,改由内置管理员账号添加
- 增加对url目标的目录扫描功能
- 增加查看所有漏洞和所有端口信息的功能
- 优化数据库表格数据结构和sql语句
[v2.1] 2021.3.5
- 前端界面优化
- 多个目标扫描同时扫描时,增加任务队列管理
[v2.2] 2021.3.26
- 增加CVE-2021-22986插件
[v2.3] 2021.5.20
- 优化扫描逻辑
- 增加指纹探测,探测使用的框架
- 优化Struts2 系列漏洞的检测
[v2.4] 2021.6.19
- 增加指纹判断功能
- 对扫出来的端口进行指纹识别,指纹识别后去加载对应的插件,减少发包数量
- 对插件进行分类,分为http类和非http类
- 点击扫描时提供自定义扫描选项功能,分为指纹探测, 子域名扫描, 端口扫描, 目录扫描, POC扫描
- 扫描列表中增加暂停扫描、恢复扫描、取消扫描功能
[v2.5] 2021.7.10
- 后端框架由flask更换为fastapi
[v2.6] 2021.9.21
- 扫描时可选择POC插件
- 增加POC列表
- 修复已知BUG
[v2.7] 2021.10.11
- 修复扫描所有目标时的错误
- 增加XSS LOG功能(接收数据的url参考生成token后的url)
[v2.8] 2021.10.24
- 目标管理和扫描管理中状态信息更新由Ajax轮询换成websocket
[v2.9] 2021.12.26
- 集成dnslog.cn的功能,提供dnslog功能
[v3.0] 2022.5.14
- POC插件扫描换成异步扫描方式,加快扫描速度
致谢
感谢vulhub项目提供的靶机环境: https://github.com/vulhub/vulhub, https://hub.docker.com/r/2d8ru/struts2
POC也参考了很多项目: https://github.com/Xyntax/POC-T、
https://github.com/ysrc/xunfeng、
https://github.com/se55i0n/DBScanner、
https://github.com/vulscanteam/vulscan
感谢师傅pan带我入门安全,也感谢呆橘同学在vue上对我的指导
免责声明
工具仅用于安全研究以及内部自查,禁止使用工具发起非法攻击,造成的后果使用者负责