2019-2020-2 20175316盛茂淞《网络对抗技术》 Exp5 信息搜集与漏洞扫描

一、实践概述

实践原理

  • 信息搜集
    • 尽可能多的查找关于目标的信息
    • 是渗透测试中首先要做的重要事项之一
    • 方法:间接信息搜集 直接信息搜集 社会工程学
  • 间接信息搜集
    • 不接触目标,使用第三方信息源
    • 使用辅助模块中信息搜集类:auxiliary/gather/..
    • DNS记录扫描和枚举:use auxiliary/gather/enum_dns
    • CorpWatch:auxiliary/gather/corpwatch_lookup_name
      • 搜索引擎子域名搜集器: auxiliary/gather/searchengine_subdomains_collector
  • 直接信息搜集
    • 建立逻辑连接并获取信息
    • 主机扫描:auxiliary/scanner/discovery
    • 端口扫描:auxiliary/scanner/portscan
    • 版本探测:探测端口上的运行服务
    • 漏洞探测:探测服务是否有相应漏洞
      • OpenVAS漏洞扫描器:开放式漏洞评估系统,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题
  • 社会工程学
    • 类似于被动信息收集,主要是针对人为错误,信息以打印输出、电话交谈、电子邮件等形式泄露
  • NMAP
    • Linux下的网络扫描和嗅探工具包
    • 基本信息扫描:nmap targethosts
    • 对主机全面扫描:nmap –T4 –A –v targethost

实践内容概述

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

基础问题回答

  • 问题一:哪些组织负责DNS,IP的管理
    全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理.
    全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务。

  • 问题二:什么是3R信息。
    3R指注册人(Registrant)、注册商(Registrar)、官方注册局(Registry)
    3R注册信息:分散在官方注册局或注册商各自维护数据库中

  • 问题三:评价下扫描结果的准确性。
    我觉得大体准确,详见实验步骤的分析。

二、实践内容与过程

任务一:各种搜索技巧的应用

1.搜索网址目录结构

  • 原理:暴力破解一般就是穷举法,它的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。
  • 方法:
    打开msfconsole,使用
use auxiliary/scanner/http/dir_scanner
set THREADS 20
set RHOSTS www.baidu.com
exploit
  • 获取网站目录结构,可以找到以下目录:

2.通过搜索引擎进行信息搜集

  • filetype能对搜索结果的文件类型进行限定,使用格式:检索词filetype:文件类型

  • 百度搜索site:edu.cn filetype:xls 电脑,可以找到符合要求的文件:

  • 下载后打开,内容如下:

3.使用tracert命令进行路由侦查

  • cmd中输入tracert www.baidu.com

  • 第一列表示生存时间,每途经一个路由器结点自增1

  • 第二、三、四列表示三次发送的ICMP包返回时间,共计3个,单位为毫秒ms,其中带有星号(*)的信息表示该次ICMP包返回时间超时。

  • 第五列表示途经路由器的IP地址,如果有主机名,还会包含主机名

任务二:DNS IP注册信息的查询

1.whois查询

  • whois用来进行域名注册信息查询,在终端输入要查询的域名去掉www的形式,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到。
  • 例如whois baidu.com可查询到百度的3R注册信息,包括注册人的姓名、组织和城市等信息

2.nslookup域名查询

  • nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。在终端输入nslookup baidu.com

3.dig域名查询

  • dig可以从官方DNS服务器上查询精确的结果,在终端输入dig baidu.com

  • 除此之外,dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识。例如:

    • +[no]search:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
    • +[no]trace:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
    • +[no]identify:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。
    • +[no]stats:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。

4.IP2Location地理位置查询

  • (1)https://www.ip2location.com/

  • 这个网站可以查询指定IP的相关信息,查询百度的位置等信息如下:

  • (2)www.maxmind.com

  • 利用ping www.baidu.com的查看网站的IP地址,在网站下方输入IP->点击前往查看结果

  • (3)IP2反域名查询

  • https://www.shodan.io/

  • 这个网站的搜索引擎可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型等信息,打开该网站,输入想要查询的IP地址,可以看到其地理位置,端口号和提供的服务等具体信息:

  • (4)www.ip-adress.com

  • 这个网站可以查询到更详细的关于IP的信息,在该网站输入百度的IP地址61.135.169.121后查看结果,可以看到很多关于该IP的详细信息:

任务三:基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)

主机发现

1.ping命令

  • ping命令用发送ICMP报文的方法检测活跃主机,cmd中输入命令ping www.baidu.com

