20174316 黄靖淇 Exp5 信息搜集与漏洞扫描

一、实践目标


1.1实践目标

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

1.2、实践要求

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

1.3实践原理

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

  • 间接收集
    • 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团体字符串),我们可以提取系统重启时间,系统上的用户名,系统网络信息,运行的服务等各种有价值的信息。
      • HTTP(auxiliary/scanner/http/)
    • 漏洞探测:探测服务是否有相应漏洞
    • NMAP:也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。

1.4基础知识

1.信息搜集

  • 外围信息搜集又叫公开渠道信息搜集。
  • 搜索引擎,公共信息库,目标门户网站等等都是很好的入手点。
  • metasploit有一类“辅助模块”,可以帮助你进行信息搜集的工作,并且还集成了nmap等神器。

主要方法有:

  • 通过DNS和IP挖掘目标网站的信息
    • whois域名注册信息查询
    • nslookup,dig域名查询
    • IP2Location 地理位置查询
    • netcraft提供的信息查询服务
    • IP2反域名查询
  • 通过搜索引擎进行信息搜集
    • Google Hacking
    • 搜索网址目录结构
    • 搜索特定类型的文件
    • 搜索E-Mali
    • 搜索存在sql注入的页面以及后台登陆的页面
    • IP路由侦查工具traceroute

2.扫描技术

  • 活跃主机扫描

    • ICMP Ping命令
    • metasploit中的模块
    • Nmap探测
  • 端口扫描

    • metasploit的端口扫描模块
    • Nmap端口扫描,一般用到的参数如下:
      -sT  -sS -sF/-sX/-sN -sP -sU -sA -Pn -p -F
      
    • 探测详细服务信息

      Nmap -sV 参数

  • 网络服务扫描

    • telent服务扫描
    • SSH服务扫描
    • Oracle数据库服务查点
    • 开放代理探测

3.网络漏洞扫描

漏洞扫描器会向目标发送大量数据包,甚至会导致目标系统拒绝服务,而且会有很多误报或漏报,因此需要人工分析。

  • OpenVAS漏洞扫描器
  • 查找特定服务漏洞

Nmap是针对性扫描工具之一,其拥有很多script的脚本可供使用。

二、实验步骤


2.1、各种搜索技巧的应用

2.1.1搜索网址目录结构

  • 原理:暴力破解一般就是指穷举法,它的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。因为理论上来说,只要字典足够庞大,枚举总是能够成功的!(本实验以dir_scanner模块为例,获取网站目录结构)

  • 方法:

    • msfconsole
    • use auxiliary/scanner/http/dir_scanner
    • set THREADS 20
    • set RHOSTS www.baidu.com
    • exploit
  • 可以找到以下这些目录

2.1.2搜索特定类型的文件

网页输入:【site:<域名> filetype:<文件类型> <检索信息>】

这里以学号为检索信息为例。

扫描出互联网上该域名下符合条件的文件【site:edu.cn filetype:xls 学号】

 

2.1.3.使用traceroute命令进行路由侦查

  • 原理:traceroute 命令利用 ICMP 协议定位用户计算机和目标计算机之间的所有路由器。TTL 值可以反映数据包经过的路由器或网关的数量,通过操纵独立 ICMP 呼叫报文的 TTL 值和观察该报文被抛弃的返回信息,traceroute 命令能够遍历到数据包传输路径上的所有路由器。本实验以侦查百度为例。

  • 方法:输入命令 tracert www.baidu.com

 

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

2.2、DNS IP 注册信息的查询

2.2.1.whois查询

  • 原理:whois 用来进行域名注册信息查询。

  • 方法:在终端输入 whois 4399.com 可查询到 3R 注册信息,包括注册人的姓名、组织和城市等信息。

  • 注:进行 whois 查询时去掉 www 等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在 whois 数据库中可能查询不到

 

2.2.2.nslookup,dig域名查询

nslookup:

  • 原理:nslookup 可以得到 DNS 解析服务器保存的 Cache 的结果,但并不是一定准确的。

  • 方法:在终端输入 nslookup baidu.com

dig:

  • 原理:dig 可以从官方 DNS 服务器上查询精确的结果。

  • 方法:在终端输入 dig baidu.com

 

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

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

2.2.3IP2Location 地理位置查询

通过【www.maxmind.com】网站可以根据IP查询地理位置

首先查询了一个百度首页的ip地址

 然后测试自己的ip地址

【ip-Adress.com】在那里可以快速、轻松地确定IP地址,或者了解更多关于域名或主机名的信息。

