f10@t's blog

kali-渗透测试-信息收集1

字数统计: 2.9k阅读时长: 14 min
2019/03/18

第一部分

被动信息收集

指公开渠道可获取的信息,且与目标系统不产生直接接触、尽量避免留下一切的痕迹,如利用OSINT(开源情报收集)。

信息收集内容

  • IP地址段
  • 域名信息
  • 邮件地址
  • 文档图案数据
  • 公司地址
  • 公司组织架构
  • 联系电话/传真电话
  • 人员姓名/职务
  • 目标系统使用的技术架构
  • 公开的商业信息

信息用途

  • 用信息描述目标
  • 发现(如主机等)
  • 社会工程学攻击
  • 物理缺口

DNS信息收集

域名与FQDN(Fully Qualified DomainName)全限定域名的区别:如www.sina.com是sina.com的主机记录,称为一个FQDN

如域名类型有下几种种类:

1
2
3
4
5
A(主机记录)
Cname(别名记录--解析到另一个域名)
NS(域名服务器)
MX(邮件交换记录-指向SMTP服务器的IP)
ptr(反向域名解析)反向解析IP为域名

当域名服务器自身缓存的有解析的结果,直接返回,若不包含DNS记录,则受到请求后,会进一步进行域名查询,如发送给根域名服务器(www.sina.com.)、com域服务器(根域名服务器转到om服务器)、example.com域服务器(sina.com域名服务器的IP,找到了结果,并返回给DNS服务器)。之后DNS缓存一份,发送给客户端,并在一定时间后删除该缓存。

将本地主机到本地缓存DNS服务器称为为递归查询,而层级(根域、.com域等)的解析称为迭代查询

例:域名服务器只做解析,(www.sina.com.)下属根域服务器、com服务器、example.com服务器。先发到本地运营商缓存服务器(递归查询流程),有返回,没有就查询.域服务器。如果不知道,返回给DNS,结果为.com域的域名服务器;DNS去请求.com服务器,不知道返回DNS,结果为域名服务器记录;DNS去访问sina.com的服务器(迭代查询),知道,DNS拿到结果后,先在本地缓存,过期后删除,返回给客户端,客户端再路由去访问网站服务器。

nslookup

命令查询从DNS到IP地址

1
2
3
NSLOOKUP:
  set type=a/ptr/mx/ns等,也可以server XXX.XXX.XXX.XXX设置域名解析服务器
如:nslookup 163.com -type=any @8.8.8.8 //查询IP,指定域名服务器为8.8.8.8
返回结果:
1
2
3
4
5
6
7
8
9
root@kali:~# nslookup 163.com -type=any 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
Name: 163.com
Address: 123.58.180.8
Name: 163.com
Address: 123.58.180.7

DIG

基本查询

DIG作用与nslookup类似,但也包含一些其他功能。如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
root@kali:~# dig sina.com any @8.8.8.8

; <<>> DiG 9.11.5-P4-5-Debian <<>> sina.com any @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5760
;; flags: qr rd ra; QUERY: 1, ANSWER: 14, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;sina.com. IN ANY

;; ANSWER SECTION:
sina.com. 59 IN A 66.102.251.33
sina.com. 59 IN TXT "v=spf1 include:spf.sinamail.sina.com.cn -all"
sina.com. 299 IN SOA ns1.sina.com.cn. zhihao.staff.sina.com.cn. 2005042601 900 300 604800 300
sina.com. 21599 IN NS ns3.sina.com.
sina.com. 21599 IN NS ns1.sina.com.
sina.com. 21599 IN NS ns1.sina.com.cn.
sina.com. 21599 IN NS ns2.sina.com.
sina.com. 21599 IN NS ns4.sina.com.cn.
sina.com. 21599 IN NS ns3.sina.com.cn.
sina.com. 21599 IN NS ns2.sina.com.cn.
sina.com. 21599 IN NS ns4.sina.com.
sina.com. 59 IN MX 10 freemx3.sinamail.sina.com.cn.
sina.com. 59 IN MX 5 freemx1.sinamail.sina.com.cn.
sina.com. 59 IN MX 10 freemx2.sinamail.sina.com.cn.

