网络对抗实验五 信息搜集与漏洞扫描

Exp 5 信息搜集与漏洞扫描

实验目标

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

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

实验内容

1 各种搜索技巧的应用

实战的前提是进行信息搜索。当我们想要有针对地进行操作的时候,就要在已知信息的基础上综合利用各种搜索工具来实现自己的目的。主要是通过某个已知网站或IP来查找漏洞。

1.1 使用Google Hacking

Google提供了高级搜索功能。GHDB数据库包含了大量使用Google从事渗透的搜索字符串,许多我们之前用过的模块和代码都能在网站上找到。

1.2 搜索网址目录结构

可以使用metasploit的brute_dirsdir_listingdir_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

    在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

  1. 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中选择了比较好尝试的后者进行实验,着实进行的非常顺利。

本次实验帮助我们掌握更多关于漏洞扫描的相关知识和工具软件,让我们意识到电脑入侵的风险以及漏洞扫描的重要性。

posted @ 2023-04-19 13:52  少管我  阅读(162)  评论(0编辑  收藏  举报