[原创]安全攻城师系列文章-信息收集工具篇

本次主要讲的是如何使用域名收集工具,另外如何利用工具收集更多信息,为下一步渗透做好充足准备。啰嗦这么多,下面进入正题。

网站及服务器信息

如果知道目标的域名,你首先要做的就是通过Whois数据库查询域名的注册信息,Whois数据库是提供域名的注册人信息,包括联系方式,管理员名字,管理员邮箱等等,其中也包括DNS服务器的信息。

默认情况下,Kali已经安装了Whois。你只需要输入要查询的域名即可:

image

image

利用以上收集到的邮箱、QQ、电话号码、姓名、以及服务商,可以针对性进行攻击,利用社工库进行查找相关管理员信息,另外也可以对相关DNS服务商进行渗透,查看是否有漏洞,利用第三方漏洞平台,查看相关漏洞。

Nslookup用法

nslookup是站长较为常用的工具之一,它甚至比同类工具dig的使用人数更多,原因是它的运行环境是windows,并且不需要我们再另外安装什么东西。dig是在linux环境里运行的命令,不过也可以在windows环境里使用,只是需要安装dig windows版本的程序。

Nslookup命令以两种方式运行:非交互式和交互式。本文第一次提到交互式的概念,简单说明:交互式系统是指执行过程中允许用户输入数据和命令的系统。而非交互式系统,是指一旦开始运行,不需要人干预就可以自行结束的系统。因此,nslookup以非交互式方式运行,就是指运行后自行结束。而交互式,是指开始运行后,会要求使用者进一步输入数据和命令。

最常用的DNS记录有以下几类

A记录 IP地址记录,记录一个域名对应的IP地址

AAAA记录 IPv6 地址记录,记录一个域名对应的IPv6地址

CNAME记录 别名记录,记录一个主机的别名

MX记录 电子邮件交换记录,记录一个邮件域名对应的IP地址

NS记录 域名服务器记录 ,记录该域名由哪台域名服务器解析

PTR记录 反向记录,也即从IP地址到域名的一条记录

TXT记录     记录域名的相关文本信息

非交互式下命令的语法是是:

nslookup [-option] [hostname] [server]

image

上面是帮助信息,注意两点:1) 使用type参数可以设置记录类型。 2) 使用ls命令,可以列出一个域下面所有的域名。

Hostname选项指定需要查询的主机名,比如www.sec-redclub.comServer选项指定DNS服务器。为了查询结果的准确,可选用几个常用的公共DNS服务器:8.8.8.8Google提供的DNS服务,114.114.114.144114.114.115.115114DNS提供的免费DNS服务。

下面的例子通过114.114.114.114查询域名www.sec-redclub.comIP地址:

nslookup主要是用来查询dns服务器信息,不过,nslookup的作用绝非仅此而止,利用nslookup命令,还可以查到更多有关域名的服务器信息,IPCNAMETLL等等。

image

可以看到sec-redclub.com对应地址是121.42.173.26.

下面的例子查询sec-redclub.com使用的DNS服务器名称:

image上述结果显示,外部主DNS服务器有6个。下面的例子展示如何查询邮件交换记录:

image

查看网站cname值。

image

Dig使用

可以使用dig命令对DNS服务器进行挖掘

Dig命令后面直接跟域名,回车即可

image

不使用选项的dig命令,只返回一个记录。如果要返回全部的记录,只需要在命令添加给出的类型:

image

Dig常用选项】

1 -c选项,可以设置协议类型(class),包括IN(默认)CHHS

2 -f选项,dig支持从一个文件里读取内容进行批量查询,这个非常体贴和方便。文件的内容要求一行为一个查询请求。来个实际例子吧:

image

3 -4-6两个选项,用于设置仅适用哪一种作为查询包传输协议,分别对应着IPv4IPv6

4 -t选项,用来设置查询类型,默认情况下是A,也可以设置MX等类型,来一个例子:

image

5 -q选项,其实它本身是一个多余的选项,但是它在复杂的dig命令中又是那么的有用。-q选项可以显式设置你要查询的域名,这样可以避免和其他众多的参数、选项相混淆,提高了命令的可读性,来个例子:

image

6 -x选项,是逆向查询选项。可以查询IP地址到域名的映射关系。举一个例子:

image

【跟踪dig全过程】

dig非常著名的一个查询选项就是+trace,当使用这个查询选项后,dig会从根域查询一直跟踪直到查询到最终结果,并将整个过程信息输出出来

image

image

【精简dig输出】

1 使用+nocmd的话,可以节省输出dig版本信息。

2 使用+short的话,仅会输出最精简的CNAME信息和A记录,其他都不会输出。就像这样:

image

DNS枚举工具DNSenum

DNSenum是一款非常强大的域名信息收集工具

它能够通过谷歌或者字典文件猜测可能存在的域名,并对一个网段进行反向查询。它不仅可以查询网站的主机地址信息、域名服务器和邮件交换记录,还可以在域名服务器上执行axfr请求,然后通过谷歌脚本得到扩展域名信息,提取子域名并查询,最后计算C类地址并执行whois查询,执行反向查询,把地址段写入文件。本小节将介绍使用DNSenum工具检查DNS枚举。

在终端执行如下所示的命令:

image

输出的信息显示了DNS服务的详细信息。其中,包括主机地址、域名服务地址和邮件服务地址。如果幸运的话,还可以看到一个区域传输。

使用DNSenum工具检查DNS枚举时,可以使用dnsenum的一些附加选项,如下所示。

--threads [number]:设置用户同时运行多个进程数。 -r:允许用户启用递归查询。 -d:允许用户设置WHOIS请求之间时间延迟数(单位为秒)。 -o:允许用户指定输出位置。 -w:允许用户启用WHOIS请求。

subDomainsbrute二级域名收集

二级域名是指顶级域名之下的域名,在国际顶级域名下,它是指域名注册人的网上名称;在国家顶级域名下,它是表示注册企业类别的符号。我国在国际互联网络信息中心(Inter NIC 正式注册并运行的顶级域名是CN,这也是我国的一级域名。在顶级域名之下,我国的二级域名又分为类别域名和行政区域名两类。类别域名共7个,包括用于科研机构的ac;国际通用域名comtop;用于教育机构的edu;用于政府部门的gov;用于互联网络信息中心和运行中心的net;用于非盈利组织的org。而行政区域名有34个,分别对应于我国各省、自治区和直辖市。(摘自百度百科)

因为主域名防御比较强,而二级域名可能更好欺负些。

image

Usage: subDomainsBrute.py [options] target.com

Options:

-h, --help show this help message and exit

-t THREADS_NUM, --threads=THREADS_NUM Number of threads. default = 30

-f NAMES_FILE, --file=NAMES_FILE Dict file used to brute sub names

-i, --ignore-intranet Ignore domains pointed to private IPs.

-o OUTPUT, --output=OUTPUT Output file name. default is {target}.txt

以上为工具默认参数,如果是新手,请直接跟主域名即可,不用进行其它设置。

image

Python subDomainsbrute.py sec-redclub.com

就可以直接运行,等待结果,最后在工具文件夹下面存在txt文件,直接导入扫描工具就可以进行扫描了。

image

layer子域名检测工具

layer子域名检测工具主要是windows一款二级域名检测工具,利用爆破形式。

工具作者:http://www.cnseay.com/4193/

image

域名对话框直接输入域名就可以进行扫描了,工具显示比较细致,有域名、解析ipcnd列表、web服务器和网站状态,这些对于一个安全测试人员,非常重要。

如下操作:

image

回显示大部分主要二级域名。

 


为您推荐了相关的技术文章:

  1. ”安全线“大型目标渗透-01信息搜集|漏洞研究 - 安全技术社区
  2. 胖哈勃杯第十三届CUIT校赛官方Writeup
  3. 【经典好文】- 攻击JavaWeb应用 [1] - ThreatHunter
  4. 当 PassiveDNS 遇到泛解析 | 岚光
  5. gotunnel.org 网站简介 - imlonghao

原文链接: bbs.pediy.com