**
被动信息收集
**
- 通过公开的渠道可以获得的信息,例如:公司名称、公司地址等。
- 不与目标系统直接产生交互。
- 尽量避免留下一切痕迹。
域名
域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)
这里是引用百度百科
,例如www.baidu.com。
**
DNS域名系统(Domain Name System)
**
-
进行主机名的解析(正向解析)
-
DNS协议使用的端口号为TCP/UDP的53号。
客户端向DNS服务器发起请求使用的是UDP53号,DNS服务器间进行区域传输使用的是TCP53。 -
DNS解析的属性:
A:Address地址IPv4
AAA:Address地址IPv6
NS:Name Service域名服务器
MX:Mail Exange邮件交换
SOA:Start of Authority授权状态 -
查询类型
递归查询:逐级向下一个DNS服务器进行查询
迭代查询:同时向多个服务器进行查询
实际上的DNS服务器查询时同时使用 -
查询过程
hosts文件
本地DNS解析缓存
本地DNS服务器
发起迭代查询
**
DNS信息收集——NSLOOKUP
**
-
NSLOOKUP
nslookup用于查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题。以sina.com为例。 -
命令
进入nslookup
set type(q)=a —主机
sina.com
set type = ns —名字服务器记录set q=txt —域名对应的文本信息
set q=mx —邮件服务器记录
set q=any —所有域名
或是在一行命令输入
nslookuo -q=类型 查询域名 【指定域名去解析】
如:nslookup -q=any sina.com 8.8.8.8
注:
若出现non-authoritative answer问题
非授权应答表示这个查询结果来自一个非权威主机,当用nslookup查询时出现’Non-authoritative answer:’,表明这次并没有到 网络外去查询,而是在缓存区中查找并找到数据。
**
DNS信息收集——dig(相比nslookup更全面)
**
- dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。
- 命令
dig 网站名称
dig sina.com
查找sina.com A记录的列表(此处一定是域而不是主机)
dig sina.com A +noall +answer
查找sina.com MX记录的列表:
dig sina.com MX +noall +answer也可以使用AAAA的选项查询主机的IPv6 AAAA记录:
+short快速查询相关信息
**
DNS区域传输
**
区域传输,是DNS服务器之间的数据库同步,只要域名发生变动,数据就会进行同步,进行区域传输,是为了列出当前域中的所有主机记录,然后可以推断出目标在网络上提供了什么服务。
- 命令
dig @ns1 example.com example.com axfr(区域传输方法)
传输失败,可使用抓包查看传输过程。
host -T(时间) -l(传输方法为axfr) example.com 【指定域名】
**
DNS字典**
**
无法使用常规命令查出信息时,可以使用**的方法进行信息
字典可使用自己的,也可使用本机自带,本文全部使用本机自带的。
-命令
1. fierce
查找fierce相关的字典
dpkg -L fierce可判断出字典在.text下,我们需要查看有没有www相关的字典
使用cat /usr/share/fierce/hosts.txt | grep www
继而使用字典**
fierce -dnsservice 8.8.8.8【指定域名】 -dns sina.com -wordlist /usr/share/fierce/hosts.txt
-dnsserver 指定DNS服务器 -dns 指定域名 -wordlist 指定字典
2. dnsenum(相较fierce更全面)
查找dnsenum字典
dpkg -L dnsenum**
dnsenum -f /usr/share/dnsenum/dns.txt -dnsservice sina.com -o sina.xml
3. dnsmap
dnsmap sina.com -w 指定字典
4. dnsrecon
dnsrecon -d sina.com --lifetime 10 -t brt -D 指定字典字典都按照dpkg命令查出查
这是我第一次写,查了很多资料,我自己也一步一步操作过,如有不妥处,请多包涵,也请多多指正。
谢谢!