;; Query time: 453 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 三 5月 08 03:55:18 EDT 2019
;; MSG SIZE rcvd: 395
返回了1条A记录、1条TXT记录、1条SOA记录、8条8条DNS服务器记录以及3条邮件服务器的记录。注意:有时指定不同的域名服务器可能会返回不一样的结果,所以需要多次查询来确定,如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//使用本地的默认DNS服务器查询:
root@kali:~# dig mail.163.com any

; <<>> DiG 9.11.5-P4-5-Debian <<>> mail.163.com any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10811
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 7, ADDITIONAL: 6

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mail.163.com. IN ANY

;; ANSWER SECTION:
mail.163.com. 311 IN CNAME mail163.ntes53.netease.com.

;; AUTHORITY SECTION:
163.com. 110913 IN NS ns6.nease.net.
163.com. 110913 IN NS ns3.nease.net.
163.com. 110913 IN NS ns8.166.com.
163.com. 110913 IN NS ns5.nease.net.
163.com. 110913 IN NS ns4.nease.net.
163.com. 110913 IN NS ns1.nease.net.
163.com. 110913 IN NS ns2.166.com.

;; ADDITIONAL SECTION:
ns1.nease.net. 102634 IN A 123.58.173.177
ns3.nease.net. 98134 IN A 220.181.36.234
ns4.nease.net. 113712 IN A 123.125.48.245
ns5.nease.net. 110335 IN A 121.195.179.18
ns6.nease.net. 89622 IN A 52.215.24.44

;; Query time: 2 msec
;; SERVER: 10.10.10.2#53(10.10.10.2)
;; WHEN: 三 5月 08 05:47:45 EDT 2019
;; MSG SIZE rcvd: 297

//使用8.8.8.8来查询
root@kali:~# dig mail.163.com any

; <<>> DiG 9.11.5-P4-5-Debian <<>> mail.163.com any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10811
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 7, ADDITIONAL: 6

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mail.163.com. IN ANY

;; ANSWER SECTION:
mail.163.com. 311 IN CNAME mail163.ntes53.netease.com.

;; AUTHORITY SECTION:
163.com.
可以看到国外的DNS服务器只查出来了一条Cname记录。

也有简便操作来省略一些不重要的信息(比如开头那一段):

1
2
root@kali:~# dig +noall +answer mail.163.com any
mail.163.com. 12 IN CNAME mail163.ntes53.netease.com.

反向查询

dig中可以添加-x参数来进行反向查询域名,如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
root@kali:~# dig 163.com mx

; <<>> DiG 9.11.5-P4-5-Debian <<>> 163.com mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60399
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 7, ADDITIONAL: 14

;; QUESTION SECTION:
;163.com. IN MX

;; ANSWER SECTION:
163.com. 5 IN MX 50 163mx00.mxmail.netease.com.
163.com. 5 IN MX 10 163mx01.mxmail.netease.com.
163.com. 5 IN MX 10 163mx02.mxmail.netease.com.
163.com. 5 IN MX 10 163mx03.mxmail.netease.com.

;; AUTHORITY SECTION:
163.com. 5 IN NS ns1.nease.net.
163.com. 5 IN NS ns4.nease.net.
163.com. 5 IN NS ns6.nease.net.
163.com. 5 IN NS ns2.166.com.
163.com. 5 IN NS ns8.166.com.
163.com. 5 IN NS ns3.nease.net.
163.com. 5 IN NS ns5.nease.net.

