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

    《网络对抗技术》Exp5 信息搜集与漏洞扫描

    一、实践目标

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

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

    二、实践内容

    Ⅰ.各种搜索技巧的应用

    1.搜索网址目录结构

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

    image-20210414135254819

    图2.1.1

    image-20210414135156502

    图2.1.2

    可以看到百度的这几个隐藏目录
    其中返回代码302表示服务器找不到请求的网页
    返回代码200表示成功处理了请求
    返回代码404表示服务器找不到请求的网页

    2.利用搜索引擎的技巧

    image-20210414134223852

    图2.1.3

    首条结果竟然是2020.4的Kali,很明显会降低我们的搜索效率,尤其是百度搜索,结果简直惨不忍睹

    “+”加号 —— 强制包含关键词

    image-20210414134254560

    图2.1.4

    “-”非——消除无关性

    image-20210414134358803

    图2.1.5

    更详细的技巧可以参考十分钟教你有效运用15种百度检索式:小敏学长

    3.路由侦察

    tracert www.baidu.com
    

    image-20210414135929138

    图2.1.6

    这里出现的 www.a.shifen.com 是百度防止黑客恶意攻击的一个手段,这个 shifen 就是baidu的竞价排名系统,名字就叫"十分系统" 。
    第一列代表了生存时间(每途经一个路由器结点自增1)
    第二至第四列表示“三次发送的ICMP包返回时间(共计3个,单位为毫秒ms)
    第五列表示“途经路由器的IP地址(如果有主机名,还会包含主机名)
    带有星号(*)的信息表示该次ICMP包返回时间超时。

    traceroute www.baidu.com
    

    图2.1.7

    结果与windows中的基本一致,只有顺序变化了一下,记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,每行有三个时间,单位是ms,是探测数据包向每个网关发送三个数据包后,网关响应后返回的时间

    Ⅱ.DNS IP注册信息的查询

    1. whois查询

    whois baidu.com
    

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

    image-20210414141626970

    图2.2.1

    image-20210414143330857

    图2.2.2

    3R信息

    2. nslookup,dig域名查询

    ①nslookup
    nslookup baidu.com
    

    image-20210414144203428

    图2.2.3

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

    ②dig
    dig baidu.com 
    

    image-20210414144510568

    图2.2.4

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

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

    image-20210414145046390

    图2.2.5

    3. IP2Location地理位置查询

    maxmind可以查询IP的地理位置,需要先找到www.baidu.com的IP地址

    image-20210414145353161

    图2.2.6

    www.ip-adress.com也可以查询地址

    4. IP2反域名查询

    shodan搜索引擎可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型

    image-20210414150443936

    图2.2.7

    image-20210414150522351

    图2.2.8

    Ⅲ.基本的扫描技术

    1.主机发现

    ①PING

    需要知道目标主机的IP地址

    image-20210414150930804

    图2.3.1
    ②metasploit中的arp_sweep模块

    arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机

    msfconsole
    use auxiliary/scanner/discovery/arp_sweep 
    show options 
    set RHOSTS 192.168.31.63/24 
    set THREADS 50 
    run
    

    image-20210414201403074

    图2.3.2
    ③metasploit中udp_sweep模块

    udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息

    msfconsole
    use auxiliary/scanner/discovery/udp_sweep
    show options 
    set RHOSTS 192.168.31.63/24
    set THREADS 50
    run
    

    image-20210414201728208

    图2.3.3
    ④nmap -sn

    image-20210414202231096

    图2.3.4

    2.端口扫描

    ①nmap 命令

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

    nmap -PU 192.168.31.63/24
    

    image-20210414202832583

    图2.3.5
    nmap -sT -p 1-1024 192.168.31.63(nmap -sU -p 3000-4000 192.168.31.63)
    

    image-20210414203600423

    图2.3.6
    ②msf 中的 portscan 模块对TCP端口进行探测(有点慢)
    msfconsole
    use auxiliary/scanner/portscan/tcp 
    set RHOSTS 192.168.31.63/24 
    set THREADS 50 
    set PORTS 1-1024 
    run 
    

    image-20210414205545094

    图2.3.7

    3. OS及服务版本探测

    ① nmap -O

    让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息

    nmap -O 192.168.31.63 
    

    image-20210414210044901

    图2.3.8
    ②nmap -sV

    查看目标主机的详细服务信息,-Pn是在扫描之前,不发送ICMP echo请求测试目标

    nmap -sV -Pn 192.168.31.63
    

    image-20210414210225957

    图2.3.9

    4.具体服务的查点

    Telnet服务扫描

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

    msfconsole
    use auxiliary/scanner/telnet/telnet_version
    set RHOSTS 192.168.31.63/24 
    set THREADS 50 
    run
    

    image-20210414212033504

    图2.3.10
    ②SSH服务

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

    msfconsole
    use auxiliary/scanner/ssh/ssh_version 
    set RHOSTS 192.168.31.63/24 
    set THREADS 50 
    run
    

    image-20210414212506420

    图2.3.11
    ③Oracle数据库服务查点
    msfconsole
    use auxiliary/scanner/oracle/tnslsnr_version
    show options
    set RHOSTS 192.168.31.63/24
    set THREADS 50
    run
    

    image-20210414212649917

    图2.3.12

    Ⅳ.漏洞扫描

    1.openvas安装

    kali新版本中openvas改名成了gvm,强烈建议重新装一个kali虚拟机,然后换源,更新,再按照如下方法配置

    ①安装
    sudo apt-get install gvm
    

    image-20210413123903476

    图2.4.1
    ②初始化
    sudo gvm-setup 
    

    这一步需要比较长的时间(1h+)需要有点耐心,切记什么都不要点,尤其是回车,容易下载文件出错,也千万不要换网,换网容易报错,速度就那样慢慢等着就行了,成功后如下图:

    image-20210412212521938

    图2.4.2

    在最后写了用户名和密码,用户名为admin,密码为1064daf6-3eca-4423-886f-293a3d79e873,尽量记住,就不用再改了,如果要修改密码使用runuser -u _gvm --gvmd --user=admin --new-password=123456

    ③检查完整性
    sudo gvm-check-setup
    

    image-20210412212840418

    图2.4.3

    看到红框里的那句话基本上就安装成功了

    ④运行
    gvm-start
    

    image-20210412213308917

    图2.4.4

    界面如下:

    image-20210412213325342

    图2.4.5

    输入用户名密码即可登录,登录后如下:

    image-20210412213923072

    图2.4.6
    ⑤漏洞扫描

    点击左上角的第二个图标(像魔法棒一样),选择第一个Task Wizard就行,或者想选下面两个也行无所谓,输入主机的IP地址,点击开始。这个过程需要一点时间

    image-20210413180919523

    图2.4.7

    先点这个地方查看

    image-20210413193858770

    图2.4.8

    在windows上执行查询开放的端口查到了135,与报告一致

    image-20210413181736678

    图2.4.9

    CVEs意为通用漏洞披露,Closed CVEs报告将生成主机和CVE的列表,对于这些主机和CVE,相应的测试返回了“不易受攻击”的退出代码,即已修复且不会对报告的主机构成威胁的漏洞/暴露。详细的区别说明可以查看奇怪的上单

    image-20210413181815032

    图2.4.10

    按照图中步骤点击查看

    image-20210413184226441

    图2.4.11

    以缓冲区溢出为例

    image-20210413184427023

    图2.4.12
    也可以直接修改筛选条件:family="Buffer overflow",如下图
    

    image-20210413184505596

    图2.4.13

    点击第一个查看详细内容

    image-20210413190042857

    图2.4.14

    更详细的漏洞说明可在微软技术中心中查看或者查看下面给出的一些网址,解决漏洞的话就是根据图片中的solution
    cve NVD
    cvedetails

    或者通过查找CVE-2006-6183来得到更多有关漏洞的说明

    三、实验后回答问题

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

    全球根服务器均由美国政府授权的ICANN统一管理,负责DNS和IP地址管理。
    全球一共有5个地区性注册机构:
    ARIN(北美地区业务),
    RIPE(负责欧洲地区业务),
    APNIC(负责亚太地区业务),
    LACNIC(负责拉丁美洲美洲业务),
    AfriNIC(负责非洲地区业务)
    

    2.什么是3R信息

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

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

    扫描结果较为准确(系统、端口等),但漏洞太多了,不知道怎么核实
    

    四、问题与解决

    1.报错1

    image-20210412214347831

    图4.1.1

    解决方法:

    runuser -u _gvm --gvmd --creat-user=admin --password=123456
    

    image-20210412215157757

    图4.1.2

    2.报错2

    ①psql: 错误: 无法联接到服务器: 没有那个文件或目录 服务器是否在本地运行并且在 Unix 域套接字
    ②An internal error occurred. Diagnostics: Could not connect to manager daemon. Could not open a connection.
    ③postgresql could not change directory to "/root": 权限不够
    ④FIX: Run a synchronization script like openvas-nvt-sync or greenbone-nvt-sync(执行会报错)
    

    解决不了(或者说已经超出了我的能力范围)建议重开,直接remake

    3.postgresql报错的解决方案

    关于postgresql的种种恶心问题

    报错:connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432
    

    他说他解决了

    4.警告

    启动task的时候遇到报错如下:

    image-20210413182929903

    图4.4.1

    再次运行检查是发下以下警告:

    image-20210413183048162

    图4.4.2

    按照建议安装nsis

    sudo apt-get install nsis
    

    image-20210413183233096

    图4.4.3

    出现了新的建议安装,继续安装,问题解决

    sudo apt-get install mingw-w64 nsis-doc nsis-pluginapi wine 
    

    五、实验感想

    经过本次实验我对信息搜集与漏洞扫描有了更深的理解,可以在日常生活和学习中应用搜索技巧,可以在windows和kali中应用方法扫描主机,扫描端口,可以对自己主机的开放端口进行扫描,以此保护自己的主机,在安全openvas遇到了非常多的问题,感觉修修补补不如从头开始。

  • 相关阅读:
    jmeter的断言
    Fiddler(五)设置显式IP地址
    学习pycharm----自动化接口
    fidder重复创建数据+模拟接口响应数据+fidder接口测试
    python网络/并发编程部分简单整理
    python面向对象部分简单整理
    python模块与包简单整理
    python函数部分整理
    Python基础部分整理
    Scheme Implementations对比
  • 原文地址:https://www.cnblogs.com/wqnmlkb/p/14660127.html
Copyright © 2011-2022 走看看