我继续尝试的是百度首页的ip。

2.24.IP2反域名查询

  • 原理:https://www.shodan.io/可以进行反域名查询,可以搜索到该 IP 的地理位置、服务占用端口号,以及提供的服务类型.
  • 方法:打开网站,输入 IP 地址,可以看到地理位置,端口号和提供的服务具体信息

2.3、基本的扫描技术

2.3.1.主机发现

(1) PING

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

(2)metasploit 中的 arp_sweep 模块和 udp_sweep 模块

  • 原理 arp_sweep 和 udp_sweep 都是 metasploit 中位于 modules/auxiliary/scanner/discovery 中的模块。arp_sweep 使用 ARP 请求枚举本地局域网络中的所有活跃主机;udp_sweep 模块除了可以探测到存活主机之外,还可以获得主机名称信息

  • arp_sweep

    • msfconsole
    • use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep 模块
    • show options //查询模块参数
    • set RHOSTS 192.168.0.105/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.0.105/24 //用set进行hosts主机段设置
  • set THREADS 50 //加快扫描速度
  • run //执行run进行扫描

(3)nmap -sn

nmap相关参数如下:

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

  • 方法:输入命令 nmap -sn 192.168.232.128/24(中间经过一些过程,ip地址改变)

 2.3.2.端口扫描

(1)nmap -PU

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

  • 方法:输入命令nmap -PU 192.168.232.128/24

 2.3.3.版本探测

(1)nmap -O

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

  • 方法:输入命令 nmap -O 192.168.232.128

(2)nmap -sV

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

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

2.3.4.具体服务的查点

(1)Telnet服务扫描

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

    • 方法:

      • msfconsole
      • use auxiliary/scanner/telnet/telnet_version //进入telnet模块
      • set RHOSTS 192.232.128/24 
      • set THREADS 50 //提高查询速度
      • run

(2)SSH服务

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

    • 方法:

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

(3)Oracle数据库服务查点

方法:

    • msfconsole
    • use auxiliary/scanner/oracle/tnslsnr_version
    • show options
    • set RHOSTS 192.168.232.128/24
    • set THREADS 200
    • run

2.4、漏洞扫描——安装 OpenVAS

4.1安装OpenVAS

首先安装 OpenVAS,使用以下指令安装

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

 然后你就要等待一段比较漫长的时光。

相比于很多同学在这个阶段发生的各种问题,我觉得我只是等待而没有发生问题已经算是不错的了。

安装完成后,

openvasmd --create-user=20174316--role=Admin

openvasmd --user=20174316 --new-password=123

随后,打开默认浏览器进入 https://127.0.0.1:9392 ,输入用户名和密码

  • 开始扫描

  • 登录之后选择ScansTasks点击紫色烟花Task Wizard新建任务,输入要扫描的目标主机的IP地址,开始扫描。

等待一段时间后,可以得到扫描完成的结果

 点击扫描完成后的结果中的IP地址,可以查看到扫描结果的详细信息

 

 之后在其中随便选取一次漏洞族,可以查看漏洞影响和解决方法。

 

三、实验总结


3.1、基础问题回答 

(1)哪些组织负责DNS,IP的管理

答:全球的根服务器都是在美国的,由美国政府授权的 ICANN 统一管理,另外,全球共有5个地区性注册机构:ARIN(北美地区),RIPE(欧洲地区),APNIC(亚太地区),LACNIC(拉丁美洲美洲),AfriNIC(非洲地区)。

(2)什么是 3R 信息

答:Registrant注册人、Registrar注册商、Registry官方注册局。

(3)评价下扫描结果的准确性。

答:扫描结果相当准确,在网站中甚至可以看到经纬度(虽然是近似的),还可以得到很多相关信息。

3.2、实验总结与体会

    本次实验的难度其实并不高,很多辅助软件在之前都已经下载好了,只需要输入指令即可。主要是理解指令中各种参数的含义。但最困难的地方就是open VAS的安装,我在之前看到了很多同学的博客,做好了很多提前准备,但出乎我意料的是,我在安装过程中没有遇到很大的问题,但在进行完实验后,虚拟机突然黑屏,当我重启以后,它就出现了如下的情况。

 最后我重装了kali,解决了这个问题(经过我的百度,似乎是kali内核受损的问题),但至少它完成了实验任务,也算“功成身退”了。

猜你喜欢

转载自www.cnblogs.com/Hadleyburg/p/12757526.html