;; ADDITIONAL SECTION:
163mx01.mxmail.netease.com. 5 IN A 220.181.14.136
163mx01.mxmail.netease.com. 5 IN A 220.181.14.137
163mx01.mxmail.netease.com. 5 IN A 220.181.14.138
163mx01.mxmail.netease.com. 5 IN A 220.181.14.139
163mx01.mxmail.netease.com. 5 IN A 220.181.14.140
163mx01.mxmail.netease.com. 5 IN A 220.181.14.141
163mx01.mxmail.netease.com. 5 IN A 220.181.14.142
163mx01.mxmail.netease.com. 5 IN A 220.181.14.143
163mx01.mxmail.netease.com. 5 IN A 220.181.14.135
163mx02.mxmail.netease.com. 5 IN A 220.181.14.146
163mx02.mxmail.netease.com. 5 IN A 220.181.14.147
163mx02.mxmail.netease.com. 5 IN A 220.181.14.148
163mx02.mxmail.netease.com. 5 IN A 220.181.14.149
163mx02.mxmail.netease.com. 5 IN A 220.181.14.150

;; Query time: 3 msec
;; SERVER: 10.10.10.2#53(10.10.10.2)
;; WHEN: 三 5月 08 04:03:48 EDT 2019
;; MSG SIZE rcvd: 499

//进一步dig
root@kali:~# dig 163mx03.mxmail.netease.com

; <<>> DiG 9.11.5-P4-5-Debian <<>> 163mx03.mxmail.netease.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33520
;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 7, ADDITIONAL: 6

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 4096
;; QUESTION SECTION:
;163mx03.mxmail.netease.com. IN A

;; ANSWER SECTION:
163mx03.mxmail.netease.com. 5 IN A 220.181.14.163
163mx03.mxmail.netease.com. 5 IN A 220.181.14.164
163mx03.mxmail.netease.com. 5 IN A 220.181.14.156
163mx03.mxmail.netease.com. 5 IN A 220.181.14.157
163mx03.mxmail.netease.com. 5 IN A 220.181.14.158
163mx03.mxmail.netease.com. 5 IN A 220.181.14.159
163mx03.mxmail.netease.com. 5 IN A 220.181.14.160
163mx03.mxmail.netease.com. 5 IN A 220.181.14.161
163mx03.mxmail.netease.com. 5 IN A 220.181.14.162

;; AUTHORITY SECTION:
netease.com. 5 IN NS ns2.166.com.
netease.com. 5 IN NS ns6.nease.net.
netease.com. 5 IN NS ns1.nease.net.
netease.com. 5 IN NS ns5.nease.net.
netease.com. 5 IN NS ns8.166.com.
netease.com. 5 IN NS ns4.nease.net.
netease.com. 5 IN NS ns3.nease.net.

;; ADDITIONAL SECTION:
ns1.nease.net. 5 IN A 123.58.173.177
ns3.nease.net. 5 IN A 220.181.36.234 //拿这个实验
ns4.nease.net. 5 IN A 123.125.48.245
ns5.nease.net. 5 IN A 121.195.179.18
ns6.nease.net. 5 IN A 52.215.24.44

;; Query time: 13 msec
;; SERVER: 10.10.10.2#53(10.10.10.2)
;; WHEN: 三 5月 08 04:04:46 EDT 2019
;; MSG SIZE rcvd: 418

//随便挑一个ip进行反向查询
root@kali:~# dig -x 220.181.14.163

; <<>> DiG 9.11.5-P4-5-Debian <<>> -x 220.181.14.163
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40392
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 7

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 4096
;; QUESTION SECTION:
;163.14.181.220.in-addr.arpa. IN PTR

;; ANSWER SECTION:
163.14.181.220.in-addr.arpa. 5 IN PTR m14-163.188.com. //可以看到和ns3.nease.net不一样,属于一个ip对应多个域名的正常情况

;; AUTHORITY SECTION:
181.220.in-addr.arpa. 5 IN NS idc-ns2.bjtelecom.net.
181.220.in-addr.arpa. 5 IN NS idc-ns3.bjtelecom.net.
181.220.in-addr.arpa. 5 IN NS idc-ns1.bjtelecom.net.