2.metasploit中的模块

  • arp_sweepudp_sweep都是metasploit中位于modules/auxiliary/scanner/discovery中的模块

  • arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机;

    • 启动msfconsole
    • use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep 模块
    • show options //查询模块参数
    • set RHOSTS 192.168.136.0/24 //用set进行hosts主机段设置
    • set THREADS 50 //加快扫描速度
    • run //执行run进行扫描
  • udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息

    • msfconsole
    • use auxiliary/scanner/discovery/udp_sweep //进入udp_sweep 模块
    • show options //查询模块参数
    • set RHOSTS 192.168.136.0/24 //用set进行hosts主机段设置
    • set THREADS 50 //加快扫描速度
    • run //执行run进行扫描

3.nmap探测

  • nmap -sn参数可以用来探测某网段的活跃主机,输入命令nmap -sn 192.168.136.0/24

端口扫描

  • nmap的相关参数如下
-sS:TCP SYN扫描,可以穿透防火墙;
-sA:TCP ACK扫描。有时候由于防火墙会导致返回过滤/未过滤端口;
-sP:发送ICMP echo探测;
-sT:TCP connect扫描,最准确,但是很容易被IDS检测到,不推荐;
-sF/-sX/-sN:扫描特殊的标志位以避开设备或软件的监测;
-O:启用TCP/IP协议栈的指纹特征信息扫描以获取远程主机的操作系统信息;
-sV:获取开放服务的版本信息;

1.metasploit中的模块

  • 在msf中输入use auxiliary/scanner/portscan/tcp
  • 使用set RHOSTS 192.168.136.0/24进行hosts主机段设置
  • set THREADS 50用于加快扫描速度
  • run进行扫描

2.Nmap端口扫描

  • nmap -PU参数是对UDP端口进行探测,与udp_sweep模块功能相同。

OS及服务版本探测

  • nmap -O选项让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息

  • 输入命令nmap -O 192.168.136.128

  • nmap -sV查看目标主机的详细服务信息

  • 输入命令```nmap -sV -Pn 192.168.136.128,其中-Pn是在扫描之前,不发送ICMP echo请求测试目标

具体服务的查点

  • metasploit中有许多相关工具,大部分都在Scanner辅助模块,常以[service_name]_version(用以遍历主机,确定服务版本)和[service_name]_login(进行口令探测攻击)命名。

  • Telnet服务扫描

    • telnet命令用于登录远程主机,对远程主机进行管理。
    • msfconsole
    • use auxiliary/scanner/telnet/telnet_version //进入telnet模块
    • set RHOSTS 192.168.136.0/24 //扫描192.168.136.0网段
    • set THREADS 50 //提高查询速度

  • SSH服务

    • SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。
      • msfconsole
      • use auxiliary/scanner/ssh/ssh_version //进入ssh模块
      • set RHOSTS 192.168.136.0/24 //扫描网段
      • set THREADS 50 //提高查询速度
      • run
  • Oracle数据库服务查点

    • msfconsole
    • use auxiliary/scanner/oracle/tnslsnr_version
    • show options
    • set RHOSTS 192.168.136.0/24
    • set THREADS 50
    • run

任务四:漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)

1.安装openvas

apt-get update
apt-get dist-upgrade
apt-get install openvas
openvas-setup

2.创建账户并登录

greenbone-scapdata-sync –refresh  //生成scap.db文件
openvas-scapdata-sync	//同步SCAP数据
openvas-certdata-sync	//同步证书数据
openvasmd --create-user=20175316 --role=Admin //创建用户
openvasmd --user=20175316 --new-password=111 //设置密码

3.新建Target,开始扫描

  • 在菜单栏选择"Scans"->"Tasks"
  • 进入后点击紫色烟花"Task Wizard"新建一个任务向导,在栏里输入待扫描主机的IP地址"172.20.10.2",并单击"Start Scans"确认,开始扫描

4.查看并分析扫描结果

  • 打开该扫描结果的详细信息,并点击其中的“Full and fast”:

  • 点击进入Buffer overflow查看详细结果,其中标注了漏洞的危险等级:

  • 可以点开一个危险等级较高的漏洞:

  • 在Summary处为该漏洞的描述

  • 在Solution处可看到解决方案

三、实践中遇到的问题及解决方法

  • 问题1:安装openvas时出现错误:
ERROR: The NVT collection is very small.
FIX: RUN A synchronization script like green-nvt-sync.

解决方法:根据FIX的提示,更新nvt
sudo greenbone-nvt-sync

四、总结与体会

  • 通过本次实验,初步掌握了如何进行信息的搜集,在利用各种技术来实践收集并分析信息的过程中,让我不断掌握了漏洞的扫描和分析的基本方法,也在这些不同的尝试中感受到现在信息的搜查强度,自己的信息真的很容易就可以被别人搜到呀~
posted on 2020-04-26 01:56  20175316  阅读(209)  评论(0编辑  收藏  举报