子域名挖掘工具aquatone

Author Avatar
ssssdl 1月 15, 2019

前言

常见的子域名挖掘工具 Fierce,SubBrute和 Gobuster,还有在线的netcraft 等等吧。今天看见了一个叫aquatone的工具,觉得挺强的。

0x00 安装

  • 更新 kali

    1
    2
    # apt-get update && apt-get upgrade && apt-get dist-upgrade  
    # apt-clean
  • 安装 gem install apuatone

    安装完成后就可以使用了。

0x01 简单使用

1
2
# aquatone-discover -d alibaba.com -t 20
//-d 域名 -t 线程数

0x02 模块介绍

这个工具使用是有一定顺序的,有的时候会用到上一步的结果,所以如果需要执行下一步的话就一定要这一部分执行完毕后保存了结果,不要中途停止(重点),如果不按照顺序会有相应的提醒,只要按照提醒一步一步来就完事了(废话)。然后扫描结果会保存到一个aquatone文件夹中。

1.aquatone-discover

此工具主要用于子域名挖掘,可以列出;子域名和对应的IP,据说除了常见的字典爆破,还用了很多开源和互联网服务来大幅增加已发现的子域数量,实际测试中netcraft查询alibaba.com有96条,而这个工具查询出了6951条,有点惊人。然后扫描完毕后还会默认保存结果到两个文件一个是txt文件、一个是json文件,方便进行下一步处理。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
root in ~ λ aquatone-discover --help        
Usage: aquatone-discover OPTIONS
-d, --domain DOMAIN Domain name to assess
--nameservers NAMESERVERS Nameservers to use
--fallback-nameservers NAMESERVERS
Nameservers to fall back to
--[no-]ignore-private Ignore hosts resolving to private IP addresses
--set-key KEY VALUE Save a key to key store
--list-collectors See information on collectors
--only-collectors COLLECTORS Only run specified collectors
--disable-collectors COLLECTORS
Disable specified collectors
-t, --threads THREADS Number of concurrent threads to use
-s, --sleep SECONDS Seconds to sleep between lookups
-j, --jitter PERCENTAGE Jitter factor for sleep intervals #这个参数是指定使用的子域名来源方式
--netcraft-pages PAGES Number of Netcraft pages to process (default: 10)
--gtr-pages PAGES Number of Google Transparency Report pages to process (default: 30)
--wayback-machine-timeout SECONDS
Timeout for Wayback Machine collector in seconds (default: 30)
--publicwww-pages PAGES Number of PublicWWW pages to process (default: 30)
--shodan-pages PAGES Number of Shodan API pages to process (default: 10)
--wordlist WORDLIST OPTIONAL: wordlist/dictionary file to use for subdomain bruteforcing
--censys-pages PAGES Number of Censys API pages to process (default: 10)
-h, --help Show help

2.aquatone-scan

