1. 被动信息搜集
(1)被动信息搜集
- 公开渠道可获得的信息;
- 与目标系统不产生直接交互;
- 尽量避免留下痕迹;
(2)搜集的内容
IP地址段、域名信息、邮件地址、文档图片数据、公司地址、公司组织架构、联系电话/传真号码、人员姓名/职务、公开的商业信息等;
2. 信息收集——DNS
(1)DNS解析流程:
本机的网络配置中会指定一个本地DNS服务器,当发起网络请求时,主机先问问本地DNS服务器,DNS服务器返回对应域名的ip地址。
以请求www.baidu.com为例:
- 本地的DNS服务器一开始是不知道www.baidu.com的IP地址,它会去问根域服务器(即.域);
- 根域服务器只解析13个根域名服务器,所以不会直接www.baidu.com返回的IP地址,而是会返回.com域的域名服务器的地址,让本地域名服务器去问.com服务器;
- 本地DNS服务器去问.com服务器,但是.com服务器也不知道www.baidu.com的IP地址,但是会返回一个存储了baidu.com这个域名的服务器的地址,让本地服务器去问baidu.com域名服务器;
- 本地服务器就去问记录了baidu.com域名服务器,问它知不知道www.baidu.com对应的ip地址是多少。这个服务器一查,确实有一个域名是baidu.com的主机进行了A记录解析(即www.baidu.com),对应着一个ip地址,它会将ip地址返回给本地DNS服务器;
- 本地服务器拿到这个ip,先在本地缓存一份,然后再把www.baidu.com对应的ip地址返回给请求的主机;
- 这时候,当有其他主机问本地DNS服务器www.baidu.com对应的ip是多少时,本地DNS服务器发现自己的缓存中有这条记录,就会直接返回www.baidu.com的ip。
- 主机和本地服务器之间的查询称为递归查询,而本地服务器与各种域名服务器之间的查询称为迭代查询。
(2)DNS的域名记录:
- A记录:主机记录,是使用最广泛的DNS记录;(比如说,www.baidu.com可以创建多个A记录,对应多台物理服务器的IP地址,可以实现基本的流量均衡!)
- NS记录:也称为域名服务器记录,用于说明这个区域有哪些DNS服务器承担解析的任务;
- SOA记录:起始授权机构记录,SOA记录说明了在众多NS记录里那一台才是主DNS服务器;
- MX记录:邮件交换记录,MX记录是无可或缺的,比如:A用户向B用户发送一封邮件,那么他需要向DNS查询B的MX记录,DNS定位到了B的MX记录后反馈给A用户,然后A用户把邮件投递到B用户的MX记录服务器里!
- Cname记录:别名记录;
- PTR记录:反向地址解析记录,作用是把IP地址解析为域名。DNS的反向区域负责从IP到域名的解析,因此如果要创建PTR记录,必须在反向区域中创建。
(3)DNS信息收集——nslookup
3.1> 非交互式
root@root:~# nslookup sina.com
Server: 192.168.37.2
Address: 192.168.37.2#53
Non-authoritative answer:
Name: sina.com
Address: 66.102.251.33
root@root:~# nslookup -type=mx sina.com
Server: 192.168.37.2
Address: 192.168.37.2#53
Non-authoritative answer: # 10表示优先级,相比5优先级较低
sina.com mail exchanger = 10 freemx3.sinamail.sina.com.cn.
sina.com mail exchanger = 5 freemx1.sinamail.sina.com.cn.
sina.com mail exchanger = 10 freemx2.sinamail.sina.com.cn.
Authoritative answers can be found from:
3.2> 交互式
root@root:~# nslookup
> server #本地DNS
Default server: 192.168.37.2
Address: 192.168.37.2#53
> sina.com
Server: 192.168.37.2
Address: 192.168.37.2#53
Non-authoritative answer:
Name: sina.com
Address: 66.102.251.33
> set type=mx
> sina.com
Server: 192.168.37.2
Address: 192.168.37.2#53
Non-authoritative answer:
sina.com mail exchanger = 10 freemx2.sinamail.sina.com.cn.
sina.com mail exchanger = 5 freemx1.sinamail.sina.com.cn.
sina.com mail exchanger = 10 freemx3.sinamail.sina.com.cn.
注:一般情况下,采用不同的DNS服务器得到的结果是不一样的,因为现在都采用智能DNS,根据终端用户的地址确定返回的服务器IP,以提升访问速度。
(4)DNS信息收集——Dig
4.1> Dig信息收集
dig @8.8.8.8 sina.com; #dig @指定DNS服务器 要收集的域名
dig @8.8.8.8 sina.com any;
dig @8.8.8.8 sina.com mx;
root@root:~# dig @8.8.8.8 sina.com
; <<>> DiG 9.11.3-1-Debian <<>> @8.8.8.8 sina.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55687
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;sina.com. IN A
;; ANSWER SECTION:
sina.com. 59 IN A 66.102.251.33
;; Query time: 125 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Apr 07 16:18:16 CST 2019
;; MSG SIZE rcvd: 53
root@root:~# dig @8.8.8.8 sina.com any
; <<>> DiG 9.11.3-1-Debian <<>> @8.8.8.8 sina.com any
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8037
;; flags: qr rd ra; QUERY: 1, ANSWER: 14, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUD