2020-2021-2 20181304石昊林《网络对抗技术》 Exp5 信息搜集与漏洞扫描

信息搜集与漏洞扫描

实验内容

  1. 实践目标
  • 掌握信息搜集的最基础技能与常用工具的使用方法。
  1. 实践内容
  • 各种搜索技巧的应用。
  • DNS IP注册信息的查询。
  • 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)。
  • 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)。

实验准备

1. 信息搜集

  • 概念:信息收集是指通过各种方式获取所需要的信息。信息收集是信息得以利用的第一步,也是关键的一步。信息收集工作的好坏,直接关系到整个信息管理工作的质量。
  • 分类:信息可以分为原始信息加工信息两大类。
    • 原始信息是指在经济活动中直接产生或获取的数据、概念、知识、经验及其总结,是未经加工的信息。
    • 加工信息则是对原始信息经过加工、分析、改编和重组而形成的具有新形式、新内容的信息。两类信息都对企业的营销管理活动发挥着不可替代的作用。
  • 收集原则:准确性原则、全面性原则、时效性原则。
    • 准确性原则:该原则要求所收集到的信息要真实可靠。这个原则是信息收集工作的最基本的要求。为达到这样的要求,信息收集者就必须对收集到的信息反复核实,不断检验,力求把误差减少到最低限度。
    • 全面性原则:该原则要求所搜集到的信息要广泛,全面完整。只有广泛、全面地搜集信息,才能完整地反映管理活动和决策对象发展的全貌,为决策的科学性提供保障。
    • 时效性原则:信息的利用价值取决于该信息是否能及时地提供,即它的时效性。信息只有及时、迅速地提供给它的使用者才能有效地发挥作用。
  • 收集步骤:①制定收集计划;②设计收集提纲和表格;③明确信息收集的方式和方法;④提供信息收集的成果。
  • 意义:渗透测试中首先要做的重要事项之一。
  • 目的:尽可能多的查找关于目标的信息。我们掌握的信息越多,渗透成功的机会越大。
  • 任务:搜集关于目标机器的一切信息。比如IP地址,开放的服务,开放的端口。
  • 方法:间接信息搜集、直接信息搜集、社会工程学。
    • 间接收集:即不接触目标(无物理连接,不访问目标)。方法为使用第三方信息源(例如查询whois信息;数据窃听与分析)。间接收集还可以用于调查取证。
    • 直接收集:即建立逻辑连接并获取信息,用于对目标的安全性设置进一步理解。方法为主动扫描技术,探测目标开放的端口和服务。
    • 社会工程学:主要是针对人为错误,信息以打印输出、电话交谈、电子邮件等形式泄露。方法主要有伪装、诱骗等。

实验过程

1.各种搜索技巧的应用

  • (1)使用metasploit的brute_dirs,dir_listing,dir_scanner等辅助模块,主要的手段是暴力猜测。
    • brute_dirs
      msfconcole
      use auxiliary/scanner/http/brute_dirs
      set THREADS 50
      set RHOSTS www.baidu.com
      exploit
      这里Auxiliary是指辅助模块,该模块不会直接在测试者和目标主机之间建立访问,它们只负责执行扫描,嗅探,指纹识别等相关功能以辅助渗透测试。THREADS是设定攻击线程数量,上述我设置的攻击线程为50。
      image
    • dir_scanner
      msfconsole
      use auxiliary/scanner/http/dir_scanner
      set THREADS 50
      set RHOSTS www.baidu.com
      exploit
      image
    • 查询结果分析:
      • 1开头的http状态码表示临时响应并需要请求者继续执行操作的状态代码。
      • 2开头的http状态码表示请求成功。
      • 3xx(重定向)是重定向代码。
      • 4开头的http状态码表示请求出错。
      • 5开头状态码并不常见,我个人理解为硬件出现问题时报的错。
  • (2)使用搜索引擎直接查找
    • 原理:
      filetype对搜索结果的文件类型进行限定,格式为“检索词 filetype:文件类型”
      -能在检索结果中获取检索词的补集,格式为“检索词 -词语”
      site能限制检索结果的来源,格式为“检索词-词语”
      inurl能在网址中进行搜索,格式为“检索词 inurl:检索词”
      |表示布尔逻辑中的或者(or)关系,使用格式为“关键词1|关键词2”
      空格表示布尔逻辑中的交集(and)关系,使用格式为“关键词1 关键词2”
    • 操作:使用必应搜索输入:site:edu.cn filetype:xls ,点开第二个链接(因为这个链接是咱们学校的……),会下载一个excel文件。
    • 打开这个文件,这竟然是2020年的招生计划。
      image
      image
  • (3)路由侦察
    • Tracert是路由跟踪实用程序,用于确定IP数据包访问目标所采取的路径。Tracert命令用IP生存时间(TTL)字段和 ICMP错误消息来确定从一个主机到网络上其他主机的路由。
    • 工作原理:通过向目标发送不同IP生存时间 (TTL) 值的“Internet控制消息协议 (ICMP)”回应数据包,Tracert诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。
    • 实际操作:tracert www.baidu.com,对百度经过的路由进行探测。结果如下图:
      image

