zoukankan      html  css  js  c++  java
  • 2019-2020-2《网络对抗技术》 Exp5 信息搜集与漏洞扫描

    实践目标

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

    回答实践问题

    • 1.哪些组织负责DNS,IP的管理。

      • 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。ICANN理事会是ICANN的核心权利机构,它设立三个支持组织,分别是:

        地址支持组织(ASO)负责IP地址系统的管理。
        域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理。
        协议支持组织(PSO)负责涉及Internet协议的唯一参数的分配。

        全球一共有5个地区性注册机构:

        ARIN主要负责北美地区业务
        RIPE主要负责欧洲地区业务
        APNIC主要负责亚太地区业务
        LACNIC主要负责拉丁美洲美洲业务
        AfriNIC主要负责非洲地区业务。

    • 2.什么是3R信息。

      • Registrant:注册人
        Registrar:注册商
        Registry:官方注册局
    • 3.评价下扫描结果的准确性。

      • 使用msf不同的模块扫描时,会有不同结果,速度、效率也会有所不同。nmap扫描更快速。OpenVAS 的 NVT 库一周至少要更新一次,否则就会落后。

    实践过程

    各种搜索技巧的应用

    使用搜索引擎

    • GHDB

      包含了大量使用Google从事渗透的搜索字符串,拥有很多常用的模块,还有我们之前使用过的各个平台下的shellcode,也可以在SHELLCODES模块里面获取。

    • ZoomEye

      针对网络空间的搜索引擎,收录了互联网空间中的设备、网站及其使用的服务或组件等信息 。

    搜索网址目录结构

    自动化的工具:metasploit的brute_dirs,dir_listing,dir_scanner等辅助模块,主要是暴力猜解。暴力破解一般就是指穷举法,它的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。因为理论上来说,只要字典足够庞大,枚举总是能够成功的。

    以下模块的启用均在 msfconsole 中。

    • dir_scanner 模块。

      use auxiliary/scanner/http/dir_scanner
      show options
      set RHOSTS www.baidu.com
      set THREADS 50
      exploit
      
    • dir_listing 模块。

      use auxiliary/scanner/http/dir_listing
      show options
      set RHOSTS www.baidu.com
      exploit
      
    • brute_dirs 模块。

      use auxiliary/scanner/http/brute_dirs
      show options
      set RHOSTS www.baidu.com
      set THREADS 100
      exploit
      

    检测特定类型的文件

    有些网站会链接通讯录,订单等敏感的文件,可以进行针对性的查找。

    • 百度搜索 site:edu.cn filetype:xls 课设

    • 百度已经提供了相应的搜索工具。

    路由侦查

    • Windows 下 tracert 命令进行路由侦查。

      PowerShell 中输入以下命令, DNS解析会自动将其转换为IP地址并探查出途经的路由器信息 。

      tracert www.baidu.com
      
      • 从左到右的5条信息分别代表了:

        • “生存时间”,每途经一个路由器结点自增1;

        • “三次发送的ICMP包返回时间”,共计3个,单位为毫秒ms 。

          其中带有星号(*)的信息表示该次ICMP包返回时间超时;

        • “途经路由器的IP地址”,如果有主机名,还会包含主机名。

    • Linux 下 traceroute命令进行路由侦查。

      traceroute -n -m 20 -q 4 -w 3 www.baidu.com
      
      • -n:显示 IP 地址,不查主机名;
      • -m:设置跳数;
      • -q:每个网关发送的数据包个数
      • -w:设置对外发探测包的等待响应时间(秒)
      • 还可以使用 -p 设置探测的 UDP 端口。

    DNS IP 注册信息的查询

    whois 查询域名注册信息

    通过whois查询可以获得它的ip地址、注册人信息、域名信息、子域信息、服务器位置信息等。

    • whois yogile.icu :whois 我的个人网站,可以看到我的 “注册人信息”:

      •   Registrant Organization: YaoMingYu
          Registrant State/Province: si chuan
          Registrant Country: CN
        

    nslookup、dig域名查询

    nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。dig可以从官方DNS服务器上查询精确的结果。

    • Linux 终端:nslookup yogile.icu

    • Linux 终端:dig yogile.icu

      •   ; <<>> DiG 9.11.16-2-Debian <<>> yogile.icu
          ;; global options: +cmd
        

        显示 dig 命令的版本和输入的参数

      •   ;; Got answer:
          ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15365
          ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
        

        显示服务返回的一些技术详情,比较重要的是 status。如果 status 的值为 NOERROR 则说明本次查询成功结束。

      •   ;; QUESTION SECTION:
          ;yogile.icu.                    IN      A
        

        显示我们要查询的域名。

      •   ;; ANSWER SECTION:
          yogile.icu.             562     IN      A       39.97.109.216
        

        查询到的结果.

      •   ;; Query time: 4 msec
          ;; SERVER: 192.168.3.1#53(192.168.3.1)
          ;; WHEN: 四 4月 23 12:46:20 CST 2020
          ;; MSG SIZE  rcvd: 44
        

        本次查询的一些统计信息

    IP2Location 地理位置查询

    • 到网站 maxmind 即可通过 ping 得的 IP 地址,查询地理位置。

      • 可以看到:网站对应云服务器的地址在杭州,由阿里巴巴运行。

    • 也可以到 shodan 进行反域名查询。

    基本的扫描技术

    活跃主机扫描

    • nmap

      • 输入 nmap -sn 192.168.3.101/24 扫描当前局域网的活跃主机(IP 地址为 kali IP 地址)。
      • 也可以指定 IP 。
    • udp_sweep使用UDP数据包探测

      msfconsole下进行。

      use auxiliary/scanner/discovery/udp_sweep
      show options
      set RHOSTS 192.168.3.0/24
      set THREADS 100
      run
      

    端口扫描

    • metasploit的端口扫描模块

      • msfconsole下进行。
      use auxiliary/scanner/portscan/tcp
      set RHOSTS 192.168.3.4
      exploit
      
    • Nmap端口扫描

      • 输入指令nmap -sT -p 0-1024 192.168.3.4表示使用TCP connect扫描目标 IP 的 0-1024的端口

      扩展:

      • -sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描
      • -sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况
      • -sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态
      • --scanflags : 定制TCP包的flags
      • -sI : 指定使用idle scan方式来扫描目标主机(前提需要找到合适的zombie host)
      • -sY/sZ: 使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况
      • -sO: 使用IP protocol 扫描确定目标机支持的协议类型
      • -b : 使用FTP bounce scan扫描方式

    OS及服务版本探测

    • 操作系统侦测

      Nmap拥有丰富的系统数据库nmap-os-db,目前可以识别2600多种操作系统与设备类型,侦测用于检测目标主机运行的操作系统类型及设备类型等信息。

      • Linux 终端输入:sudo nmap -O 192.168.3.4 ,指定Nmap进行OS侦测。
    • 版本侦测

      用于确定目标主机开放端口上运行的具体的应用程序及版本信息。

      • Linux 终端输入:nmap -sV -Pn 192.168.3.4 ,版本侦测。
        • -sV: 指定让Nmap进行版本侦测
          version-intensity : 指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。
          version-light: 指定使用轻量侦测方式 (intensity 2)
          version-all: 尝试使用所有的probes进行侦测 (intensity 9)
          version-trace: 显示出详细的版本侦测过程信息。

    具体服务的查点

    • Telnet服务扫描

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

      use auxiliary/scanner/telnet/telnet_version
      info
      set RHOSTS 192.168.3.0/24
      set THREADS 100
      run
      
      • 可以看到宿主机23端口连接超时。
    • SMB网络服务扫描

      SMB (Server Message Block,服务器消息块) 提供了 Windows 网络中最常用的远程文件与打印机共享网络服务。

      msfconsole下进行。

      use auxiliary/scanner/smb/smb_version 
      info
      set RHOSTS 192.168.3.0/24
      set THREADS 100
      run
      
    • NetBios网络服务扫描

      NetBIOS (Network Basic Input/Output System,网络基本输入输出) 为局域网内 Windows 系统上的应用程序实现会话层之间的通信提供基本支持。

      msfconsole下进行。

      use auxiliary/scanner/netbios/nbname
      info
      set RHOSTS 192.168.3.0/24
      set THREADS 100
      run
      
    • SSH服务扫描

      msfconsole下进行。

      use auxiliary/scanner/ssh/ssh_version
      set RHOSTS 192.168.3.0/24
      set THREADS 200
      run
      
    • Oracle数据库服务查点

      msfconsole下进行。

      use auxiliary/scanner/oracle/tnslsnr_version
      set RHOSTS 192.168.3.0/24
      set THREADS 100
      run
      

    漏洞扫描

    由于最近 kali 的镜像源都开始更新,尝试过后无法下载或更新软件。由于我已经在 Ubuntu 上安装了 docker ,所以我使用 Docker 运行 OpenVAS 容器实现。

    运行 OpenVAS 的 Docker 容器

    • Docker 安装:

    • 拉取 OpenVAS 镜像,你也可以拉取其他镜像。

      docker pull mikesplain/openvas
      

    • 输入 docker 命令,运行容器:

      • 自行改变 PUBLIC_HOSTNAME= 后面的 IP 地址为你 docker 所在主机 IP 。
      sudo docker run -d -p 443:443 -p 9090:9090 -v $(pwd)/data:/var/lib/openvas/mgr/ -e OV_PASSWORD=567678 -e PUBLIC_HOSTNAME=192.168.3.21 --name openvas mikesplain/openvas
      

    • 运行容器 bash 。

      docker exec -it openvas bash
      
    • 在容器中修改用户名密码,可自行更改:

      openvasmd --user=admin --new-password=admin
      

    • 到此, OpenVAS 的 Docker 容器已经运行。

    OpenVAS 容器进行漏洞扫描

    • 打开浏览器,输入:

      • 注意是运行容器命令中的设置的 PUBLIC_HOSTNAME 值。
      https://192.168.3.21/
      或
      https://192.168.3.21/omp
      

    • 输入用户名和密码成功登录。

    • 点击顶部菜单栏 Scans 中的 Tasks

    • 点击 Task Wizard 新建任务向导,输入要扫描的宿主机 IP 。

      • 我的 kali 虚拟机是桥接模式。
      • 需等待一段时间。

    • 扫描完成。

    • 点击 Name 下名称,查看扫描的详细信息。

    • 点击 Full and fast

    • 选择第二项 Amazon Linux Local Security Checks 。

    • 选择标签为 ALAS-2011-16 的 严重程度 值为 10 且标红的一项。

    • 可以看到如下信息:

      • Summary:Amazon Linux本地安全检查。
      • Vulnerability Insight:在Linux内核中发现了多个缺陷。请参阅参考资料以获取更多信息。
      • Solution:运行yum update kernel更新系统。您需要重新引导系统才能运行新内核。

    实验总结与体会

    • 通过本次实验,初步掌握了如何进行信息的搜集,在利用各种技术来实践收集并分析信息的过程中,让我不断掌握了漏洞的扫描和分析的基本方法。

    • 其实在前面我都不应该公布我的服务器包括 IP 地址在内的信息,虽然都可以通过现有工具查到。只是这个服务器只是我用于测试的服务器,并且将于不久后过期,才在实验中使用。

  • 相关阅读:
    Oracle自增ID实现
    mysql5修改用户密码及远程访问
    关于线程中修改UI的控件属性
    Javascript 保持浮动位置
    Linq To Entity 查询条件扩展
    反转字符顺序
    VB6.0 二分法解方程
    支持库:FileHelper
    C# 计算加减乘除
    Linq.GroupBy使用示例
  • 原文地址:https://www.cnblogs.com/Yogile/p/12763252.html
Copyright © 2011-2022 走看看