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

    一、实践过程

    1.各种搜索技巧的应用

    1.1 搜索网址目录结构

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

    • dir_scanner 模块

      use auxiliary/scanner/http/dir_scanner
      set RHOST 47.94.47.203
      set RPORT 8080
      set THREADS 50 // 设定扫描线程数
      exploit
      

    • dir_listing 模块

      use auxiliary/scanner/http/dir_listing
      set RHOST 47.94.47.203
      set RPORT 8080
      set THREADS 50 
      exploit
      

    • brute_dirs 模块

      use auxiliary/scanner/http/brute_dirs
      set RHOST 47.94.47.203
      set RPORT 8080
      set THREADS 50 
      exploit
      

    1.2 检测特定类型的文件

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

    • 解释:

      • site能限制检索结果的来源,格式为“检索词-词语”
      • filetype对搜索结果的文件类型进行限定,格式为“检索词 filetype:文件类型”
    • 在浏览器中输入 site:edu.cn filetype:xls 身份证号

      点击搜索结果可下载 excel 文件(涉及个人信息,就不放图了)

    1.3 路由侦察

    • Windows 使用 tracert 命令进行路由侦查

      tracert www.baidu.com

      从左到右分别代表了:

        生存时间,每途经一个路由器结点自增1;
      
        三次发送的ICMP包返回时间,共计3个,单位为毫秒ms。其中带有星号(*)的信息表示该次ICMP包返回时间超时;
      
        途经路由器的IP地址,如果有主机名,还会包含主机名。
      
    • linux 下使用 traceroute 命令进行路由侦查

      traceroute -n -m 20 -q 4 -w 3 www.baidu.com
      

      参数的意义如下:

        -n:显示 IP 地址,不查主机名;
        -m:设置跳数;
        -q:每个网关发送的数据包个数
        -w:设置对外发探测包的等待响应时间(秒)
      

    2.DNS IP 注册信息的查询

    2.1 whois 查询

    whois 就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)

    • 输入 whois cnblogs.com 即可查询

    2.2 nslookup、dig域名查询

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

    dig可以从官方DNS服务器上查询精确的结果

    dig 命令还有查询选项

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

    2.3 IP2Location 地理位置查询

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

      可以看到,我这台服务器的地址在杭州,由阿里巴巴运行

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

      查出来的信息还是相当多的,系统版本,nginx 服务都查出来了

    3.基本的扫描技术

    3.1 主机发现

    • nmap

      输入 nmap -sn 192.168.131.129/24 扫描当前局域网的活跃主机

    • metasploit的 arp_sweep 模块和 udp_sweep 模块

      • udp_sweep使用UDP数据包探测,除了可以探测到存活主机之外,还可以获得主机名称信息
      • arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机

      命令:

      use auxiliary/scanner/discovery/xxx_sweep
      show options
      set RHOSTS 192.168.131.129/24
      set THREADS 100
      run
      
      • udp_sweep

      • arp_sweep:

        扫描的是虚拟机所在的网段

    3.2 端口扫描

    • nmap 相关参数如下:

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

      namp -PU 为例,是对UDP端口进行探测,与udp_sweep模块功能相同

      此时我打开了另一台虚拟机,可以看到 192.168.131.130 的扫描结果

    • metasploit的端口扫描模块

      use auxiliary/scanner/portscan/tcp
      set RHOSTS 192.168.131.129
      exploit
      

      并没有扫描到开放端口

    3.3 版本探测

    • 操作系统侦测

      输入 sudo nmap -O 192.168.131.129,指定 nmap 进行 OS 探测

    • 服务侦测

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

      输入 nmap -sV -Pn 192.168.131.129

      只看到 apache 服务

    3.4 具体服务的查点

    • telenet 服务扫描

      use auxiliary/scanner/telnet/telnet_version
      set RHOSTS 192.168.131.130/24
      set THREADS 100
      run
      

      发现这个网段里的机器 23 端口都无法连接

    • SSH 服务扫描

      use auxiliary/scanner/ssh/ssh_version
      set RHOSTS 47.94.47.203 
      run
      

      我扫描的是我的阿里云主机,可以看到 ssh 服务的信息和系统的版本

    4.漏洞扫描

    4.1 docker 安装 OpenVAS

    sudo docker pull mikesplain/openvas
    
    sudo docker run -d -p 443:443 -p 9090:9090 -v $(pwd)/data:/var/lib/openvas/mgr/ -e OV_PASSWORD=xxxxxx -e PUBLIC_HOSTNAME=192.168.131.129 --name openvas mikesplain/openvas
    
    // PUBLIC_HOSTNAME 填自己主机ip
    // 数据映射到了 /var/lib/openvas/mgr/ 位置
    // OV_PASSWORD 可以设置admin密码
    
    su root // 下面操作使用 sudo 会出错
    
    docker exec -it openvas bash // 运行容器 bash
    
    openvasmd --user=admin --new-password=admin
    

    4.2 新建扫描任务

    • 浏览器输入 https://${你的主机ip}/,输入上文设定的用户名及密码,登录 OpenVAS

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

    • 点击 Task Wizard 新建任务向导,输入要扫描的IP,我扫描的是我的阿里云服务器

    • 扫描结束

      我的服务器高危…………

    4.3 扫描结果分析

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

    • 选择第二项 Amazon Linux Local Security Checks

    • 选择一个严重程度为 10 的

      Amazon Linux Local Check: ALAS-2011-16

      可以看到

        - Vulnerability Insight:在Linux内核中发现了多个缺陷
        - Solution:运行yum update kernel更新系统,并重启
      
    • 再选择一个 10 级严重的

      Amazon Linux Local Check: ALAS-2012-111

      大致概括一下。这是 OpenJPEG ( jpeg 编码器 )存在的输入认证缺陷,会导致堆溢出。攻击者可以发送一个经过特殊处理的图片,以导致应用程序崩溃,或获得用户权限。

      解决办法是升级 OpenJPEG

    • 再看一个 10 级严重的

      Amazon Linux Local Check: ALAS-2012-140

      libproxy 处理代理配置文件 pac 时存在的缓冲区溢出漏洞。中间人攻击者,托管 pac 文件的恶意服务器可以利用这个漏洞导致使用 libproxy 的程序崩溃

      解决方法是更新 libproxy

    • 我发现,这些 10 级漏洞大多都挺古老,升级就可以解决问题

    二、实验问答

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

    全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理

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

    五个地区性注册机构:

    • ARIN(北美地区)
    • RIPE(欧洲地区)
    • APNIC(亚太地区)
    • LACNIC(拉丁美洲美洲)
    • AfriNIC(非洲地区)

    2、什么是3R信息

    • Registrant:注册人
    • Registrar:注册商
    • Registry:官方注册局

    3、评价下扫描结果的准确性

    扫描结果大体上还是准确的。但nmap -O 并未准确探测出操作系统。

    三、实验体会

    我的服务器被扫出大量 9,10 级漏洞。其实 apt dist-upgrade 就可以解决绝大多数问题,最新版本大都修复了这些漏洞

    这次实验貌似是最简单的一次,也算是对以前接触的各种工具的一个总结

  • 相关阅读:
    hibernate根据hbm自动生成数据库
    java中最常用jar包的用途说明,适合初学者
    struts json配置中遇到的问题记录
    使用NHibernate, Oracle Clob/NClob无法插入
    几种常用的JS类定义方法
    linux系统安装nginx
    Hibernate动态条件查询(Criteria Query)
    ashx中使用session存储数据时报异常
    Nhibernate查询语句
    Hibernate3动态条件查询
  • 原文地址:https://www.cnblogs.com/mtzf/p/12775974.html
Copyright © 2011-2022 走看看