2.DNS IP注册信息的查询

  • (1)whois查询
    • 原理:用来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。
      image
      图中可得到的一些信息:
      注册机构Domain Name:baidu.com
      注册服务器Registry Domain ID:11181110_DOMAIN_COM-VRSN
      更新时间2020-12-09T04:04:41Z
      创建时间1999-10-11T11:05:17Z
  • (2)nslookup查询
    • 即域名查询。nslookup可以得到DNS解析服务器保存的Cache的结果,但并不一定是准确的。
    • kali虚拟机执行:nslookup baidu.com,如下图:
      image
  • (3)dig域名查询
    • dig命令是一个用于询问DNS域名服务器的灵活的工具。
    • kali虚拟机执行:dig baidu.com,如下图:
      image
      结果与nslookup命令的结果是相同的,但是dig还有其它的关键字查询选项:
      • +[no] search使用(或不使用)索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
      • +[no] trace切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
      • +[no] short当启用“+short”选项时,显示(或不显示)提供应答的IP地址和端口号。
      • +[no] stats该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
  • (4)IP2Location地理位置查询
  • (5)IP2反域名查询
    • 通过Shodan搜索引擎进行反域名查询,获得百度ip的地理位置、服务占用端口号,以及提供的服务类型。如下图:
      image

3.基本的扫描技术

  • (1)主机发现
    • ping方式:使用kali虚拟机ping主机ip,结果如下:
      image
    • metasploit的arp_sweep模块和udp_sweep模块:arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机;udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息。
      启用msf平台msfconsole
      启用相应模块use auxiliary/scanner/discovery/XXX_sweep
      设定主机段set RHOSTS ip
      设置线程set THREADS 50
      启用扫描run
      • udp_sweep:
        image
  • (2)端口扫描
    • nmap
      nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取哪台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。
    • 命令相关参数如下:
      • -sT: TCP connect()扫描,这是最基本的TCP扫描方式,但是容易被IDS检测到,不推荐
      • -sS: TCP同步扫描(TCP SYN),可以穿透防火墙
      • -sF -sN: 秘密FIN数据包扫描、圣诞树(Xmas Tree)、空(Null)扫描模式。扫描特殊的标志位以避开设备或软件的监测
      • -sP: ping扫描
      • -sU: UDP扫描
      • -sA: ACK扫描
      • -sW: 对滑动窗口的扫描
      • -sR: RPC扫描
      • -b: FTP反弹攻击
    • 尝试在主机使用nmap软件进行扫描。使用nmap -PU 192.168.0.116命令,其中IP地址时我主机的ip,此命令是对UDP端口进行探测。结果如下图:
      image
    • 还可以在虚拟机内使用nmap命令进行扫描。使用命令nmap -sT -p 1-1024 192.168.0.116/24。使用TCP connect扫描1-1024端口。结果如下图:
      image
  • (3)OS及服务版本探测
    • 依然使用nmap。nmap -O是对目标机的OS进行识别,获取目标机的OS和服务版本等信息。结果如下图:
      image
    • nmap -sV:查看目标主机的详细服务信息。结果如下图:
      image
      我扫描虚拟机然后发现它端口都是close……
  • (4)具体服务的点
    msf平台中有许多相关工具,大部分都在scanner辅助模块,常以[service_name]_version(用以遍历主机,确定服务版本)和[service_name]_login(进行口令探测攻击)命名。
    • telnet服务扫描
      use auxiliary/scanner/telnet/telnet_version
      set RHOSTS 192.168.0.116/24
      set THREADS 50
      run
      image
    • SSH服务扫描
      use auxiliary/scanner/ssh/ssh_version
      set RHOSTS 192.168.0.116/24
      set THREADS 50
      run
      image

4.漏洞扫描

  • (1)openvas安装
    • apt-get update
    • apt-get dist-upgrade
    • apt-get install openvas
    • openvas-setup
      这个过程会非常长……
    • 安装完成后我通过sudo runuser -u _gvm -- gvmd --create-user=shihaolin --new-password=123456指令更改了自己的用户名和密码,如下图:
      image
    • 登录,如下图:
      image
  • (2)新建扫描任务,执行漏洞扫描
    • 选择菜单栏的Scans,然后点击Tasks;
    • 鼠标移到左上角中间的图案,选择task wizard,输入要扫描的主机地址,点击start scan开始扫描。
      结果如下:
      image
      点击reports可以查看更详细的报告。
      image
      选择了SSL/TLS这个,可以看到漏洞的危险等级。
      image
  • (3)漏洞修补:通过查看开放的端口,发现危险的就关闭它。

实验问题回答

  • (1)哪些组织负责DNS,IP的管理?
    答:全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。此外,地址支持组织(ASO)负责IP地址系统的管理,域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理,协议支持组织(PSO)负责涉及Internet协议的唯一参数的分配。
    还有五个地区性注册机构:RIPE(欧洲地区)、APNIC(亚太地区)、ARIN(北美地区)、LACNIC(拉丁美洲美洲)、AfriNIC(非洲地区)。
  • (2)什么是3R信息?
    答:3R分别指Registrant、Registrar、Registry,即注册人、注册商、官方注册局。
  • (3)评价下扫描结果的准确性。
    答:扫描结果绝大部分还是准确的,但是由于搜索引擎的不同结果还是有不同之处,会产生部分端口无法扫描出来的结果。

实验遇到的问题和反思

  1. 本次实验难度还好,就是有些消磨耐心。我在安装openvas时辛辛苦苦的安装了好久,但是因为一些未知错误还是失败了,最后不得已使用了别人的虚拟机镜像,还要更改配置环境什么的,总之比较耗费时间。
  2. 信息收集是渗透测试关键,掌握的信息越多,渗透成功的机会越大。只有掌握了漏洞,攻击才有可能实现。总之,本次实验还是受益匪浅。
posted @ 2021-04-22 21:55  shihaolin  阅读(145)  评论(0编辑  收藏  举报