最近一直在研究自动化漏洞发现的技术,github 也有非常多优秀的集成工具,本着学习研究的心态,对这些工具进行了学习,今天来分享其中的一个,通过 bash 脚本将各种工具集成到一起,实现无需自己实现相关功能也能自动化漏洞发现。项目地址:
https://github.com/six2dez/reconftw
reconFTW 是一款优秀的信息收集工具,可以尽可能的收集子域名以及各种漏洞的检查,说的这么溜,到底是如何实现的?这是我比较感兴趣的,首先看一下安装脚本,看看都用到了哪些工具,如图:
数了数,大概用了三十个工具集成在一起,接下来我想知道这些工具都是干什么用的,那么就需要一个一个的看,为了节省大家的时间,我来给大家一一介绍一下。
项目地址:
https://github.com/tomnomnom/gf
其实 grep 能做非常多的事儿,但是由于参数复杂,每次使用可能都要去查询怎么用,如何组合参数,而这个工具就是为了能够在其他工具输出结果之后,通过这个工具来对结果进行整理,从而输出不同工具所需的参数内容,实现不同工具之间的数据共享来实现自动化的流程。
项目地址:
https://github.com/tomnomnom/qsreplace
在抓取到大量 URL 时,需要对这些 URL 进行去重,去掉相同接口、相同参数但是参数值不同的 URL,该工具可以替换 URL 中的参数值为某个指定字符串,替换之后在进行整体去重,就能实现相同接口、相同参数名的 URL 只保留一个,减少测试的目标,从而提升测试效率,实现效果:
项目地址:
https://github.com/OWASP/Amass
子域名收集的方式无非集中方式:dns 枚举、网络空间搜索、dns 反解析、搜索引擎、历史 dns 记录等,这款工具集成非常多的数据源,一个图就能一目了然:
项目地址:
https://github.com/ffuf/ffuf
FUZZ 的目的就通过大量测试来发现隐藏的问题,比如隐藏的功能,隐藏的漏洞等,这个工具可以对网站的请求进行模糊测试,无论是 GET 参数还是 POST 参数,还能测试 header 中的关键字段以及目录等。比如 fuzz 目录:
项目地址:
https://github.com/gwen001/github-subdomains
github 是程序员的聚集地,程序员的共享精神是一直存在的,他们也会时不时把自己在企业写的代码分享出去,从而给了我们一个信息收集的途径,那么这个工具就是通过 github 的代码搜索功能来实现子域名的收集。
项目地址:
https://github.com/tomnomnom/waybackurls
这个工具之前的文章介绍过,主要从多个第三方平台来获取目标网页内容,有些平台通过自己实现爬虫的方式,抓取全网网站内容,然后提供给一些人使用,从而省去了直接访问目标的操作,在不接触目标的情况下也能获取目标网页内容。该工具主要获取的网页中的 URL 列表,为后续的漏洞测试做准备。
项目地址:
https://github.com/projectdiscovery/nuclei
nuclei 是国外知名的 POC 检测工具,它所收录的 POC 非常丰富,而且更新非常快,网络上一旦出现任何漏洞,其 POC 可能几个小时就能获得更新,而且完全免费开源,用过的都说好。
项目地址:
https://github.com/tomnomnom/anew
类似于 tee -a
去掉文件中的重复行,没啥可介绍的,直接看案例吧:
项目地址:
https://github.com/projectdiscovery/notify
该工具可以将消息推送到多个平台(Slack / Discord / Telegram / Pushover / Email / Teams 等),主要方便在发现漏洞时,能够及时得知,然后提交,防止发现漏洞而被他人捷足先登的情况,当然怎么用,还要看自己的需求。
项目地址:
https://github.com/tomnomnom/unfurl
当我们获取到大量的 URL 时,我们需要提取 URL 中的主域名或者子域名输出列表,怎么办?你可以自己编写脚本实现,当然也可以使用这个工具,直接看效果吧:
这个项目集成了三十个工具,今天先分享十个吧,不知道大家是否有兴趣了解更多,如果还想要了解剩下的二十个工具分别是什么,有什么用,以及项目流程如何将所有工具集成自动化的,还请你点个再看,根据大家的意愿来决定是否更新下一篇完整介绍以及程序的流程讲解。