Fierce 是一款半轻量级扫描器,用于帮助定位针对指定域名的非连续 IP 空间和主机名。
它实际上是 nmap、unicornscan、nessus、nikto 等工具的前置步骤,因为这些工具都要求您已经知道要查找的 IP 空间。
该工具不执行漏洞利用,也不会不加区分地扫描整个互联网。它专门用于定位公司网络内部和外部的可能目标。
由于主要使用 DNS,您经常会发现配置错误的网络会泄露内部地址空间。这在针对性恶意软件中尤其有用。
-connect 尝试对任何非 RFC1918(公开)地址建立 HTTP 连接。这将输出返回的头部信息,但请注意,如果目标公司有很多目标,根据网络/机器延迟,这可能需要很长时间。除非目标公司很小,或者您有大量空闲时间(可能需要数小时到数天),否则不建议这样做。在指定的文件中,文本 "Host:\n" 将被替换为指定的主机。用法:
perl fierce.pl -dns example.com -connect headers.txt
-delay 每次查询之间等待的秒数。
-dns 要扫描的域名。
-dnsfile 使用文件提供的 DNS 服务器(每行一个)进行反向查找(暴力破解)。
-dnsserver 使用特定的 DNS 服务器进行反向查找(通常应该是目标的 DNS 服务器)。默认情况下,Fierce 使用您的 DNS 服务器进行初始 SOA 查询,然后使用目标的 DNS 服务器进行所有后续查询。
-file 要输出日志的文件。
-fulloutput 与 -connect 结合使用时,将输出 Web 服务器返回的所有内容,而不仅仅是 HTTP 头部。
-help 显示此帮助信息。
-nopattern 查找附近主机时不使用搜索模式。而是转储所有内容。这会非常嘈杂,但有助于发现垃圾邮件发送者可能使用的其他域名。同时也会产生大量误报,尤其是在大型域名上。
-range 扫描内部 IP 范围(必须与 -dnsserver 结合使用)。注意,这不支持模式,只会输出它找到的任何内容。用法:
perl fierce.pl -range 111.222.333.0-255 -dnsserver ns1.example.co
-search 搜索列表。当 Fierce 试图在 IP 空间上下遍历时,可能会遇到其他域名中的其他服务器,这些服务器可能属于同一家公司。如果您向 Fierce 提供一个逗号分隔的列表,它将报告找到的任何内容。当公司内部服务器名称与面向公众的网站名称不同时,这尤其有用。用法:
perl fierce.pl -dns examplecompany.com -search corpcompany,blahcompany
注意,使用搜索也可能会大大扩展找到的主机数量,因为它一旦定位到您在搜索列表中指定的服务器,就会继续遍历。越多越好。
-suppress 压制所有 TTY 输出(与 -file 结合使用时)。
-tcptimeout 指定不同的超时时间(默认 10 秒)。如果您查询的 DNS 服务器速度较慢或网络延迟较大,您可能需要增加此值。
-threads 指定扫描时使用的线程数(默认为单线程)。
-traverse 指定在找到的 IP 地址上下各多少个 IP 范围内查找附近的 IP。默认为上下各 5 个。遍历不会进入其他 C 段。
-version 输出版本号。
-wide 在某个 C 段中找到匹配的主机名后,扫描整个 C 段。这会生成更多流量,但可以揭示更多信息。
-wordlist 使用单独的词表(每行一个词)。用法:
perl fierce.pl -dns examplecompany.com -wordlist dictionary.txt
root@kali:~# fierce -dns example.com
DNS Servers for example.com:
b.iana-servers.net
a.iana-servers.net
Trying zone transfer first...
Testing b.iana-servers.net
Request timed out or transfer not allowed.
Testing a.iana-servers.net
Request timed out or transfer not allowed.
Unsuccessful in zone transfer (it was worth a shot)
Okay, trying the good old fashioned way... brute force
Checking for wildcard DNS...
Nope. Good.
Now performing 2280 test(s)...