网站首页 > 教程文章 正文
0x01 工具介绍
为什么称之为 Security Copilot,按照我的构想,这不仅仅是一个漏洞扫描器,还是一个集大成的辅助工具。挂上扫描器后,过一遍网站,即使没有漏洞,也要告诉我这个网站的大致信息(指纹、cdn、端口信息、敏感信息、API 路径、子域名等等),这样帮助人工进行进一步的梳理,辅助挖洞,而不是扫描完毕没洞就是完事了,还要人工重新过一遍。
0x02 功能简介
主动模式
命令执行
使用 crawlergo 爬虫实现 主动模式下可以通过指定 --copilot 来进入 Security Copilot 模式,扫描完不退出,方便查看 web 结果页面。
./Jie web -t https://public-firing-range.appspot.com/ -p xss -o vulnerability_report.html --copilot
不指定 web 的用户名密码,会自动生成一个yhy/密码,可以在日志中查看,比如下面就是自动生成的。
INFO [cmd:webscan.go(glob):55] Security Copilot web report authorized:yhy/3TxSZw8t8w
被动模式(Security Copilot)
被动代理 通过 go-mitmproxy 实现。
Security Copilot
为什么称之为 Security Copilot,按照我的构想,这不仅仅是一个漏洞扫描器,还是一个集大成的辅助工具。
挂上扫描器后,过一遍网站,即使没有漏洞,也要告诉我这个网站的大致信息(指纹、cdn、端口信息、敏感信息、API 路径、子域名等等),这样帮助人工进行进一步的梳理,辅助挖洞,而不是扫描完毕没洞就是完事了,还要人工重新过一遍。
证书下载
被动代理下HTTPS 网站需要安装证书,HTTPS 证书相关逻辑与 mitmproxy 兼容,并保存在 ~/.mitmproxy 文件夹中。
安装信任根证书, 安装步骤可参考 Python mitmproxy 文档:About Certificates。
启动
./Jie web --listen :9081 --web 9088 --user yhy --pwd 123 --debug
这样会监听 9081 端口,web 界面(SecurityCopilot)开放会在 9088 端口
浏览器指定代理 9081,或者联动 burp。
通过主动或者被动收集过来的流量插件内部会判断是否扫描过 (TODO 扫描插件是否要按某个顺序执行)
信息收集
- 网站指纹信息
- 每个网站请求的 url 收集聚合展示
- 网站域名信息: cdn/waf/cloud、解析记录
- Jwt 自动爆破 (todo 根据域名自动生成字典)
- 敏感信息
- 主动的路径扫描(bbscan 规则 ,新增了一个指纹字段,存在指纹时只会扫描对应的规则,比如 对 php 网站就不会扫描 springboot 的规则)
- 端口信息
- 收集域名、ip、api
插件
有的扫描会对比收集的指纹信息进行语言环境识别,防止对 php 的网站调用 java 的扫描插件
扫描目录结构
scan目录为扫描插件库,每个目录的插件会处理不同情形
- PerFile 针对每个url,包括参数啥的
- PerFolder 针对url的目录,会分隔目录分别访问
- PerServer 对每个domain 的,也就是说一个目标只扫描一次
插件 | 介绍 | 默认是否开启 | 作用域 |
xss | 语义分析、原型链污染、dom 污染点传播分析 | true | PerFile |
sql | 目前只实现一些简单的SQL注入检测 | true | PerFile |
sqlmap | 通过指定 sqlmap API 将流量转发到 sqlmap 进行注入检测 | false | PerFile |
ssrf | true | PerFile | |
jsonp | true | PerFile | |
cmd | 命令执行 | true | PerFile |
xxe | true | PerFile | |
fastjson | 当检测到请求为 json 时,缝合了@a1phaboy师傅的FastjsonScan扫描器,探测 fastjson; jackson 暂未实现 | true | PerFile |
bypass403 | dontgo403 403 绕过检测 | true | PerFile |
crlf | crlf注入 | true | PerFolder |
iis | iis高版本短文件名猜解[iis7.5-10.x-ShortNameFuzz]( | false | PerFolder |
nginx-alias-traversal | Nginx 配置错误导致的目录遍历nginx | true | PerFolder |
log4j | log4j 漏洞检测,目前只会测试请求头 | true | PerFolder |
bbscan | bbscan 规则 目录扫描 | true | PerFolder |
portScan | 使用 naabu 扫描 Top 1000 端口,然后使用 fingerprintx 识别服务 | false | PerServer |
brute | 如果开启服务爆破,会在扫描到端口服务后进行服务爆破 | PerServer | |
nuclei | 集成nuclei | false | PerServer |
archive | 利用 https://web.archive.org/ 进行获取历史 url 链接(参数),然后进行扫描 | true | PerServer |
poc | go 写的 poc 模块检测, poc 模块依托于指纹识别,只有识别到对应的指纹才会扫描,没有插件化了 | false | PerServer |
逻辑漏洞 TODO
添加多个用户 cookie 进行越权检测
0x03更新介绍
修复 sqlapi 配置文件指定不生效的问题
控制进度信息显示
修复 web 页面修改插件不生效的问题
更新 README 和 帮助信息; 新增 -p all 开启全部插件
update README
0x04 使用介绍
使用./Jie web -h获取详细介绍,一些配置可以通过Jie_config.yaml修改,也可以通过http://127.0.0.1:9088/的配置界面修改(web 界面修改后会实时更新到配置文件中)
Flags:
--copilot Blocking program, go to the default port 9088 to view detailed scan information.
主动模式下,可以通过指定该参数阻塞程序,扫描完不退出程序,可以到 web 端口查看信息。
-h, --help help for web
--listen string use proxy resource collector, value is proxy addr, (example: 127.0.0.1:9080).
被动模式监听的代理地址,默认 127.0.0.1:9080
--np not run plugin.
禁用所有的插件
-p, --plugin strings Vulnerable Plugin, (example: --plugin xss,csrf,sql,dir ...)
指定开启的插件,当指定 all 时开启全部插件
--poc strings specify the nuclei poc to run, separated by ','(example: test.yml,./test/*).
自定义的nuclei 漏洞模板地址
--pwd string Security Copilot web report authorized pwd.
web页面登录密码,不指定会随机生成一个密码
--show specifies whether the show the browser in headless mode.
主动扫描下是否显示浏览器
--user string Security Copilot web report authorized user, (example: yhy).]
web页面登录用户名,默认为yhy (default "yhy")
--web string Security Copilot web report port, (example: 9088)].
web页面端口,默认9088 (default "9088")
Global Flags:
--debug debug
-f, --file string target file
主动扫描目标列表,每行一个
-o, --out string output report file(eg:vulnerability_report.html)
漏洞结果报告保存地址
--proxy string proxy, (example: --proxy http://127.0.0.1:8080)
指定 http/https 代理
-t, --target string target
主动扫描目标,被动下不需要指定
与 Burp 联动
Burp 设置上游代理
这里的上游代理 Intruder 和 Repeater 模块的流量也会走扫描器
Tips:
工具介绍:https://jie.fireline.fun/
地址:https://github.com/yhy0/Jie
本文来源于yhy0 WIN哥学安全
猜你喜欢
- 2024-12-31 站长在线:宝塔面板出现漏洞,站长如何做才能让网站更加安全?
- 2024-12-31 干货|常见端口渗透总结
- 2024-12-31 第1篇:FTP暴力破解
- 2024-12-31 初涉内网,提权那些事
- 2024-12-31 一款开源内网扫描工具,提供了一键自动化全方位的漏洞扫描
- 2024-12-31 OneForAll - 功能强大的子域收集工具
- 2024-12-31 腾讯安全预警:KoiMiner木马再活跃 控制者或来自黑客论坛
- 2024-12-31 基于Python的渗透测试信息收集系统的设计和实现
- 2024-12-31 SQL 爆破攻击近期多见,中招系统遭遇流氓软件推装
- 2024-12-31 黑客攻下一台服务器,总共分几步
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)