• 2018-2019-2 20165330《网络对抗技术》Exp6 信息搜集与漏洞扫描


    目录


    实验目的

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

    返回目录


    实验内容

    返回目录


    基础问题

    • 哪些组织负责DNS,IP的管理。
    • 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理.
    • 全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务。
    • 什么是3R信息。
    • 3R指注册人(Registrant)注册商(Registrar)官方注册局(Registry)
    • 3R注册信息:分散在官方注册局或注册商各自维护数据库中
    • 评价下扫描结果的准确性。

    见实验步骤的分析。

    返回目录


    相关知识

    • 信息搜集
      • 尽可能多的查找关于目标的信息
      • 是渗透测试中首先要做的重要事项之一
      • 方法:间接信息搜集 直接信息搜集 社会工程学
    • 间接信息搜集
      • 不接触目标,使用第三方信息源
      • 使用辅助模块中信息搜集类:auxiliary/gather/..
        • DNS记录扫描和枚举:use auxiliary/gather/enum_dns
        • CorpWatch:auxiliary/gather/corpwatch_lookup_name
        • 搜索引擎子域名搜集器:auxiliary/gather/searchengine_subdomains_collector
    • 直接信息搜集
      • 建立逻辑连接并获取信息
      • 主机扫描:auxiliary/scanner/discovery
      • 端口扫描:auxiliary/scanner/portscan
      • 版本探测:探测端口上的运行服务
      • 漏洞探测:探测服务是否有相应漏洞
        • OpenVAS漏洞扫描器:开放式漏洞评估系统,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题
    • 社会工程学
      • 类似于被动信息收集,主要是针对人为错误,信息以打印输出、电话交谈、电子邮件等形式泄露
    • NMAP
      • Linux下的网络扫描和嗅探工具包
      • 基本信息扫描:nmap targethosts
      • 对主机全面扫描:nmap –T4 –A –v targethost

    返回目录


    实验步骤

    各种搜索技巧的应用

    (一)使用搜索引擎

    Google Hacking

    • GHDB (又名谷歌黑客数据库)使用的先进的JavaScript技术搜索黑客所需的信息,它包含了大量使用Google从事渗透的搜索字符串,拥有很多常用的模块,还有我们之前使用过的各个平台下的shellcode,也可以从这里获取。
    • 在侧边栏选中SHELLCODES即可看到一些发布的shellcode
      image

    zoomeye

    • ZoomEye是一款针对网络空间的搜索引擎,收录了互联网空间中的设备、网站及其使用的服务或组件等信息
    • 进入zoomeye注册账号
    • 开始搜索:如搜索中输入apache +country:"CN"即查找中国地区的apache
      image
    • 点击IP地址我们就可以看到更详细的信息
      image
    • 全球视角我们可以看到apache的分布
      image
    • 在MSF中也可以找到它,msf利用zomeye的API来实现搜集信息,可使用use auxiliary/gather/zoomeye_search进入模块
    • 与之类似的shodan的用法也是差不多的,在我的上篇博客有所尝试。可见利用庞大的搜索引擎,其结果也是十分精确而又详细的!
    (二)搜索网址目录结构
    • 利用metasploitdir_scanner辅助模块,暴力猜解,获取网站目录结构
    • 进入msfconsole输入以下命令
      use auxiliary/scanner/http/dir_scanner //进入该辅助模块
      info //查看需配置的信息
      set THREADS 50 
      set RHOSTS www.baidu.com
      exploit
      
    • 可以查询到网站的目录结构
      image
      • 可以看到百度的这几个隐藏目录
      • 其中返回代码302表示服务器找不到请求的网页
      • 返回代码200表示成功处理了请求
      • 其他状态码意义可参考这里
    (三)检测特定类型的文件
    • 有些网站会链接通讯录,订单等敏感的文件,可以进行针对性的查找, 如Googlesite:XXX.com filetype:xls
    • 我们使用百度,在搜索框输入site:edu.cn filetype:xls
      image
      出现如上一堆文件格式为XLS/Microsoft Excel的网址
    • 也可以加入关键字搜索,如site:edu.cn filetype:xls 大学搜索与大学有关的XLS文件
      image
    • 下载上面看到的鞍山师范学院xls文件可看到其中信息
      image
    (四)路由侦查

    tracert命令进行路由侦查

    • tracert可用于对经过的路由进行探测
    • windows下打开cmd,输入命令:tracert www.baidu.com
      image
    • 说明:
      • 第一列代表了“生存时间”(每途经一个路由器结点自增1)
      • 第二至第四列表示“三次发送的ICMP包返回时间”(共计3个,单位为毫秒ms)
      • 第五列表示“途经路由器的IP地址”(如果有主机名,还会包含主机名)
      • 带有星号(*)的信息表示该次ICMP包返回时间超时。
      • 另外发现侦察过程中显示了www.a.shifen.com这个地址,查了下原因:这是百度为其域名加的外壳,以免被攻击 ,属于网络安全范畴。

    traceroute命令进行路由侦查

    • kali下输入traceroute www.baidu.com对经过的路由进行探测
      image
    • 说明:我的kali为桥接模式
      • 记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,
      • 每行有三个时间,单位是ms,是探测数据包向每个网关发送三个数据包后,网关响应后返回的时间
      • 有一些行是以*表示,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据

    DNS IP注册信息的查询

    (一)

    whois查询域名注册信息

    • 通过whois查询可以获得它的ip地址,域名信息,子域信息,服务器位置信息等
    • 打开终端输入:whois baidu.com(注意:进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到)
    • 可以查询到3R信息
      image
      image

    (二)

    nslookup,dig域名查询

    • nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。dig可以从官方DNS服务器上查询精确的结果
    • kali终端输入:nslookup gitee.com
      image
    • kali终端输入:dig gitee.com
      image
      • 1~7:显示了dig的基本设置信息,e.g. java -version
      • 8~9:显示了查询内容,这里查询的是域名gitee.com的A记录
      • 10~12:显示了查询结果,域名gitee的A记录是218.11.0.86(A(Address)记录是用来指定主机名(或域名)对应的IP地址)
      • 13~15:授权信息,域名gitee.cpm的NS(nameserver)是yundunddos的域名服务器
      • 21~24:统计信息
      • 更多用法可参考dig常用命令

    (三)

    IP2Location 地理位置查询

    • www.maxmind.com网站可以根据IP查询地理位置
    • 先通过cmd进行ping www.baidu.com查看百度IP地址
    • 进入网站www.maxmind.com下拉查询IP,得到结果
      image
    • IP2反域名查询
      • 通过IP-ADDRESS网站,查询更详细的关于某共有IP的信息
        image
    • shodan进行反域名查询
      • 通过shodan可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型
      • 如查询百度
        image

    基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点

    (一)活跃主机扫描
    • ICMP ping命令
      image
    • 利用metasploit中的模块
      • 位于modules/auxiliary/scanner/discovery主要有arp_sweepipv6_multicast_pingipv6_neighboripv6_neighbor_router_advertisementudp_probe,udp_sweep
      • 我们使用arp_sweep,即用ARP请求枚举本地局域网的活跃主机
      • 进入msfconsole输入以以下命令
        use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep 模块
        info //查看设置参数信息
        set RHOSTS 10.0.0.0/24 //设置主机段
        set THREADS 50 //加快扫描速度
        run //扫描
        
      • 扫描结果如下
        image
    • nmap -sn探测某网段的活跃主机
      • kali终端中输入:nmap -sn 10.0.0.0/24
      • 结果如下
        image
    (二)端口扫描
    • 利用msf中的udp_sweep模块对UDP端口进行探测
      • 进入msfconsole,输入以下命令
        use auxiliary/scanner/discovery/udp_sweep //进入udp_sweep 模块
        info //查看设置参数信息
        set RHOSTS 10.0.0.0/24 //设置主机段
        set THREADS 50 //加快扫描速度
        run //扫描
        
      • 结果如下
        image
        这与nmap -PU的作用一样,
    • 使用nmap -sT对指定主机TCP端口进行探测
      • kali终端输入:nmap -sT -p 1-1024 10.0.0.216(-p参数设置端口范围)
        image
    • 利用msf中的portscan模块对TCP端口进行探测
      • 进入msfconsole,输入以下命令
        use auxiliary/scanner/discovery/tcp //进入udp_sweep 模块
        info //查看设置参数信息
        set RHOSTS 10.0.0.216 //设置主机段
        set THREADS 50 //加快扫描速度
        set PORTS 1-1024 //设置端口范围
        run //扫描
        
      • 结果如下
        image
    • 也可使用nmap -sU对UDP端口进行探测
    (三)OS扫描及服务版本探测
    • kali下使用nmap -O 10.0.0.216获取目标机的操作系统等信息
      image
    • 使用-sS选项进行TCP SYN扫描
      • kali下使用nmap -sS -Pn 10.0.0.216命令(-sS表示TCP SYN扫描,-Pn表示在扫描之前,不发送ICMP echo请求测试目标 )
        image
    • 使用-sV查看目标机子的详细服务信息
      • kali下使用nmap -sV -Pn 10.0.0.216命令(-sV用来查看目标机子的详细服务信息)
        image
    (四)具体服务的查点
    • Telnet服务扫描
      • telnet命令用于登录远程主机,对远程主机进行管理
      • 进入msfconsole输入以下命令
        use auxiliary/scanner/telnet/telnet_version //进入telnet模块
        info //查看设置信息
        set RHOSTS 10.0.0.0/24 //扫描主机网段
        set THREADS 100 //提高查询速度
        run //扫描
        
      • 结果如下
        image
        可见大多数主机都没有开启这个服务,需要自己去设置手动开启。
    • SMB网络服务扫描
      • SMB (Server Message Block,服务器消息块) 提供了 Windows 网络中最常用的远程文件与打印机共享网络服务。
      • 进入msfconsole输入以下命令
        use auxiliary/scanner/smb/smb_version //进入模块
        info //查看设置信息
        set RHOSTS 10.0.0.0/24 //扫描主机网段
        set THREADS 100 //提高查询速度
        run //扫描
        
      • 结果如下
        image
    • NetBios网络服务扫描
      • NetBIOS (Network Basic Input/Output System,网络基本输入输出) 为局域网内 Windows 系统上的应用程序实现会话层之间的通信提供基本支持。
      • 进入msfconsole输入以下命令
        use auxiliary/scanner/netbios/nbname //进入模块
        info //查看设置信息
        set RHOSTS 10.0.0.0/24 //扫描主机网段
        set THREADS 100 //提高查询速度
        run //扫描
        
      • 结果如下
        image
    • 口令猜测与嗅探
      • 进入msfconsole输入以下命令
        use auxiliary/scanner/ssh/ssh_login //进入ssh_login模块
        info //查看设置信息
        set RHOSTS 10.0.0.0/24 //扫描主机网段
        set USERNAME root //设置目标系统的管理员账号
        set PASS_FILE /root/password.txt //设置破解的字典
        set THREADS 200 //提高查询速度
        run //扫描
        

    漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞

    (一)配置OpenVAS
    • 因为Kali 2.0系统中已经不默认安装OpenVAS,使用openvas-check-setup检查状态会提示没有此命令
    • 先更新软件包列表:apt-get update
    • 获取到最新的软件包:apt-get dist-upgrade(不建议时间很长!)
    • 安装OpenVAS工具:apt-get install openvas
    • 重复多次运行openvas-check-setup检查状态,一般会有不同的报错,一一进行修复
      • 错误1:The NVT collection is very small.
        image

        解决:按提示运行sudo greenbone-nvt-sync同步漏洞库

      • 错误2: No users found.
        image

        解决:按提示运行openvasmd --create-user=admin --role=Admin && openvasmd --user=admin --new-password=158138创建用户和密码

      • 错误3:The number of NVTs in the OpenVAS Manager database is too low
        image

        解决:运行openvassd启动扫描器,在openvasmd --rebuild 生成数据库

      • 错误4:No OpenVAS SCAP database found.
        image

        解决:运行greenbone-scapdata-sync同步SCAP数据

    • 当看到It semms like your OpenVAS-9 installation is OK即安装成功。
    (二)扫描操作
    • 开启服务:openvas-start,自动打开浏览器主页https://127.0.0.1:9392,点击Login进入
      image
    • 新建任务扫描
      • 点击Scans-Tasks
      • 进入后点击左上角处紫色的烟花,选择Task Wizard新建一个任务向导。
      • 在弹框中输入待扫描主机的IP地址10.1.1.109,点击Start Scans开始扫描。
        image
    • 扫描完成
      image
    • 点击Name下名称,查看扫描的详细信息
      image
    • 点击红框中Full and fast
    • 我们选择其中的Buffer overflow分析
      image
      • 进入后会发现每个漏洞都标有危险等级,我们选择一个危险等级较高的漏洞
        image
      • Summary处为该漏洞的描述
        image
      • Solution处可看到解决方案
        image
    • 更详细的漏洞可在微软技术中心中查看

    返回目录


    实验总结与体会

    • 通过本次实验,初步掌握了如何进行信息的搜集,在利用各种技术来实践收集并分析信息的过程中,让我不断掌握了漏洞的扫描和分析的基本方法,也在这些不同的尝试中感受到现在信息的搜查强度,自己的信息真的很容易就可以被别人搜到呀~

    参考资料

  • 相关阅读:
    浅谈MVVM模式和MVP模式——Vue.js向
    浅谈JavaScript中的null和undefined
    js的单线程和异步
    字符串替换replace方法
    数组的长度、数组元素的添加和删除
    去掉数组中的空元素
    创建数组方法、数组元素的读和写
    Android中H5和Native交互的两种方式
    请求抓取工具
    css层叠规则(层叠样式表)
  • 原文地址:https://www.cnblogs.com/besty-zyx/p/10775830.html
Copyright © 2020-2023  润新知