;; ADDITIONAL SECTION:
idc-ns1.bjtelecom.net. 5 IN A 218.30.26.68
idc-ns1.bjtelecom.net. 5 IN AAAA 240e:0:9000:200::68
idc-ns2.bjtelecom.net. 5 IN A 218.30.26.70
idc-ns2.bjtelecom.net. 5 IN AAAA 240e:0:9000:200::70
idc-ns3.bjtelecom.net. 5 IN A 211.100.2.125
idc-ns3.bjtelecom.net. 5 IN AAAA 240e:0:9000:201::72

;; Query time: 60 msec
;; SERVER: 10.10.10.2#53(10.10.10.2)
;; WHEN: 三 5月 08 04:05:21 EDT 2019
;; MSG SIZE rcvd: 296

BIND信息

大多数DNS服务器使用的软件是BIND,有些DNS服务器可能会泄露它的BIND版本信息,可能包含可利用的漏洞。BIND信息为TXT类型,chao字段如:

1
2
3
4
root@kali:~# dig +noall +answer txt chaos VERSION.BIND @ns3.dnsv4.com
;; Warning: query response not set
;; Warning: Message parser reports malformed message packet.
VERSION.BIND. 0 CH TXT "1.1.1711.01"

但是大部分情况下该信息是隐藏的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//寻找DNS服务器记录
root@kali:~# dig sina.com NS

; <<>> DiG 9.11.5-P4-5-Debian <<>> sina.com NS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29746
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 5

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 4096
;; QUESTION SECTION:
;sina.com. IN NS

;; ANSWER SECTION:
sina.com. 5 IN NS ns3.sina.com.cn.
sina.com. 5 IN NS ns2.sina.com.cn.
sina.com. 5 IN NS ns4.sina.com.
sina.com. 5 IN NS ns1.sina.com.
sina.com. 5 IN NS ns1.sina.com.cn.
sina.com. 5 IN NS ns4.sina.com.cn.
sina.com. 5 IN NS ns3.sina.com.
sina.com. 5 IN NS ns2.sina.com.

;; ADDITIONAL SECTION:
ns1.sina.com.cn. 5 IN A 202.106.184.166
ns2.sina.com.cn. 5 IN A 180.149.138.199
ns3.sina.com.cn. 5 IN A 123.125.29.99
ns4.sina.com.cn. 5 IN A 121.14.1.22

;; Query time: 116 msec
;; SERVER: 10.10.10.2#53(10.10.10.2)
;; WHEN: 三 5月 08 04:15:57 EDT 2019
;; MSG SIZE rcvd: 256

root@kali:~# dig +noall +answer txt chaos VERSION.BIND @ns2.sina.com
VERSION.BIND. 0 CH TXT " " //这里就没显示

trace追踪功能

有时会发生DNS劫持的现象,可以通过trace来发现问题。下面是wireshark截包来显示解析www.sina.com这个FQDN的整个过程。

从前两行可以看出,我的本机向配置的DNS服务器发出查询:

查询内容:NS记录类型、类是(IN)Internet。

服务器返回的结果:13个根域名服务器的域名

紧接着又向服务器查询了这十三个根域名A记录的ip地址

之后随便挑了这13个ip地址中的一个(红线),向他查询www.baidu.com这个A记录

根域服务器返回的内容:一系列baidu的DNS解析服务器的NS记录

紧接着又向DNS服务器查询了这些服务器的ip

和上面一样,随便挑了一个进行查询:

最终得到了Cname记录结果:

这个过程也应证了DNS解析的迭代查询

CATALOG
  1. 1. 被动信息收集
    1. 1.1. 信息收集内容
    2. 1.2. 信息用途
    3. 1.3. DNS信息收集
      1. 1.3.1. nslookup
      2. 1.3.2. DIG
    4. 1.4. 基本查询
    5. 1.5. 反向查询
    6. 1.6. BIND信息
    7. 1.7. trace追踪功能