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

发布时间 2023-04-19 14:43:08作者: 徐嘉远

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

一、实践目标及实践内容

1. 实践目标

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

2. 实践内容

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

二、实践原理

1. 信息搜集

信息搜集:渗透测试中首先要做的重要事项之一,搜集关于目标机器的一切信息

  • 间接搜集
    • DNS记录扫描和枚举
    • CorpWatch:auxiliary/gather/corpwatch_lookup_name
    • 搜索引擎子域名搜集器auxiliary/gather/searchengine_subdomains_collector
    • 在线搜索工具
      • GHDB
      • 设备搜索:shodan,censys,zoomeye
      • viewdns
  • 间接搜集
    • 主机扫描:发现网络上的活动主机 modules/auxiliary/scanner/discovery
    • 端口扫描:发现主机上的开放端口,通过 search portscan 命令查看MSF中的端口扫描模块
    • 版本探测:探测端口上的运行服务
      • SMB auxiliary/scanner/smb/smb_ 一种在 Microsoft Windows系统中使用网络文件共享的协议,已被证明是最容易被攻击的协议之一,它允许攻击者枚举目标文件和用户,甚至远程代码执行。
      • SSH auxiliary/scanner/ssh 一个广泛使用的远程登录程序。
      • FTP auxiliary/scanner/ftp
      • SMTP auxiliary/scanner/smtp/smtp_
      • SNMP auxiliary/scanner/snmp/snmp_enum用于管理网络设备的协议,比如监控设备的状态信息,接口信息,网络接口的数据吞吐量等,通过SNMP扫描器可以找到特定系统的大量信息。如果目标系统为Windows且配置了SNMP(通常是RO/RW团体字符串),我们可以提取系统重启时间,系统上的用户名,系统网络信息,运行的服务等各种有价值的信息。
      • HTTPauxiliary/scanner/http/
    • 漏洞探测:探测服务是否有相应漏洞
      • NMAP:也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。
  • 社会工程学
  • 漏洞扫描与Openvas

三、实践过程记录

1、各种搜索技巧的应用

搜索网址目录结构

  • 实践原理
    • 暴力破解一般就是指穷举法,它的原理就是使用攻击者自己的字典,一个一个去枚举,理论上来说,只要字典足够庞大,枚举总是能够成功的。以 dir_scanner 模块为例,获取网站目录结构。
  • 实践步骤
    • msfconsole
    • use auxiliary/scanner/http/dir_scanner
    • set THREADS 20
    • set RHOSTS www.baidu.com
    • exploit

使用traceroute命令进行路由侦查

实践原理

  • traceroute命令利用ICMP协议定位用户计算机和目标计算机之间的所有路由器。TTL值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP呼叫报文的TTL值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。
  • traceroute是Linux和Mac OS等系统默认提供的路由追踪小程序,Tracert是Windows系统默认提供的路由追踪小程序。二者的功能相同,都能探测数据包从源地址到目的地址经过的路由器的IP地址。Traceroute/Tracert的实现都借助了TTL:通过向目的地址发送一系列的探测包,设置探测包的TTL初始值分别为1,2,3…,根据返回的超时通知(ICMP Time Exceeded Message)得到源地址与目的地址之间的每一跳路由信息。虽然两者输出结果一致,但在实现原理上还有着显著的差别。
  • 实践步骤
    • Windows中输入命令tracert www.baidu.com

    • 分析:从左到右的5条信息分别代表了“生存时间”(每途经一个路由器结点自增1)、“三次发送的ICMP包返回时间”(共计3个,单位为毫秒ms)和“途经路由器的IP地址”(如果有主机名,还会包含主机名)。其中带有星号(*****)的信息表示该次ICMP包返回时间超时。
    • 在kali中输入命令 traceroute www.baidu.com

    • Traceroute/tracert路由追踪程序是用来追踪数据包到达网络主机所经过的路由信息的重要工具,虽然路由追踪效果一致,但实现原理略有不同:前者借助UDP协议,后者借助ICMP协议。

2、DNS IP注册信息的查询

whois查询

  • 实践原理
  • whois 用来进行域名注册信息查询。
  • 进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到。
  • 实践步骤
    • 在终端中输入指令

图中registry domain_id后内容为注册商信息,registrar whois server及下一行url为官方注册局信息,后门的registrant的organization至email是注册人信息。

nslookup查询

  • 实践原理
    • nslookup可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用哪个DNS服务器进行解释。在已安装TCP/IP协议的电脑上面均可以使用这个命令。主要用来诊断域名系统 (DNS) 基础结构的信息。Nslookup(name server lookup)( 域名查询):是一个用于查询 Internet域名信息或诊断DNS 服务器问题的工具。
  • 实践步骤
    • 在kali中输入 nslookup baidu.com

dig查询

  • 实践原理
    • Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。Dig可以让你有效地查询DNS,最常用的查询是A记录,TXT(文本注释),MX记录,NS记录,或者任意综合查询。
    • 参考网址
  • 实践步骤
    • 输入dig baidu.com

    • 此外,dig指令的更多种使用方法(以百度为例):
    • dig baidu.com A +noall +answer查找baidu.com的A记录:(此处一定是域而不是主机)
    • dig baidu.com MX +noall +answer查找baidu.com MX记录的列表
    • ig baidu.com NS +noall +answer查找baidu.com的权威DNS
    • dig baidu.com ANY +noall +answer查询上面所有的记录
    • 除此之外,dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识:
      • +search使用搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。

      • +trace切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
      • +identify当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。

      • +stats该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。

LP2Location地理位置查询

  • www.maxmind.com
    • 根据IP地址查询地理位置
    • 在Windows中输入ping www.baidu.com 获取百度的IP地址

    • 打开网站,输入IP,查看IP信息

  • IP-ADDRESS
  • 查询更详细的关于某共有IP的信息

IP2反向域名查询

  • shodan搜索引擎
    • 反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型

3、基本的扫描技术

主机发现

  • 使用ICMP Ping命令
    • 在Windows中执行ping www.baidu.com

    • 在Kali中执行ping www.baidu.com

  • metasploit中的arp_sweep模块
    • arp_sweep和udp_sweep都是metasploit中位于modules/auxiliary/scanner/discovery中的模块。arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机;udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息,执行命令如下:
    • msfconsole
    • use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep 模块
    • set RHOSTS 192.168.112.129/21 //用set进行hosts主机段设置
    • set THREADS 50 //加快扫描速度
    • run //执行run进行扫描

  • nmap****探索活跃主机:在Linux下使用 nmap -sn 192.168.112.129/21 寻找该网段下的活跃主机

nmap的相关参数如下:

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

OS及服务版本探测

  • Nmap对目标的操作系统进行识别:nmap -O 192.168.112.129/21

端口扫描

  • 使用-sS选项进行TCP SYN扫描:nmap -sS -Pn 192.168.112.129/21 。其中-sS 是TCP SYN扫描,-Pn 是在扫描之前,不发送ICMP echo请求测试目标

  • 使用-sV查看目标机的详细服务信息:nmap -sV -Pn 192.168.112.129/21 。其中-sV 用来查看目标机子的详细服务信息

具体服务的查点

  • Telnet服务扫描

    :telnet命令用于登录远程主机,对远程主机进行管理。

    • msfconsole
    • use auxiliary/scanner/telnet/telnet_version //进入telnet模块
    • set RHOSTS 192.168.112.129/21 //扫描网段
    • set THREADS 50 //提高查询速度
    • run

  • SSH服务

    :SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。

    • msfconsole
    • use auxiliary/scanner/ssh/ssh_version //进入ssh模块
    • set RHOSTS 192.168.112.129/24 //扫描网段
    • set THREADS 50 //提高查询速度
    • run

  • Oracle数据库服务查点
    • msfconsole
    • use auxiliary/scanner/oracle/tnslsnr_version //进入tnslsnr模块
    • set RHOSTS 192.168.112.129/24 //扫描网段
    • set THREADS 50 //提高查询速度
    • run

4、漏洞扫描

//环境准备(root权限下)
apt-get update  //更新软件库
apt-get upgrade //升级软件
apt-get dist-upgrade //升级系统
apt-get clean
apt-get install gvm   //安装gvm
gvm-setup    //初始化gvm
gvm-check-setup    //安装完整性检测
  • 在安装过程如下:

遇到问题:pgsql的版本不符合

查阅相关问题后,得到如下解决方案:

输入sudo gvm-setup

完成后,输入gvm-check-setup

发现问题,根据FIX后的提示输入如下:

连接不上外部网站,尝试使用梯子,先安装proxychains,

按照链接文章https://blog.csdn.net/WSA1635/article/details/119257034,仍然连接失败,但是应该是我的梯子的问题,如果条件允许,应该可以按照文章内容完成安装。

失败后,尝试用已经安装好的openvas的虚拟机

输入用户名admin,输入密码123456,这里记着把ip地址记下来,然后进入后先选cancel,等进入下一个提示后,点击ok,回到浏览器输入上面记下来的ip地址

用刚才的用户名和密码登录

点击scans里的task,进入后选左边的魔棒,并且输入你的主机ip

点击查看成果,选择PORTS查看一下开放端口,在主机CMD命令行中用netstat -a -n查看

四、基础问题回答

  • 哪些组织负责DNS,IP的管理?

    ​ ICANN(The Internet Corporation for Assigned Names and Numbers)互联网名称与数字地址分配机构是一个非营利性的国际组织,成立于1998年10月,是一个集合了全球网络界商业、技术及学术各领域专家的非营利性国际组织,负责互联网协议(IP)地址的空间分配、协议标识符的指派、通用顶级域名(gTLD)以及国家和地区顶级域名(ccTLD)系统的管理、以及根服务器系统的管理。这些服务最初是在美国政府合同下由互联网号码分配当局(Internet Assigned Numbers Authority,IANA)以及其它一些组织提供。现在,ICANN行使IANA的职能。

  • 什么是3R信息?

    3R信息是指注册人(Registrant)、注册商(Registrar)、官方注册局(Registry)。

  • 评价下扫描结果的准确性?

    openvas对于漏洞的扫描也不是完全准确,而使用nmap进行扫描,端口等方面结果感觉是比较准确的,但是扫描的重点不同,结果也不一样。

五、实验总结与体会

​ 这次的实验最难的是Openvas gvm的安装,因为外网存在对大陆ip封禁的情况,所以下载上会出很多问题,如果将下载源替换成国内,也会出一些问题,所以不是有特殊手段安装是几乎不可能成功的,但是可以使用别人装好openvas的虚拟机进行实验,不过因为特征库没有更新,所以扫描出的漏洞都是老的漏洞,而且如果你经常进行漏洞修复,估计也扫描不出什么,但是仍然存在部分漏洞,所以我们不能完全相信现在的杀毒软件比如360、火绒的漏洞修复能力。