zoukankan      html  css  js  c++  java
  • 20181328 《网络攻防》 EXP5 信息收集与漏洞扫描

    一、实验内容:

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

    二、实验原理:

    信息搜集:

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

    收集方式:

    • 间接收集:
      • 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下的网络扫描和嗅探工具包。
    • 社会工程学
    • 漏洞扫描与Openvas

    三、基础问题回答

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

    • 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份)。
      • 地址支持组织(ASO)负责IP地址系统的管理
      • 域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理
      • 协议支持组织(PSO)负责涉及Internet协议的唯一参数的分配
    • 全球一共有5个地区性注册机构:
      • ARIN主要负责北美地区业务
      • RIPE主要负责欧洲地区业务
      • APNIC主要负责亚太地区业务
      • LACNIC主要负责拉丁美洲美洲业务
      • AfriNIC负责非洲地区业务

    (2)什么是3R信息。

    • 注册人(Registrant) →注册商(Registrar) →官方注册局(Registry)

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

    • 可以根据扫描结果的精准度来判断,详细见实验报告

    四、实验步骤

    实验一:各种搜索技巧的应用

    1.搜索网址目录结构

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

    • 方法:使用kali,依次输入如下指令:可以找到如下目录!

      • msfconsole
      • use auxiliary/scanner/http/dir_scanner
      • set THREADS 20
      • set RHOSTS www.baidu.com
      • exploit

    2.检测特定类型的文件

    • 原理:

      •  filetype 能对搜索结果的文件类型进行限定,格式为“ 检索词 filetype:文件类型 ”
      • “-”能在检索结果中获取检索词的补集,格式为“ 检索词 -词语 ”
      •  site 能限制检索结果的来源,格式为“ 检索词 site:限制域名 ”(不要在“:”后的域名中输入“http:”和“www.”)
      •  inurl 能在网址中进行搜索,格式为“ 检索词inurl:检索词 ”
      • “|”表示布尔逻辑中的或者(or)关系,使用格式为“ 关键词1 | 关键词2 ”
      • 空格表示布尔逻辑中的交集(and)关系,使用格式为“ 关键词1 关键词2 ”
    • 步骤:
      • 打开百度,设置高级搜索界面,高级搜索界面的入口在搜索引擎首页右上角“设置”->“高级搜索”输入 site:edu.cn filetype:xls 身份证号 。

     (输入后点击高级搜索)

      •  更改参数如图所示!一定要先改edu.cn,改完之后要是界面不发生改变就再点击一次“百度一下”

      • 随便打开搜索结果查看一下(部分涉及隐私问题打了个码)

     

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

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

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

      

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

    实验二、DNS IP注册信息的查询

    1.whois查询

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

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

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

     

    2.nslookup,dig域名查询

    nslookup

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

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

     

    dig

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

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

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

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

    3.IP2Location 地理位置查询

    www.maxmind.com

    • 原理:www.maxmind.com网站可以根据IP查询地理位置。

    • 步骤:

      • 在主机上利用ping www.baidu.com的查看百度的IP地址

      • 打开网站网页www.maxmind.com在网站下方输入IP

      • 点击前往查看结果(显示所在地为:中国广东,这个大家的不一样,不影响)

    www.ip-adress.com(查看更加详细地址信息)

      • 查看自己的ip地址,熟悉一下界面,输入自己想查询的ip地址

      •  看一下百度的地址信息

      •  查看一下自己的地址信息

    4.IP2反域名查询

    • 原理:shodan搜索引擎(https://www.shodan.io/)可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型.

    • 方法:打开网站,输入IP地址,可以看到地理位置,端口号和提供的服务具体信息

      • 看一下百度的端口

    实验三、DNS IP注册信息的查询

    (注意开始这部分前把防火墙关掉)

    1.主机发现

    PING

    • 原理:ping命令用发送ICMP报文的方法检测活跃主机

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

    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 模块

    set RHOSTS 主机地址 //用set进行hosts主机段设置

    set THREADS 50 //加快扫描速度

    show options //查询模块参数

    run //执行run进行扫描

      •  没有报错就直接跳过这一part,如出现上述报错,则将最上面的代码重新输入代码为 sudo msfconsole 

     

      • 扫描截图:其中192.168.43.1是我的主机IP地址

    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参数可以用来探测某网段的活跃主机

    • 方法:进入root模式->输入命令 nmap -sn 主机地址 

    • 分析:如下图所示,对制定网段的主机端口都检测了

    2.端口扫描

    • 方法:进入root模式->在命令行输入 nmap -sS -p 80-90 -v [IP地址] (sS是扫描端口,-p是指定端口,-v是详细信息)

    3.操作系统版本探测

    nmap -O

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

    • 方法:进入root模式->输入命令 nmap -O [IP地址] 

    nmap -sV

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

    • 方法:进入root模式->输入命令 nmap -sV [IP地址] ,查看目标主机的详细服务信息

    4.具体服务的查点

    metasploit中有许多相关工具,大部分都在Scanner辅助模块,常以[service_name]_version(用以遍历主机,确定服务版本)和[service_name]_login(进行口令探测攻击)命名。

    Telnet服务扫描

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

    • 方法:

    sudo msfconsole
    

    use auxiliary/scanner/telnet/telnet_version //进入telnet模块

    set RHOSTS 【IP地址】 //扫描10.1.1.0网段

    set THREADS 50 //提高查询速度

    run

    SSH服务

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

    • 方法:

    sudo msfconsole

    use auxiliary/scanner/ssh/ssh_version //进入ssh模块

    set RHOSTS [IP地址] //扫描网段

    set THREADS 50 //提高查询速度

    run

    Oracle数据库服务查点

    • 方法:

    sudo msfconsole
    

    use auxiliary/scanner/oracle/tnslsnr_version

    show options

    set RHOSTS [IP地址]

    set THREADS 50

    run

    实验四、漏洞扫描————安装OpenVAS

    • 安装(按照下述代码安装!学长学姐的用不了了)
    apt-get update
    

    apt-get dist-upgrade

    apt-get install openvas

    apt install gvm
    sudo gvm-setup//这步时间非常非常非常长,找个网好的地方装,网千万别断,很容易出bug


    gvm-feed-update

    • 安装完成后会自动生成管理员账号和密码(初始用户名:admin,密码下面那一大串,可以不用改)

    • 使用 gvm-check-setup 来检查是否安装完成(出现第二张图那行字,就说明安装完成!)

     

    • 在终端输入sudo gvm-start 开启这个软件

    •  然后就可以通过浏览器访问: https://127.0.0.1:9392 访问了

    •  登陆之后,点击 scan->Tasks

    •  点击Task Wizard,有点难找

     

    • 输入主机的IP地址,然后扫描就可以

     

    • 查看并分析扫描结果

      • 打开该扫描结果的详细信息,并点击其中的“Full and fast”:

    •  点击 NTV Families->任意漏洞(以Buffer overflow为例) 来查看具体漏洞信息

    • 详细描述如下:
      • Summary是该漏洞的描述,意思是该主机运行的3CTFTPSVC TFTP服务器,容易出现缓冲区溢出漏洞。
      • Solution是关于该漏洞的解决方案:该漏洞至少一年内没有解决方案或修补程序。这个网站可能不会再提供解决方案了。一般解决方案是升级到一个较新的版本,禁用各自的功能,删除产品或更换产品的另一个。

    五、实验体会

    本次实验难度不高,但是我们学到了很多搜集信息的方法,以后可以对网站进行针对性的信息搜集。在OpenVas的安装过程中,我遇到了一些困难,在网上查询资料后,自己摸索着解决了。经过这次实验,我对信息搜集与漏洞分析有了更深的理解。感谢各位同学看到了这里,要是报告中有不对的地方,可以联系我更正谢谢! 

  • 相关阅读:
    Gym
    UVALive
    UVALive
    UVALive
    UVALive
    Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset Trie
    HDU 5816 Hearthstone 概率dp
    欧几里德与扩展欧几里德算法(转)
    差分约束系统详解(转)
    2016年第七届蓝桥杯C/C++程序设计本科B组决赛
  • 原文地址:https://www.cnblogs.com/1005zwq/p/14646637.html
Copyright © 2011-2022 走看看