- 子域名爆破
- 子域名被动收集
- 端口扫描
- 站点探测存活
- 目录扫描
- 动态浏览器爬虫
- 指纹识别
- POC漏洞导入,扫描
- 敏感信息检测
- 数据统计
- 常规漏洞扫描(类xray)
- 爬虫子域名收集
- 基于目录的指纹扫描
- 对危险接口做分离(如delete等)
- waybackurl获取历史接口
- 常规漏洞扫描增加插件(ssti,缓存中毒等)
- dnslog平台
目前只支持docker安装,首先你需要下载docker,docker compose以及OneTscan.tar.7z
首先解压7z x onetscan.7z并文件复制到目标机器。
在目标机器上执行docker load -i onetscan.tar
然后使用docker compose up -d
访问目标机器的8083端口
默认账号密码admin/admin123
主动使用字典进行子域名爆破,字典为subnames.txt。
被动使用各个接口进行子域名的收集,例如fofa,quake等。
后续增加在爬虫过程中的子域名收集。
被动收集配置文件 provider-config.yaml,支持从以下来源中获取
BeVigil, BinaryEdge, BufferOver, C99, Censys, CertSpotter, Chaos, Chinaz, DNSDB, Fofa, FullHunt, GitHub, Intelx, PassiveTotal, quake, Robtex, SecurityTrails, Shodan, ThreatBook, VirusTotal, WhoisXML API, ZoomEye API china - worldwide, dnsrepo, Hunter, Facebook, BuiltWith
其中Censys、PassiveTotal、Fofa、Intellix 和 360quake 等来源的复合键需要用冒号 (:) 分隔。
文件示例如下
目前只支持对端口的扫描,并不支持对端口的服务进行指纹识别。
支持端口被动收集,来源于shadon
使用go以及更快的fasthttp,扫描速度远超dirsearch,降噪更好。字典为dict.txt
参考arl灯塔wih,在爬虫过程中对响应进行识别。可执行修改规则文件wih.yaml
采用浏览器动态爬虫,不采用静态爬虫。速度比静态慢,但爬取接口更全面更多,支持表单填充和点击,能够获取到POST接口以及参数
自研的跟xray的差不多的黑盒扫描,爬虫会将数据全部交给这部分来进行扫描,对各个参数以及其他部分进行fuzz,支持多种漏洞。 支持插件如下
| 插件 | 介绍 |
|---|---|
| xss | 语义分析、原型链污染、dom 污染点传播分析 |
| sql | 目前只实现一些简单的SQL注入检测 |
| ssrf | |
| jsonp | |
| cmd | 命令执行 |
| xxe | |
| upload | |
| bypass403 | 403 绕过检测 |
| crlf | crlf注入 |
| bucket | 存储桶未授权 |
示例
详细漏洞描述
详细请求包
请注意其中关于ssrf和rce以及xxe的无回显检测,会使用dnslog,而本工具暂时不自生成dnslog,所以请将dnslog地址配置在reverse的host和Domain处。
支持添加,导入,导出指纹。
本工具提供了finger.json,可以直接将指纹上传。(注意工具不会从finger.json中读取规则,是从数据库,所以如果需要请上传)
指纹规则:
POC部分采用的是nuclei,可以自行上传nuclei插件。注意目前POC扫描只会基于指纹进行扫描,只有指纹识别到,才会采用对用的nuclei-POC。(后续会添加全量扫描的选项)
标签即nuclei模板中的tag,与指纹扫描为映射关系
例如tag中带有apache,那么指纹识别时,apache被识别到,才会使用该nuclei模板进行扫描
注意:匹配模式为精准匹配,需要将指纹名一字不差的写在tag上 。
在爬取过很多站点后,点击“统计路径”,即可对数据库中所有的爬虫爬取到的路径进行统计,以及进行自动化的去重
例如扫描过程中经常会出现相同的好几个甚至几十个一模一样的web站点,对这种重复爬取的路径进行统计是没有意义的
OneTScan会对其body进行hash计算。如果两个站点的body_hash相同认为是同站点,则不会重复统计路径
这个功能用于统计高频率出现的爬虫路径,加入字典,打造自己的目录字典。
感谢以下工具
https://github.com/Qianlitp/crawlergo
https://github.com/yhy0/Jie
https://github.com/projectdiscovery/dnsx
https://github.com/projectdiscovery/nuclei
https://github.com/chainreactors/spray