网络对抗实验五 信息搜集与漏洞扫描
Exp 5 信息搜集与漏洞扫描
实验目标
掌握信息搜集的最基础技能与常用工具的使用方法
- 各种搜索技巧的应用
- DNS IP注册信息的查询
- 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
- 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
实验内容
1 各种搜索技巧的应用
实战的前提是进行信息搜索。当我们想要有针对地进行操作的时候,就要在已知信息的基础上综合利用各种搜索工具来实现自己的目的。主要是通过某个已知网站或IP来查找漏洞。
1.1 使用Google Hacking
Google提供了高级搜索功能。GHDB数据库包含了大量使用Google从事渗透的搜索字符串,许多我们之前用过的模块和代码都能在网站上找到。
1.2 搜索网址目录结构
可以使用metasploit的brute_dirs
,dir_listing
,dir_scanner
等辅助模块,主要的手段是暴力猜测。
进入msfconsole监控
brute_dirs
msfconsole
use auxiliary/scanner/http/brute_dirs
set THREADS 50 #设置线程数为50,提高猜测速度
set RHOSTS www.baidu.com
exploit
dir_scanner
msfconsole
use auxiliary/scanner/http/dir_scanner
set THREADS 50
set RHOSTS www.baidu.com
exploit
通过两种方式查询,可以看到百度的隐藏目录,得到的结果大致相同。
各http响应码含义如下:
-
1开头的http状态码表示临时响应并需要请求者继续执行操作的状态代码。
- 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
- 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。
-
2开头的http状态码表示请求成功
- 200 成功处理了请求,一般情况下都是返回此状态码;
- 201 请求成功并且服务器创建了新的资源。
- 202 接受请求但没创建资源;
- 203 返回另一资源的请求;
- 204 服务器成功处理了请求,但没有返回任何内容;
- 205 服务器成功处理了请求,但没有返回任何内容;
- 206 处理部分请求;
-
3xx (重定向)重定向代码,也是常见的代码
- 300 (多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。
- 301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
- 302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
- 303 (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
- 304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
- 305 (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
- 307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
-
4开头的http状态码表示请求出错
- 400 服务器不理解请求的语法。
- 401 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
- 403 服务器拒绝请求。
- 404 服务器找不到请求的网页。
- 405 禁用请求中指定的方法。
- 406 无法使用请求的内容特性响应请求的网页。
- 407 此状态代码与 401类似,但指定请求者应当授权使用代理。
- 408 服务器等候请求时发生超时。
- 409 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。
- 410 如果请求的资源已永久删除,服务器就会返回此响应。
- 411 服务器不接受不含有效内容长度标头字段的请求。
- 412 服务器未满足请求者在请求中设置的其中一个前提条件。
- 413 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
- 414 请求的 URI(通常为网址)过长,服务器无法处理。
- 415 请求的格式不受请求页面的支持。
- 416 如果页面无法提供请求的范围,则服务器会返回此状态代码。
- 417 服务器未满足”期望”请求标头字段的要求。
-
5开头状态码并不常见,但是我们应该知道
- 500 (服务器内部错误) 服务器遇到错误,无法完成请求。
- 501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
- 502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
- 503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
- 504 (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
- 505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。
1.3 利用搜索引擎的技巧
常用字段设置如下:
-
+:强制包含关键词
-
-:消除无关性
-
|:并行搜索
-
“”:精确匹配
-
《》:精确匹配/电影或小说
-
『』:查找论坛版块
-
intitle:把搜索范围限定在网页标题中
-
inurl:把搜索范围限定在url链接中
-
site:把搜索范围限定在特定站点中
-
filetype:专业文档搜索
1.4 路由侦查
输入traceroute www.baidu.com
由于虚拟机使用的是nat连接,traceroute返回的TTL exceeded消息无法映射到源IP地址、源端口、目的IP地址、目的端口和协议,因此无法反向NAT将消息路由传递回来。
我们改用Windows主机:
启动cmd以管理员运行,输入tracert www.baidu.com
分析:
这里出现的
www.a.shifen.com
是百度防止黑客恶意攻击的一个手段,这个 shifen 就是baidu的竞价排名系统,名字就叫"十分系统" 。
输出的信息第一列代表了生存时间(每途经一个路由器结点自增1)
第二至第四列表示“三次发送的ICMP包返回时间(共计3个,单位为毫秒ms)
第五列表示“途经路由器的IP地址(如果有主机名,还会包含主机名)
带有星号(*)的信息表示该次ICMP包返回时间超时。
2 DNS IP注册信息的查询
2.1 whois查询
进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到
whois
可进行域名注册信息查询,能够查询到3R注册信息:注册者姓名、组织和城市等。例如输入whois baidu.com
可得到网站名称Domain Name:baidu.com
,注册机构ID Registry Domain ID:11181110_DOMAIN_COM-VRSN
,注册服务器Registrar WHOIS Server:whois.markmonitor.com
等信息。
2.2 nslookup查询
nslookup
可得到DNS解析服务器保存的Cache的结果,但结果不一定准确。
输入nslookup baidu.com
2.3 dig域名查询
dig
可从官方DNS服务器上查询精确的结果。输入dig baidu.com
可以看到得到的结果与nslookup的结果基本相同,另外还可提供带关键字的查询选项
+[no]search
:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。+[no]trace
:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。+[no]short
:当启用+short
选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。+[no]stats
:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
2.4 IP2Location地理位置查询
-
在maxmind可以根据ip查询地理位置,首先通过
ping www.cnblogs.com
得到服务器的IP地址121.40.43.188
,在网站中输入后可以看到地理位置
2.5 IP2反域名查询
shodan搜索引擎可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型
在shodan中输入www.cnblogs.com的IP
3 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
3.1 主机发现
3.1.1 ping命令
ping
命令用发送ICMP报文的方法检测活跃主机,cmd中输入命令ping www.baidu.com
3.1.2 metasploit中的arp_sweep模块
使用ARP请求枚举本地局域网络中的所有活跃主机
msfconsole
use auxiliary/scanner/discovery/arp_sweep
set RHOSTS 192.168.162.0/24 //24表示子网掩码的位数
set THREADS 100
run
3.1.3 metasploit中udp_sweep模块
udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息
msfconsole
use auxiliary/scanner/discovery/udp_sweep
set RHOSTS 192.168.162.0/24
set THREADS 100
run
3.1.4 nmap -sn
使用nmap -sn 192.168.162.0/24
扫描本地局域网络中的所有活跃主机
3.2 端口扫描
3.2.1 nmap指令
- 扫描类型:
- -sT:TCP connect扫描
- -sS:TCP syn扫描
- -sF/-sX/-sN:通过发送一些标志位以避开设备或软件的检测
- -sP:ICMP扫描
- -sU:探测目标主机开放了哪些UDP端口
- -sA:TCP ACk扫描
- 扫描选项:
- -Pn:在扫描之前,不发送ICMP echo请求测试目标是否活跃
- -O:辨识操作系统等信息
- -F:快速扫描模式
- -p<端口范围>:指定端口扫描范围
使用nmap -PU 192.168.162.130/24
命令,扫描UDP端口
使用nmap -sT -p 1-1024 192.168.162.130/24
使用TCP connect扫描1-1024端口
3.2.2 msf 中的 portscan 模块
主要可以扫描以下几种端口:
ack:通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测
ftpbounce:通过FTP BOUNCE攻击的原理对TCP服务进行枚举
syn:使用发送TCP SYN标志的方式探测开放的端口
tcp:通过一次完整的TCP链接来判断端口是否开放
xmas:一种更为隐蔽的扫描方式,通过发送FIN,PSH,URG标志能够躲避一些TCP标记检测器的过滤
对TCP端口进行探测
msfconsole
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.162.0/24
set THREADS 100
set PORTS 1-1024
run
3.3 OS及服务版本探测
- nmap -O
可以通过nmap -O ip
对操作系统进行识别,获取目标机的操作系统和服务版本等信息
这里查询到我主机系统为Microsoft Windows XP|7|2012版本,实为win11 22H2 版本
- nmap -sV
可以通过nmap -sV ip
查看操作系统详细信息
3.4 具体服务的查点
3.4.1 Telnet服务扫描
telnet命令用于登录远程主机,对远程主机进行管理。
利用scanner进行Telent服务扫描
msfconsole
use auxiliary/scanner/telnet/telnet_version
set RHOSTS 192.168.162.130/24
set THREADS 100
run
3.4.2 SSH服务
SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来
msfconsole
use auxiliary/scanner/ssh/ssh_version
set RHOSTS 192.168.162.130/24
set THREADS 100
run
- Oracle数据库服务查点
msfconsole
use auxiliary/scanner/oracle/tnslsnr_version
set RHOSTS 192.168.162.130/24
set THREADS 100
run
4 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
下载好所需镜像文件后,打开VMWare,选择打开虚拟机,
选择下好的ovf文件,注意将下好的文件放在一个文件夹
等待导入成功
打开导入完成的虚拟机,输入用户名admin和密码123456,并记录ip192.168.162.132
出现如下选项,选择cancel(用键盘的方向键移动,回车确认)
在主机中打开刚才的IP地址连接
输入用户名admin和密码123456
进入界面后,点上方task,选择第一个选项
输入主机的IP进行检测
检测完成
查看端口
在主机CMD命令行中用netstat -a -n
查看
实验问题回答
1 哪些组织负责DNS,IP的管理。
域名由因特网域名与地址管理机构(ICANN,Internet Corporation for Assigned Names and Numbers)管理,这是为承担域名系统管理、IP地址分配、协议参数配置,以及主服务器系统管理等职能而设立的非盈利机构。全球有五个地区性注册机构,ARIN负责北美、南美、加勒比以及非洲撒哈拉部分的IP分配,同时还要给全球NSP(Network Service Providers)分配地址。RIPE负责在欧洲,以及中东和中亚部分地区。APNIC负责亚洲太平洋区域,包含56个经济区。LACNIC负责拉丁美洲和加勒比地区,AFRINIC负责非洲地区业务。
2 什么是3R信息。
3R信息是指注册人(Registrant),注册商(Registrar),官方注册局(Registry)。
3 评价下扫描结果的准确性。
扫描结果基本上是准确的,不过对端口或者漏洞的扫描还是做不到100%正确。
问题与解决
输入主机ip时没有反应
原因:
在cmd中输入ifconfig
,寻找正确的IP地址
实验体会与感想
本次实验多亏了实验负责人的尝试,我在kali虚拟机中安装GVM和下载安装好的GVM中选择了比较好尝试的后者进行实验,着实进行的非常顺利。
本次实验帮助我们掌握更多关于漏洞扫描的相关知识和工具软件,让我们意识到电脑入侵的风险以及漏洞扫描的重要性。