• 2020-2021-2 20181312 【网络对抗技术】Exp5 信息搜集与漏洞扫描


    序言

    这一次实验主要为了掌握信息搜集的最基础技能与常用工具的使用方法。

    信息收集技术

    外围信息收集

    主机扫描

    • 活跃主机扫描
    • 操作系统识别
    • 开放端口与服务版本
    • 结果分析

    服务查点:MSF-Aux

    漏洞扫描

    网络信息收集方式

    网络踩点(Footprinting)

    Web搜索与挖掘:ZoomEye

    DNS和IP查询:nslookup/digpingWHOIS查询

    网络拓扑侦察Traceroute

    网络查点( Enumeration)

    旗标抓取

    网络服务查点

    网络扫描(Scanning)

    主机扫描:auxiliary/scanner/discovery

    端口扫描:auxiliary/scanner/portscan

    系统类型探查:nmap -O

    漏洞扫描:OpenVAS漏洞扫描器

    社会工程学

    类似于被动信息收集,主要是针对人为错误,信息以打印输出、电话交谈、电子邮件等形式泄露

    OpenVAS漏洞扫描器

    服务器层组件

    openvas-scanner(扫描器):负责调用各种漏洞检测插件,完成实际的扫描操作。

    openvas-manager(管理器):负责分配扫描任务,并根据扫描结果生产评估报告。

    openvas-administrator(管理者):负责管理配置信息,用户授权等相关工作。

    客户层组件(任选其一即可)

    penvas-cli(命令行接口):负责提供从命令行访问OpenVAS服务层程序。

    greenbone-security-assistant(安装助手):负责提供访问OpenVAS服务层的Web接口,便于通过浏览器来建立扫描任务,是使用最简便的客户层组件。

    Greenbone-Desktop-Suite(桌面套件):负责提供访问OpenVAS服务层的图形程序界面,主要允许在Windows客户机中。

    一、实验内容

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

    二、实验过程

    2.1 各种搜索技巧的应用

    2.1.1 通过搜索引擎进行信息搜集

    Google Hacking

    Google提供了高级搜索功能,GHDB数据库包含了大量使用Google从事渗透的搜索字符串,拥有很多常用的模块。

    ZoomEye

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

    ZoomEye拥有两大探测引擎:XmapWmap,分别针对网络空间中的设备及网站,通过 24 小时不间断的探测、识别,标识出互联网设备及网站所使用的服务及组件。研究人员可以通过 ZoomEye 方便的了解组件的普及率及漏洞的危害范围等信息。

    查找中国地区的apache

    app:Apache country:CN
    

    查找中国的教育网站

    site:edu.cn
    

    2.1.2 搜索网址目录结构

    手工测试一些常见的目录名

    比如admin、login等目录

    用Google查询

    parent directory site:XXX.com
    

    一般地

    inc:可能包含网站的配置信息。
    bak:通常是文本编辑器留下的备份文件。
    txt or sql:包含网站运行的sql脚本。

    自动化工具

    利用metasploit的dir_scanner辅助模块,暴力猜测,获取网站目录结构,这里我们拿百度尝试一下

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

    搜索特定类型的文件

    有一些网站会链接通讯录,订单,身份证这样的敏感文件,可以使用如下的表达式进行针对性的查找:

    filetype能对搜索结果的文件类型进行限定,格式为“检索词 filetype:文件类型”

    - 能在检索结果中获取检索词的补集,格式为“检索词 -词语”
    site能限制检索结果的来源,格式为“检索词 site:限制域名”(不要在“:”后的域名中输入“http:”和“www.”)
    inurl能在网址中进行搜索,格式为“检索词inurl:检索词”

    |表示布尔逻辑中的或者(or)关系,使用格式为“关键词1 | 关键词2”

    表示布尔逻辑中的交集(and)关系,使用格式为“关键词1 关键词2”

    site:edu.cn filetype:xls 身份证号
    

    现在应该已经对身份证的查询做屏蔽了,已经搜不到了

    site:baidu.com filetype:xls 北京电子科技学院
    

    路由侦查

    traceroute www.baidu.com
    

    • 记录序列号从1开始,每个记录是一跳 ,每一跳表示一个网关
    • 每行有三个时间,单位是ms,是向每个网关发送三个数据包后,网关分别响应后返回的时间
    • 很多行是以* * *表示,可能是由于防火墙的屏蔽,封了ICMP的返回信息,所以得不到任何返回数据

    2.2 DNS IP注册信息的查询

    2.2.1 whois查询域名注册信息

    whois可以获得ip地址,域名信息,子域信息,服务器位置信息等

    whois baidu.com
    

    2.2.2 nslookup,dig域名查询

    nslookup可以获取DNS解析服务器上保存的Cache的结果,但不一定准确

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

    nslookup baidu.com
    

    dig baidu.com
    

    2.2.3 IP2Location 地理位置查询

    进入<www.maxmind.com>

    这里输入百度的ip地址进行查询

    从上图可以看到这个ip的location在河北保定。

    2.3 基本的扫描技术

    2.3.1 主机发现

    ping命令

    这里的最后一个ip地址是学校的教务系统,应该是防火墙屏蔽了ICMP的数据包。

    metasploit中的arp_sweep模块

    首先要进入root模式,否则在运行时会出现这样的错误

    在root模式下运行msfconsole

    use auxiliary/scanner/discovery/arp_sweep
    set RHOSTS 172.16.222.0/24
    set THREADS 50
    run
    

    其中,我kali的ip地址是172.16.222.107

    但是这里啥也没显示出来

    于是我把网段改成了我主机的网段,主机的ip是172.16.217.137

    成功找到了我的主机

    2.3.2 端口扫描

    metasploit中的udp_sweep模块

    use auxiliary/scanner/discovery/udp_sweep
    set RHOSTS 172.16.222.0/24
    set THREADS 50
    run
    

    但是奇怪的是,还是什么也没扫出来,于是我又换成了主机所在的网段

    成功找到了主机

    Nmap参数使用

    Nmap参数使用详解

    nmap -p 1-1024 -r 172.16.222.107
    

    发现啥也探测不到,是由于防火墙的问题,于是我把主机的防火墙关闭

    2.3.3 OS及服务版本探测

    操作系统类型扫描

    nmap -O 172.16.217.137
    

    服务版本探测

    nmap -sV -Pn 172.16.217.137
    

    可以看到netbios服务是打开的。NetBIOS为局域网内Windows系统上的应用程序实现会话层之间的通信提供基本支持。metasploit中也有了相应功能的实现。

    2.3.4 具体服务的查点

    netbios服务扫描

    root模式下进入msfconsole

    use auxiliary/scanner/netbios/nbname
    set RHOSTS 172.16.217.0/24
    set THREADS 50
    run
    

    可以看到与前面扫描出来的结果是一致的

    Telnet服务扫描

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

    这里扫描的所有主机的Telnet服务都没有开启

    SSH服务扫描

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

    Oracle数据库服务扫描

    use auxiliary/scanner/oracle/tnslsnr_version
    set RHOSTS 172.16.217.137/24
    set THREADS 50
    run
    

    2.4 漏洞扫描

    OpenVAS(Open Vulnerability Assessment System)是开放式漏洞评估系统,其核心部分是一个服务器。该服务器包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。该工具是基于C/S(客户端/服务器),B/S(浏览器/服务器)架构进行工作,用户通过浏览器或者专用客户端程序来下达扫描任务,服务器端负载授权,执行扫描操作并提供扫描结果。在第十个版本时,OpenVAS被改名为GVM。

    2.4.1 OpenVAS的安装与配置

    sudo apt install gvm
    //安装GVM软件包,时间较长,需要耐心等待
    sudo gvm-setup
    //初始化GVM
    sudo gvm-check-setup
    //检查初始化是否完成
    runuser -u _gvm -- gvmd --user=admin --newpassword=admin
    //修改GVM默认的账户和账户对应的初始密码
    sudo gvm-stop
    //停止运行GVM
    sudo gvm-start
    //启动GVM
    

    2.4.2 OpenVAS的登入

    这里的登入界面是https://127.0.0.1:9392

    随后输入设置的账户:admin和密码:admin进入界面

    2.4.3 新建Target,开始扫描

    在菜单栏选择Scans->Tasks,进入后点击左上角问号右边的黑色星星棒,选择Task Wizard新建任务向导,输入待扫描主机的ip地址172.16.217.137,并单击Start Scans,开始扫描。

    2.4.4 查看并分析扫描结果

    点击左下方的Immediate scan of IP 172.16.217.137可以查看报告

    点击Full and fast,选择Permisions,我选择进入get_configsAdmin进行分析

    进入Admin中的Genaral Command Permissions,可以看到它提示Everything这个软件Has permission to run all commands,当然这个软件是我主机里的一个搜索软件,我同意赋予权限给它的。

    返回到Full and fast页面,选择NVTFamilies,我选择进入Databases进行分析

    但是点击饼图中的红色区域,并无任何反应,随后发现下面一行红色小字The SCAP database is required,似乎是缺少一个名叫SCAP的数据库。

    这里参考了云班课中李新锐同学的方法。

    先通过locate gvm | grep scap定位到了scap-data文件夹

    cd /var/lib/gvm
    

    进入目录后

    sudo cp -r scap-data scap-data-bak
    

    备份该文件夹

    sudo su
    greenbone-scapdata-sync
    

    随后进入root模式,使用命令更新

    cp -r scap-data scap-data-bak-1
    

    结束后再一次备份一下

    greenbone-scapdata-sync --refresh
    

    再次更新

    cp -r scap-data scap-data-bak-2
    

    结束后再一次备份一下

    greenbone-scapdata-sync --refresh -private
    

    最后再一次下载

    直至完成

    三、回答一些问题

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

    因特网技术协调机构ICANN负责全球的域名根服务器、DNS和IP地址管理。

    • ASO: 地址支持组织,负责IP地址分配和管理
    • GNSO: 基本名称支持组织,负责通用顶级域名分配
    • CNNSO: 国家代码域名支持组织,负责国家顶级域名分配

    2. 什么是3R信息

    3R

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

    3R注册信息

    • 分散在官方注册局或注册商各自维护数据库中,官方注册局一般会提供注册商和Referral URL信息,具体注册信息一般位于注册商数据库中。

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

    目前的情况是,扫描无法准确判定具体的操作系统是什么,只能给出一个范围;扫描还算是比较准确的,比如扫描netbios是开放的,后面能进入metasploit中的netbios模块中去验证。

  • 相关阅读:
    python之ConfigParser模块
    python之os模块
    python之cx_oracle模块
    python之zipfile模块
    python之sys模块
    python相关模块链接
    Server.UrlPathEncode和Server.UrlEncode的区别
    设置或者得到CheckBoxList选中了的值
    一些数据格式化-Eval( " ")和DataBinder.Eval(Container.DataItem, " ")的区别及用法
    ADO中数据库连接字符串的几种写法
  • 原文地址:https://www.cnblogs.com/blingblingXY/p/14702691.html
Copyright © 2020-2023  润新知