Exp5 信息搜集与漏洞扫描

发布时间 2023-04-20 00:18:12作者: 20201319吴向林

一、实践目标

掌握信息搜集的最基础技能与常用工具的使用方法:

  • (1)各种搜索技巧的应用
  • (2)DNS IP注册信息的查询
  • (3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
  • (4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)

二、实践内容

1、各种搜索技巧的应用

1. 搜索网址目录结构

使用metasploitbrute_dirsdir_listingdir_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 地理位置查询

  • maxmind可以通过ip地址查询地理位置。

  • shodan可以进行反域名查询

三、基本的扫描技术

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虚拟机镜像,用其中的gvm进行漏洞扫描,还是节约了不少时间。但在之后扫用gsm扫描漏洞时又出现了新的问题,扫描Kali、Windows10(主机)等都扫不出什么信息,它们的安全性较好,扫描gsm虚拟机也只能扫描出部分信息,如我在实验中发现的TCP开启的端口135。然而想要进一步查找CVE信息确实啥也没查出来,而且每一次扫描也要花费一定时间,这让我遇到了些麻烦。
但总的说来,我还是有不小的收获。在本次实验中,我又新学会了一些信息收集和漏洞扫描的方法,在实验中获取新知识让我十分有成就感。此外,信息收集和漏洞扫描是网络攻击的前提,如果扫不出漏洞,攻击就无从谈起,这次实验算是为我们更好了解网络攻击打一个基础。