Exp5 信息搜集与漏洞扫描
Exp5 信息搜集与漏洞扫描
一、实践目标
掌握信息搜集的最基础技能与常用工具的使用方法:
(1)各种搜索技巧的应用
(2)DNS IP注册信息的查询
(3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
(4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
二、实践内容
1、各种搜索技巧的应用
1. 搜索网址目录结构
使用metasploit
的 brute_dirs
,dir_listing
,dir_scanner
等辅助模块,用来探测网站的目录结构,便于查找漏洞点。
- dir_scanner
use auxiliary/scanner/http/dir_scanner
set THREADS 50 // 设定扫描线程数
set RHOST www.baidu.com
exploit
-
dir_listing
use auxiliary/scanner/http/dir_listing
set THREADS 50
set RHOST www.baidu.com
exploit
- brute_dirs
use auxiliary/scanner/http/brute_dirs
set THREADS 50
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”——查询别人的收藏夹
3. 路由侦察
- Windows 使用 tracert 命令进行路由侦查
第一列:生存时间,每途经一个路由器结点自增1。
第二列-第四列:三次发送的ICMP包返回时间,共计3个,单位为毫秒ms。其中带有星号(*)的信息表示该次ICMP包返回时间超时。
第五列:途经路由器的IP地址,如果有主机名,还会包含主机名。
带有星号(*)的信息表示该次ICMP包返回时间超时。
- linux 下使用
traceroute
命令进行路由侦查
得到的结构和windows的结果差不多,只是第二到第四列的结果和第五列的结果交换了一下。
2、DNS IP注册信息的查询
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发现
通过域名可以发现主机的ip。
-
metasploit中的arp_sweep模块
- udp_sweep使用UDP数据包探测,除了可以探测到存活主机之外,还可以获得主机名称信息
use auxiliary/scanner/discovery/udp_sweep show options set RHOSTS 192.168.242.128/24 set THREADS 50 run
- arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机
use auxiliary/scanner/discovery/arp_sweep show options set RHOSTS 192.168.242.128/24 set THREADS 50 run
-
nmap -sn
2. 端口扫描
- nmap
nmap的相关参数:
-sS:TCP SYN扫描,可以穿透防火墙;
-sA:TCP ACK扫描。有时候由于防火墙会导致返回过滤/未过滤端口;
-sP:发送ICMP echo探测;
-sT:TCP connect扫描,最准确,但是很容易被IDS检测到,不推荐;
-sF/-sX/-sN:扫描特殊的标志位以避开设备或软件的监测;
-O:启用TCP/IP协议栈的指纹特征信息扫描以获取远程主机的操作系统信息;
-sV:获取开放服务的版本信息;
-PU:对UDP端口进行探测。
- metasploit的端口扫描模块
msfconsole
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.242.128/24
set THREADS 50
run
3. 版本探测
- 操作系统侦测
输入 sudo nmap -O 192.168.242.128
,指定 nmap 进行 OS 探测
- 服务侦测
输入sudo nmap -sV -Pn 192.168.242.128
,查看目标主机的详细服务信息
4. 具体服务的查点
- telenet服务扫描
use auxiliary/scanner/telnet/telnet_version
set RHOSTS 192.168.242.128/24
set THREADS 50
run
- SSH服务扫描
use auxiliary/scanner/ssh/ssh_version
set RHOSTS 192.168.242.128/24
set THREADS 50
run
- Oracle数据库服务查点
use auxiliary/scanner/oracle/tnslsnr_version
set RHOSTS 192.168.242.128/24
set THREADS 50
run
四、漏洞扫描
1. 安装openvas
由于kali
新版本的openvas
改名为了gvm
,所以我们安装gvm
进行漏洞扫描。
- 安装
gvm
apt-get install gvm
- 初始化
gvm
gvm-setup
这是初始化完成的样子,用户名是admin
,密码是133c7ca6-3a68-4987-895e-e7b104628bfc
。
如果需要修改密码可以输入runuser -u _gvm --gvmd --user=admin --new-password=xxxxx
- 检查
gvm
完整性
gvm-check-setup
- 运行
gvm
- 登陆
gvm
- 漏洞扫描
选择导航栏的Scans,点击左上角的第二个图标,选择Task Wizard
,再输入主机的ip地址,开始运行。
运行一段时间后,得到结果
- 选择Last Report展开
- 我们选择导航栏上不同的选项查看详细信息。(这里以Posts为例)
我们可以看到135和4303端口确实开放了。
- 查看
CVE
可以看到,这里扫出了几个高危的漏洞,我们可以点进其中一个查看详细信息。
我们可以看到检测方法、感染的软件和操作系统、感染的风险和解决方案。
实验后回答问题
(1)哪些组织负责DNS,IP的管理。
地址支持组织(ASO)负责IP地址系统的管理,域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理。全球一共有5个地区性注册机构:
- ARIN主要负责北美地区业务
- RIPE主要负责欧洲地区业务
- APNIC主要负责亚太地区业务
- LACNIC主要负责拉丁美洲美洲业务
- AfriNIC负责非洲地区业务
(2)什么是3R信息。
- 注册人(Registrant)
- 注册商(Registrar)
- 官方注册局(Registry)
(3)评价下扫描结果的准确性。
扫描结果的准确性是较为准确的,但是存在的问题是随着版本迭代更新,目前大部分漏洞其实都已经被修复了,扫描出来的漏洞利用价值有限。同时,还存在部分没有扫描出来的漏洞。
实验体会
这次实验由于是信息收集和漏洞扫描,实际上所需要的专业知识并不是很多,做起来也相对轻松一点,但是难点和消耗的时间主要在于漏洞扫描工具gvm的安装上。以前这个工具叫做openvas,现在在新版本的kali中已经改名为gvm。安装的时候需要联网下载,然后输入指令安装。在输入指令安装时,需要解压大量的数据,在这段时间内如果进行了其他操作,包括下载,息屏等,都会导致安装不完全。最后在check的时候报错,没有完全安装。
通过进行本次实验,我对信息收集和漏洞扫描又学会了新的姿势,信息收集和漏洞扫描是网络攻击的前提,如果扫不出漏洞,攻击就无从谈起。本次实验,受益匪浅。