推荐一款很好用的信息收集工具-aquatone
github地址如下:
https://github.com/michenriksen/aquatone#installation
一:安装
有kali-linux的话,直接使用gem install aquatone 这个命令即可安装,时间为3分钟左右,耐心等待即可。
二:具体使用
0x01:发现阶段
1:aquatone-discover --domain example.com
2:aquatone-discover --domain example.com --fallback -nameservers 87.98.175.85,5.9.49.12
aquatone-discover将找到目标的名称服务器并在它们之间随机重新进行DNS查找。如果目标域的名称服务器上的查找失败,则aquatone-discover将回退到使用Google的公共DNS服务器来最大化发现。可以使用以下--fallback-nameservers
选项更改后备DNS服务器
3:aquatone-discover --domain example.com --threads 25 --threads调整线程大小
4:aquatone-discover --domain example.com --sleep 5 -jitter 30 攻击失败的DNS服务器可能会被入侵检测系统攻击,所以如果你担心这一点,你可以使用--sleep
和--jitter
选项让aquatone发现更隐蔽。--sleep
在每次DNS查找之间接受几秒钟的睡眠,同时--jitter
接受一定百分比的--sleep
值来随机地添加或减去睡眠间隔,以便打破睡眠模式并降低其可预测性。
0x02:API密钥
1:aquatone-discover --set-key shadon o1hyw8pv59vSVjrZU3Qaz6ZQqgM91ihQ 所有的密钥都保存在~/aquatone/.key.yml中。
0x03:结果
当aquatone-discover完成后,它将hosts.txt
在~/aquatone/
文件夹中创建一个文件,因此对于example.com的扫描,它将位于~/aquatone/example.com/hosts.txt
。格式将是逗号分隔的主机名及其IP列表,例如:
example.com,93.184.216.34
www.example.com,93.184.216.34
secret.example.com,93.184.216.36
cdn.example.com,192.0.2.42
.
除了该hosts.txt
文件之外,它还将生成hosts.json
包含相同信息但采用JSON格式的文件。如果要使用自定义脚本和工具中的信息,则可能更喜欢此格式。hosts.json
也将使用aquatone-scan和aquatone-gather工具。具体用法请使用aquatone-discover --help参考
0x04:扫描
扫描阶段是aquatone 将枚举发现的主机,用于打开通常用于web服务的tco端口。
1:aquatone-scan --domain example.com --ports 80,443,3000,8080,8088
当然这个我们也可以指定一个内置的列表别名,而不是以逗号分隔的端口列表。--注意:这个其实使用nmap探测的话更为合适
2:改变线程大小
aquatone-scan --domain example.com--threads 25
3:改变隐蔽性
aquatone-scan --domain example.com --sleep 5 -jitter 30
0x05:搜集
最后阶段是收集部分,其中发现和扫描阶段的结果用于查询发现的Web服务,以便检索和保存HTTP响应头和HTML主体,以及截取网页的外观。一个Web浏览器,使分析更容易。屏幕截图是使用Nightmare.js Node.js库完成的。如果系统中不存在此库,则会自动安装该库。
aquatone-gather --domain example.com
aquatone收集将寻找hosts.json
并open_ports.txt
在给定域的AQUATONE评价目录,并请求,并为每个域名最大的覆盖面截图每个IP地址。