这个是用于端口扫描的工具,你只需要指定上级域名,他就可以把这个域名的下级域名的常见端口进行扫描。扫描结果大致如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
root in ~/aquatone on master ● λ aquatone-scan -d alibaba.com
__
____ _____ ___ ______ _/ /_____ ____ ___
/ __ `/ __ `/ / / / __ `/ __/ __ \/ __ \/ _ \
/ /_/ / /_/ / /_/ / /_/ / /_/ /_/ / / / / __/
\__,_/\__, /\__,_/\__,_/\__/\____/_/ /_/\___/
/_/ scan v0.5.0 - by @michenriksen

Loaded 6951 hosts from /root/aquatone/alibaba.com/hosts.json

Probing 20080 ports...
80/tcp 106.11.92.14 pcookie.alibaba.com
80/tcp 47.94.121.92 uf-bj.alibaba.com
443/tcp 140.205.230.44 alisports.alibaba.com, finnet.alibaba.com, svn.alibaba.com
80/tcp 116.95.26.231 img.alibaba.com
443/tcp 42.156.140.126 dk.alibaba.com, xy.alibaba.com
443/tcp 106.11.92.14 pcookie.alibaba.com

可以看见相同的IP开放相同的端口也会把扫描结果合并,可以说很人性化了。最后的执行结果也会保存进文件中。

1
2
3
4
5
6
7
8
9
root in ~/aquatone on master ● λ aquatone-scan --help        
Usage: aquatone-scan OPTIONS
-d, --domain DOMAIN Domain name to assess
-p, --ports PORTS Ports to scanm #指定端口,可以过滤掉一部分的信息
--timeout SECONDS Timeout in seconds for port probes
-t, --threads THREADS Number of concurrent threads to use #指定线程
-s, --sleep SECONDS Seconds to sleep between port probes
-j, --jitter PERCENTAGE Jitter factor for sleep intervals
-h, --help Show help

3.aquatone-gather

这个是按个ip访问,采集一些相应状态码等信息会保存在aquatone/域名/headers等,要提前安装好nodejs和npm,还有nightmare

1
2
3
4
5
6
7
8
~ apt-get install nodejs
~ apt-get install npm
# 安裝electron
~ cd /var/lib/gems/2.5.0/gems/aquatone-0.5.0
~ npm install electron
# 安裝nightmare
~ cd /var/lib/gems/2.5.0/gems/aquatone-0.5.0
~ npm install --save nightmare --unsafe-perm=true --allow-root

一定要按照这个顺序安装,不然会报Incompatability Error: Nightmarejs must be run on a system with a graphical desktop session (X11)的错误。运行状态大致如下,可以快速的过滤掉一些不需要的主机。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
root in ~ λ aquatone-gather -d alibaba.com            
__
____ _____ ___ ______ _/ /_____ ____ ___
/ __ `/ __ `/ / / / __ `/ __/ __ \/ __ \/ _ \
/ /_/ / /_/ / /_/ / /_/ / /_/ /_/ / / / / __/
\__,_/\__, /\__,_/\__,_/\__/\____/_/ /_/\___/
/_/ gather v0.5.0 - by @michenriksen

Processing 690 pages...
Processed: http://112.124.156.18/ (zhengjuzx.alibaba.com) - 200 OK
Processed: https://106.11.208.151/ (webdisk.en.alibaba.com) - 200 OK
Failed: http://106.11.223.101/ (mall.alibaba.com) - navigation error ERR_TOO_MANY_REDIRECTS
Failed: http://203.119.215.229/ (13662669516081.gw.china.alibaba.com) - navigation error ERR_TOO_MANY_REDIRECTS
Processed: http://42.156.140.126/ (dk.alibaba.com) - 200 OK
Processed: http://203.119.206.72/ (campus.alibaba.com) - 200 OK
Processed: https://47.97.222.143/ (softsec.security.alibaba.com) - 200 OK
Processed: https://140.205.61.39/ (finance.alibaba.com) - 404 Not Found
Failed: http://203.119.215.229/ (13685428665205.gw.china.alibaba.com) - navigation error ERR_TOO_MANY_REDIRECTS
Processed: https://106.11.223.101/ (country.alibaba.com) - 200 OK
Processed: http://205.204.101.142/ (news.alibaba.com) - 404 Not Found
Processed: https://106.11.223.101/ (kr.alibaba.com) - 200 OK
Failed: http://203.119.215.229/ (13660049611526.gw.china.alibaba.com) - navigation error ERR_TOO_MANY_REDIRECTS
Processed: http://106.11.223.101/ (m.indonesian.alibaba.com) - 200 OK

然后结果保存在aquatone/域名/下的文件夹,供进一步分析。

4.aquatone-takeover

这个功能嘛是查看主机域名接管和劫持漏洞的,也会保存出一个叫takeovers.json的文件,根据扫描域名数量,要消耗的时间也不尽相同(废话)。

0x03 参考资料