刻刀-rust | 脉冲红队快速资产探测综合工具使用指南

文摘   2024-08-24 19:00   上海  

声明

该公众号分享的安全工具和项目均来源于网络,仅供学术交流,请勿直接用于任何商业场合和非法用途。如用于其它用途,由使用者承担全部法律及连带责任,与工具作者和本公众号无关。

介绍

pulse 是一个用 Rust 编写的强大的网络扫描和模糊测试工具。它允许您在响应上执行并发 Web 请求、目录模糊测试和自定义正则表达式匹配。

永恒之锋出品,Rust编写,卓越的速度,顶级的高效自定义探测,让你在信息探测中脱颖而出,快人一步。

有人会问,为什么搞这个,这东西能出洞?这可能是小白经常关注的一个问题,但我想告诉你,这款工具能挖洞,但是,需要你有一定的漏洞基础和正则水平。虽然我只是把这个工具定位于渗透测试中信息收集环节,但是,它能做的事情不仅如此。当然,httpx也能做,只不过,我说过,化繁为简,我们只要最基本的,加一个正则,再配上最高性能的rust,足够了。

这东西有一点好在哪,一次编写,无需维护,哈哈,为啥?

因为它只是给你发射的武器,至于POC啥的,弹药你自己补充。就如同一把枪和子弹的关系,枪可以端在手里,但是子弹需要你自己一直更新。我相信你能看中这是一把好枪。

一个好的设计,就是这个功能已经不能再少了,而且正好够用。

https://github.com/Eonian-Sharp/pulse

参数

  • • version:显示程序版本信息。

  • • input:输入 IP 或 URL,可以包含 FUZZ 标记用于模糊测试。(管他什么,一个参数搞定,主打的就是懒人模式,-i 指定目标,学会这个,恭喜你,学会了90%)

      • - 文件模式: 指定文件即可

      • - 单目标模式:IP、域名、Url都可以

      • - Fuzz模式:在IP、域名、Url的任意位置加上FUZZ关键字(需配合-w指定字典)

  • • threads:并发请求的数量,默认为 50。

  • • output:输出 CSV 文件的名称,默认为 "output.csv"。(Excel打开标题是中文会乱码,用文本文件打开(转一下编码再打开就ok),问题不大。)

  • • regex:启用正则表达式匹配(核心功能)。

  • • wordlist:用于模糊测试的单词列表文件路径。(FUZZ专用

  • • debug:启用调试模式。

  • • timeout:设置请求超时时间,默认为 10 秒。

  • • custom_matches:自定义正则表达式用于匹配响应体。

  • • show_code:只显示这些状态码的响应。

  • • ban_code:不显示这些状态码的响应,默认为 "401,404"。(Ban英雄会吧,那你ban响应码也会了)

  • • silent:静默模式:只输出成功的 URL。(直接把ok的留下,直接管道符交给其它玩意,比如扫描漏洞的,扫描指纹的)

  • • dir:要扫描的目录,逗号分隔。(/admin,/login 啥的,少量的时候)

  • • dir_path:包含要扫描的目录的文件路径。(直接指定web路径字典)

  • • method:HTTP 请求方法,默认为 "GET"。

  • • custom_headers:自定义 HTTP 头部。

  • • filter_length:不显示响应长度等于该值的响应。

  • • match_length:只显示响应长度等于该值的响应。

  • • http_proxy:代理 URL。

  • • user_agent:使用的 User-Agent,默认为 "default",可选 "random" 或 "android"。

  • • no_ssl:禁用 SSL 证书验证。

使用场景

  1. 1. 基本使用pulse --input "<ip,url,fuzz,file>" --threads 100 --output "results.csv"

  2. 2. 启用正则表达式匹配pulse --input "http://example.com" --regex


  3. 3. 使用自定义单词列表进行模糊测试pulse --input "http://example.com/FUZZ" --wordlist "./wordlist.txt"

  4. 可以FUZZ子域名、根域名、路径、端口、未授权、参数任何你想FUZZ的地方。


  5. 4. 设置自定义 HTTP 头部pulse --input "http://example.com" --custom_headers "Header-Name: Header-Value"

  6. 这对于探测一些漏洞非常有帮助。例如探测ms-15-034

  7. 5. 只显示特定状态码的响应pulse --input "http://example.com" --show_code 200,404

  8. 6. 使用代理pulse --input "http://example.com" --http_proxy "http://proxyserver:port"

    可以选择代理到burp

  9. 7. 自定义 User-Agentpulse --input "http://example.com" --user_agent "random"

  10. 增加了android选项,可访问一些PC无法访问的页面。

  11. 8. 禁用 SSL 证书验证pulse --input "https://example.com" --no_ssl

  12. 9. 静默模式pulse --input "http://example.com" --silent

  13. 10. 扫描特定目录pulse --input "http://example.com/" --dir "dir1,dir2"

  14. (-d 自定义几个 -D 指定字典;跟我一起念,大D,小d,大D,小d)

  15. 11. FUZZ模式也可以扫描目录

  16. pulse --input "http://example.com/FUZZ"  --wordlist "./wordlist.txt"

  17. FUZZ扫描子域名

  18. pulse --input "http://FUZZ.example.com/"  --wordlist "./wordlist.txt"

  19. FUZZ扫描参数

  20. pulse --input "http://FUZZ.example.com/id=1&FUZZ=3"  --wordlist "./wordlist.txt"

  21. FUZZ扫描XSS、SQL注入、命令执行、文件包含...,配合正则无敌

  22. pulse --input "http://FUZZ.example.com/id=FUZZ"  --wordlist "./wordlist.txt"

  23. 12. 使用自定义正则表达式匹配响应内容pulse --input "http://example.com" --custom_matches "pattern1" --custom_matches "pattern2"

     这是决定了这个工具没有上限的一个功能,支持正则匹配意味着你可以获取任何你想知道的内容,再配合FUZZ和目录扫描的功能,基本上可以达到很高的可玩性,例如你可以边扫描子域名边扫描目录,还能边探测指定的漏洞,过滤指定的内容。

  24.   例如,以下是文件读取的一个漏洞批量验证,非常的精确,你可以清除的看到响应码和长度。你可以工具内容/长度/响应码进行自定义的过滤和排除。如果你是红队玩家,高并发的异步请求带给你的流畅体验,将是一个高度可玩性的一个工具。

  25. 13. 设置请求超时pulse --input "http://example.com" --timeout 20

永恒之锋网络安全图书馆

工具经编译好了放在咱们知识大陆的帮会里了,进来看看吧,图书馆又更新了一些书籍,软考笔记让你备考无忧,安全工具,测试利器,等等。

知识大陆两周年庆,活动期间,9.9/月  20/季  69/永久(帮会人数包含100名之前)  先到先得,名额仅剩26

活动结束后将恢复原价15/月卡、39.9/季卡  

另外,为了促进学习rust的安全师傅或者是想学rust的师傅们交流,我决定组建一个rust的群用来对rust感兴趣的人和一起交流学习使用rust为我们带来更多高效的工具




Eonian Sharp
Eonian Sharp | 永恒之锋,专注APT框架、渗透测试攻击与防御的研究与开发,没有永恒的安全,但有永恒的正义之锋击破黑暗的不速之客。
 最新文章