一、实验目标
掌握信息搜集的最基础技能与常用工具的使用方法。
1、各种搜索技巧的应用
2、DNS IP注册信息的查询
3、基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
4、漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
二、实践过程
(一)通过DNS和IP搜集目标网站的信息(以下以百度为例)
1、whois查询
进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到。
用whois查询 DNS注册信息,在kali终端输入whois baidu.com
,查询结果如下:(可以看到3R注册信息,包括注册人的姓名、组织和城市等信息)
2、nslookup,dig域名查询
(1)nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。查询结果如下:
(2)dig可以从官方DNS服务器上查询精确的结果。查询结果如下:
dig命令还有一些查询选项一使用,如dig baidu.com +X
X:
[no]search:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
[no]trace:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
[no]identify:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。
[no]stats:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
3、IP2Location 地理位置查询
可以利用www.maxmind.com
网站根据IP查询地理位置。查询如下:
4、IP反域名查询
通过shodan搜索引擎进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型等。查询结果如下:
5、tracert路由探测
可以通过ip查询到这些路由或者机器的地理位置,分析出数据包所走的路线。
(1)Linux下查询结果
由于虚拟机使用的是nat连接,traceroute返回的TTL exceeded消息无法映射到源IP地址、源端口、目的IP地址、目的端口和协议,因此无法反向NAT将消息路由传递回来。
(2)Windows下查询结果
(二)通过搜索引擎进行信息搜集
site:搜索范围限定在特定站点中
Filetype:搜索范围限定在指定文档格式中,支持文档格式有pdf,doc,xls,ppt,rtf,all(所有上面的文档格式)。
intitle:搜索范围限定在网页标题
双引号“”和书名号《》精确匹配:
查询词加上双引号“”则表示查询词不能被拆分,在搜索结果中必需完整出现,可以对查询词精确匹配。
查询词加上书名号《》有两层特殊功能,一是书名号会出现在搜索结果中;二是被书名号扩起来的内容,不会被拆分。
1、用百度搜索引擎,以site为例圈定范围进行搜索
2、Google Hacking
Google提供了高级搜索功能。GHDB数据库包含了大量使用Google从事渗透的搜索字符串。
我的谷歌浏览器出现了点问题,这里就不贴图了
(三)活跃主机扫描
1、Ping命令
2、netdiscover发现
在linux下可以通过执行netdiscover
命令直接对私有网段192.168..进行主机探测,结果如下:
(四)NMAP扫描
1、使用-sn选项让Nmap探索某网段下活跃的主机
使用nmap -sn 192.168.172.0/24
寻找该网段下的活跃主机
2、使用-O选项让Nmap对目标的操作系统进行识别
使用nmap -O 172.18.88.1
获取目标机的操作系统等信息:
3、使用-sS选项进行TCP SYN扫描
使用nmap -sS -Pn 172.18.88.1
命令,其中-sS是TCP SYN扫描,-Pn是在扫描之前,不发送ICMP echo请求测试目标:
4、使用-SU是对UDP端口进行探测
使用nmap -sU 172.18.88.1
命令,查看采用UDP协议的端口信息 图NMAP扫描PU
5、使用-sV查看目标机子的详细服务信息
使用nmap -sV 172.18.88.1
命令,其中-sV用来查看目标机子的详细服务信息:
(五)网络服务扫描
开启msf:msfconsole
通过输入search _version
指令查看msf中可提供的查点辅助模块,有如下模块可以应用:
1、Telnet服务扫描
msf > use auxiliary/scanner/telnet/telnet_version //进入telnet模块
msf auxiliary(telnet_version) > set RHOSTS 192.168.172.0/24 //扫描192.168.130.0网段
msf auxiliary(telnet_version) > set THREADS 100 //提高查询速度
msf auxiliary(telnet_version) > run
2、SSH服务扫描
msf > use auxiliary/scanner/ssh/ssh_version
msf auxiliary(ssh_version) > show options
msf auxiliary(ssh_version) > set RHOSTS 192.168.172.0/24
msf auxiliary(ssh_version) > set THREADS 200
msf auxiliary(ssh_version) > run
3、Oracle数据库服务查点
msf > use auxiliary/scanner/oracle/tnslsnr_version
msf auxiliary(scanner/oracle/tnslsnr_version) > show options
msf auxiliary(scanner/oracle/tnslsnr_version) > set RHOSTS 192.168.172.0/24
msf auxiliary(scanner/oracle/tnslsnr_version) > set THREADS 200
msf auxiliary(scanner/oracle/tnslsnr_version) > run
三、思考题
(一)哪些组织负责DNS,IP的管理。
1、互联网名称与数字地址分配机构,简称ICANN机构,决定了域名和IP地址的分配,ICANN是为承担域名系统管理,IP地址分配,协议参数配置,以及主服务器系统管理等职能而设立的非盈利机构。
2、ICANN负责协调管理DNS各技术要素以确保普遍可解析性,使所有的互联网用户都能够找到有效的地址。
3、全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务。
(二)什么是3R信息。
1、注册人(Registrant)、注册商(Registrar)、官方注册局(Registry)
2、3R注册信息:分散在官方注册局或注册商各自维护数据库中
(三)评价下扫描结果的准确性。
整体比较准确,但是用不同的扫描方式扫描出的结果会有些差异。
四、实践总结与体会
这次的实验主要是通过信息搜集、漏洞扫描得到信息,这些信息中通过开放的端口和扫描出来的漏洞可以用于攻击被扫描的靶机。信息收集作为渗透测试的第一步,往往起到了至关重要的奠基性作用。这些准备工作是必不可少的,只有收集了必要的信息,才能有的放矢进行下一步攻击。而对于自己的主机,漏洞扫描也非常重要,能让我们更深入了解自己主机存在的可能被人利用的缺陷,从而进行漏洞的修补。