网络对抗Exp5 信息搜集与漏洞扫描
一、实践目标
掌握信息搜集的最基础技能与常用工具的使用方法:
- (1)各种搜索技巧的应用
- (2)DNS IP注册信息的查询
- (3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
- (4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
二、实践内容
1、各种搜索技巧的应用
1. 搜索网址目录结构
使用metasploit
的 brute_dirs
,dir_listing
,dir_scanner
等辅助模块,用来探测网站的目录结构,便于查找漏洞点。
首先进入msfconsole
- dir_scanner
use auxiliary/scanner/http/dir_scanner
set THREADS 30
set RHOST www.baidu.com
exploit
- dir_listing
use auxiliary/scanner/http/dir_listing
set THREADS 30
set RHOST www.baidu.com
exploit
- brute_dirs
use auxiliary/scanner/http/brute_dirs
set THREADS 30
set RHOST www.baidu.com
exploit
通过扫描,我们可以看到百度的一些隐藏目录
返回代码200表示成功处理了请求
返回代码302表示服务器重定向
返回代码404表示服务器找不到请求的网页
2. 利用搜索引擎
在开始前,先学习一下搜索引擎的一些查询小技巧:十分钟教你有效运用15种百度检索式:小敏学长
1、“+”加号 —— 强制包含关键词
2、“-”非——消除无关性
3、“|”或——并行搜索
4、(“”)双引号——精确匹配
5、“《》”书名号——精确匹配/电影或小说
6、“『』”——查找论坛版块
7、“文本方式”——查找论坛内容
8、利用后缀名来搜索电子书
9、中英文混合搜索
10、“开始连接”、“正在连接”——搜索电影
11、“site”——在特定网站或域中搜索
12、“inurl”——把搜索范围限定在url链接中
13、“intitle”——把搜索范围限定在网页标题中
14、“filetype:”——特定格式的文档检索
15、“intitle:bookmarks”——查询别人的收藏夹
有些网站会链接信息收集统计等敏感文件,可以进行针对性的查找。如百度,site:bit.edu.cn filetype:xls
随便打开一个网站的表格查看
3.路由侦查
Windows 使用 tracert 命令进行路由侦查
其中,
- 第一列:生存时间,每途经一个路由器结点自增1。
- 第二列-第四列:三次发送的ICMP包返回时间,共计3个,单位为毫秒ms。其中带有星号(*)的信息表示该次ICMP包返回时间超时。
- 第五列:途经路由器的IP地址,如果有主机名,还会包含主机名。
带有星号(*)的信息表示该次ICMP包返回时间超时。
linux下使用traceroute
命令进行路由侦查
2、DNS IP注册信息的查询
得到的结构和windows的结果差不多,只是第二到第四列的结果和第五列的结果交换了一下。
1. whois 查询
whois
就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商),使用时要去掉www
等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois
数据库中可能查询不到
2. nslookup域名查询
可以得到DNS解析服务器保存的Cache的结果(有可能出现错误)。
3. dig域名查询
dig可以从官方DNS服务器上查询精确的结果。
- dig命令
+[no]search:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
+[no]trace:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
+[no]identify:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。
+[no]stats:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
4. IP2Location 地理位置查询
三、基本的扫描技术
1. 主机发现
-
通过PING发现
-
arp.sweep
metasploit 中提供了一些辅助模块可用于活跃主机的发现,这些模块位于Metasploit 源
码路径的modules/auxiliary/scanner/discovery/ 目录中。
arp.sweep使用ARP请求枚举本地局域网络中的所有活跃主机。
操作:在kali虚拟机中进入root模式,输入如下指令:
msfconsole
use auxiliary/scanner/discovery/arp_sweep
set RHOSTS 192.168.242.129/24 (根据kali的ip地址设置,如ip为192.168.242.129的话,就设置为192.168.242.129/24)
set THREADS 50
exploit
如有兴趣可以用show options查看具体设置。
- udp.sweep
udp.sweep通过发送UDP数据包探查指定主机是否舌跃,并发现主机上的UDP服务。
操作(可直接在完成上述操作后继续输入指令):
use auxiliary/scanner/discovery/udp_sweep
set RHOSTS 192.168.242.129/24(同上)
set THREADS 50
exploit
- nmap -sn
nmap -sn
参数可以用来探测某网段的活跃主机
操作:打开一个新的终端,输入命令nmap -sn 192.168.242.129/24
2.端口扫描
- nmap
nmap -PU参数是对UDP端口进行探测。
操作:在kali中打开root终端,输入命令nmap -PU 192.168.101.0/24
- metasploit的端口扫描模块
操作(耗时较久,检测到几个端口后按ctrl+c退出即可):
msfconsole
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.242.129/24
set THREADS 50
exploit
3. 版本探测
- 操作系统侦测
输入 nmap -O 192.168.242.129
,指定nmap进行OS探测
这里的端口是没有开放的。
此时可以通过打开22端口解决。操作如下:
vim /etc/ssh/sshd_config
找到
#PasswordAuthentication yes
#PermitRootLogin no
去掉注释符号后,并将no修改为yes
完成后保存文件,在终端输入/etc/init.d/ssh start
此时重新输入nmap -O 192.168.242.129(kali的IP)
即可探测到。
也可以直接将扫描IP换成整个网段的IP(192.168.242.129/24,根据自身IP决定),这样可以扫描出自己主机的操作系统。(一般是网段的第一个IP,即192.168.242.1)
nmap -sV
查看目标主机的详细服务信息
操作:输入命令nmap -sV 192.168.101.128
4. 具体服务的查点
- telenet服务扫描
use auxiliary/scanner/telnet/telnet_version
set RHOSTS 192.168.242.129/24
set THREADS 50
exploit
- SSH服务扫描
use auxiliary/scanner/ssh/ssh_version
set RHOSTS 192.168.242.129/24
set THREADS 50
exploit
- Oracle数据库服务查点
use auxiliary/scanner/oracle/tnslsnr_version
set RHOSTS 192.168.242.129/24
set THREADS 50
exploit
四、漏洞扫描
我按照课题负责人提供的链接下载好的别人直接装好的虚拟机,所以可以直接用,安装完成后,第一次登录会显示该虚拟机的IP
这里显示虚拟机ip为192.168.242.133
同时,进入后这里选择cancel
尝试在主机上访问
登录成功
选择导航栏的Scans,点击左上角的第二个图标,选择Task Wizard,再输入主机的ip地址,开始运行。
运行一段时间后,得到结果
选择Last Report展开
我们选择导航栏上不同的选项查看详细信息。(这里以Posts为例)
我们可以发现135端口确实开放了,但再往下看发现没有其他漏洞信息
五、实验后回答问题
(1)哪些组织负责DNS,IP的管理。
全球根服务器均由美国政府授权的Internet Corporation for Assigned Names and Numbers (ICANN)统一管理,负责全球域名根服务器。地址支持组织(ASO)负责IP地址系统的管理,域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理。全球一共有5个地区性注册机构:
- ARIN主要负责北美地区业务
- RIPE主要负责欧洲地区业务
- APNIC主要负责亚太地区业务
- LACNIC主要负责拉丁美洲美洲业务
- AfriNIC负责非洲地区业务
(2)什么是3R信息。
- 注册人(Registrant)
- 注册商(Registrar)
- 官方注册局(Registry)
(3)评价下扫描结果的准确性。
扫描结果的准确性是较为准确的,但是存在的问题是随着版本迭代更新,目前大部分漏洞其实都已经被修复了,扫描出来的漏洞利用价值有限。同时,还存在部分没有扫描出来的漏洞。
六、实验体会
这次实验由于是信息收集和漏洞扫描,实际上所需要的专业知识并不是很多,做起来也相对轻松一点,简答说来就是跟着已经完成的同学的博客,一步一步做下来,并实现多种工具(主要是msf中的各种组件)的使用,并不需要太多的动脑分析,但是难点和消耗的时间主要在于漏洞扫描工具gvm的安装上。以前这个工具叫做openvas,现在在新版本的kali中已经改名为gvm。安装的时候需要联网下载,然后输入指令安装。然而有同学说这一步很容易报错,问题非常多,所以我用了课题负责人提供的链接直接用别人安装好的,节约了不少时间。在之后扫用gsm扫描漏洞时,扫描Kali、Windows10(主机)等都扫不出什么信息,它们的安全性较好,扫描gsm虚拟机也只能扫描出部分信息,如我在实验中发现的TCP开启的端口135。然而想要进一步查找CVE信息确实啥也没查出来,而且每一次扫描也要花费一定时间,这让我遇到了些麻烦。
但总的说来,我还是有不小的收获。在本次实验中,我又新学会了一些信息收集和漏洞扫描的方法,在实验中获取新知识让我十分有成就感。此外,信息收集和漏洞扫描是网络攻击的前提,如果扫不出漏洞,攻击就无从谈起,这次实验算是为我们更好了解网络攻击打一个基础。