Hakrawler:针对安全人员的URL快速收集工具

iso60001  299天前

22.png

Hakrawler?

很长一段时间以来,我一直希望有一个工具能够从目标应用提取出所有的URL端点,以简洁的方式在命令行中显示。于是,我自己创造了一个!

工具地址:https://github.com/hakluke/hakrawler

该工具主要通过对目标应用进行爬取、查询某些记录了以往网络数据的服务器、解析robots.txt和sitemap.xml文件来提取URL。

33.png

此外它还会对找到的任何子域进行收集。据我所知,这种利用子域去找子域的方法目前还没有被其他子域枚举工具实现,所以它可能有助于发现一些意外的目标。

有关安装和使用的详细信息,请参阅repository

44.png

特征

1.可与其他工具配合使用(可接受来自stdin的主机名,以及使用-plain标记将URL转储到stdout中)

2.通过对目标应用的每个页面进行爬取收集URL,并根据链接进行递进爬取

3.从记录了以往网络数据的服务器中收集URL

4.从robots.txt收集URL

5.从sitemap.xml收集URL

6.在爬取网页的过程中发现属于目标的新域和子域

7.由Golang语言编写

8.收集范围可以缩小或扩展

9.可以将结果导出到(包含原始HTTP请求)文件中,方便和其他工具(如SQLMap)联合

选择

的确也存在其他一些工具可以提供与Hakrawler类似的效果,但它们都不是我所需要的。最明显的替代品是Burpsuite的“spider”,这在过去是我对单个应用进行彻底爬取的第一选择,但它与Burpsuite应用的其他组件耦合太紧,而且并不是为爬取大量域名而设计的,这在大范围渗透测试时就显得比较尴尬。

此外较为接近的替代品是s0md3v的Photon,Hakrawler工具的大部分功能都是受Photon的启发。它很接近我想要的工具,而且也有很多很棒的特性,但它并不是爬取大量域名或链接的理想选择。Photon是用Python编写的,虽然Python是我的“母语”,但为了运行速度和节约系统资源,我最后还是使用Golang来编写这个工具中。所以如果你想寻找用Python编写的类似工具,请关注Photon

贡献

综上所述,在我慎重思考后,决定使用Golang编写一个符合我需求的工具。选择Golang是为了提高速度——它不依赖于解释器,并且对并发有较好的支持。

唯一的问题是我以前从未使用Golang编写过任何应用。于是我在YouTube上看了一个Golang教程,然后花了一周左右的时间编写hakrawler代码(同时搜索一些愚蠢的Golang编码问题)。如果你也想学习Golang,以下是我看过的视频:

https://www.youtube.com/watch?v=YS4e4q9oBaU

目前,我的代码有点混乱,但它还是可以有效工作的!现在我发布的的是beta版,希望信安或Golang社区能帮助我不断地改进它。如果你也想参与进来,那么现在还有一大堆特性或漏洞需要处理。任何对该项目做出突出贡献的人,都会成为Contributors的一员,如果我们在现实中碰到,会请你喝上一杯啤酒或咖啡!

本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://medium.com/@hakluke/introducing-hakrawler-a-fast-web-crawler-for-hackers-ff799955f134

最新评论

昵称
邮箱
提交评论