从入门到跑路(三)使用openVAS对服务器进行漏洞扫描

OpenVAS 项目的历史

在2005年,Nessus漏洞扫描器的开发者决定停止在开源许可下的工作,转而采用专有商业模式。

此时,来自Intevation和DN-Systems的开发者已经在为Nessus贡献开发工作,主要集中在客户端工具的开发。这些工作得到了德国联邦信息安全办公室(BSI)的支持。

在2006年,Nessus停止开源后,出现了几个Nessus的分支。其中,只有OpenVAS(Open Vulnerability Assessment System)继续活跃。OpenVAS项目注册在Software in the Public Interest, Inc.,以保护域名“openvas.org”。

2006年和2007年间,OpenVAS项目的主要活动是对现状的清理。然而,到2008年底,总部位于德国奥斯纳布吕克的Greenbone AG成立,推动了OpenVAS的发展。Greenbone的商业计划基于三个核心:

  1. 超越简单的漏洞扫描,提供全面的漏洞管理解决方案。
  2. 为企业客户创建即插即用的设备产品。
  3. 继续开源理念,创建透明的安全技术。

同样在2008年,来自印度的Secpod和加拿大的Security Space两家公司也开始活跃起来,专注于贡献漏洞测试,并与Greenbone合作,开始生产可靠和最新的漏洞测试内容。

2009年,Greenbone增加了第一个额外模块,构建了一个漏洞管理解决方案。Web界面和中央管理服务从零开始开发,并定义了通用协议作为其API。同时,OpenVAS扫描器也得到了小心改进,很快就与其祖先失去了兼容性。所有的开源工作都被品牌化为“OpenVAS”。首批“Greenbone Security Manager”设备产品于2010年春季进入市场。

从2010年至2016年,商业产品系统地改进和扩展,同时开源模块也得到了相应的改进。漏洞管理扩展到包括每日更新的安全咨询,这些咨询由德国CERTs DFN-CERT和CERT-Bund(BSI的一个部门)以GPL兼容许可证提供给公众。

2017年3月,OpenVAS框架达到了版本9。发布周期内添加了许多新模块和众多功能,开发团队每天都发布一些代码改进。2017年标志着一个新时代的开始:首先,Greenbone作为OpenVAS的推动力变得更加明显,引入了几个命名更改,最重要的是使用“Greenbone Vulnerability Management”(GVM)代替“OpenVAS框架”。自此以后,OpenVAS Scanner只是众多模块中的一个,这导致了“GVM-10”成为“OpenVAS-9”的继任者。没有改变许可证,所有模块仍然是免费和开源软件。

2017年的第二个重大变化是馈送服务。除了品牌混淆外,几家公司集成了这项技术和馈送,并将其作为自己的工作或声称是Greenbone产品的更好替代品。为了更好地提高知名度,减少误解并更好地区分其他基于OpenVAS的产品,公共馈送更名为Greenbone Community Feed,并且馈送开发被内化。此外,发布方案从14天延迟改为每日发布,无延迟,但不包括企业产品的漏洞测试。

第三个重大变化是向现代基础设施的过渡,即GitHub和社区论坛。整个过渡在2018年完成,极大地提高了生产力和社区活动。

与GVM-10一起发布的OpenVAS Scanner进行了大量性能优化,以应对日益增长的漏洞测试数量,扫描目标网络的规模和异质性不断增加的挑战。

GVM-11引入了重大架构变化:前服务openvassd被转变为命令行工具openvas。它由服务层ospd-openvas控制。这个概念本质上用新的无状态、请求-响应XML基础和通用OSP(Open Scanner Protocol)替代了旧的有状态、永久和专有的OTP(OpenVAS Transfer Protocol)。

随着GVM 20.08,版本控制改为日历版本控制。此版本中最重要的变化是随馈送一起发布和同步gvmd对象数据,包括报告格式、端口列表、策略和扫描配置。

除了删除旧功能如GMP扫描器外,21.4版本还增加了对CVSSv3.0/CVSSv3.1的支持。

Greenbone Community Edition 22.4版本增加了Notus Scanner,并删除了一些旧功能如对通用OSP扫描器的支持。

在2023年,为了允许组件的更灵活开发,决定将它们独立发布。为了表达软件兼容性,大多数组件转向了语义版本控制。

openVAS介绍

背景:

Greenbone 社区版最初是作为社区项目构建的 命名为 OpenVAS,主要由 Greenbone 开发和转发。

Greenbone 社区版的架构分为三个主要部分:

  • 运行漏洞测试 (VT) 的可执行扫描程序应用程序 目标系统

  • Greenbone 漏洞管理守护程序 (gvmd)

  • Greenbone Security Assistant (GSA) 与 Greenbone Security Assistant 守护进程 (gsad)

来源:https://greenbone.github.io/docs/latest/22.4/container/index.html

组成

  • Greenbone 漏洞管理守护程序 (gvmd)

    • [Greenbone 漏洞管理守护程序 (gvmd)] – 也称为 Greenbone 漏洞 Manager 是将普通漏洞扫描整合到 一个完整的漏洞管理解决方案。gvmd 通过 Open 控制 OpenVAS 扫描仪 扫描仪协议 (OSP)。

    • 该服务本身提供基于 XML 的 Greenbone 管理协议 (GMP)。 gvmd 还控制 SQL 数据库 (PostgreSQL),其中所有配置和扫描结果数据都位于 集中存储。此外,gvmd 还处理用户管理,包括权限 使用组和角色进行控制。最后,该服务具有内部运行时 计划任务和其他事件的系统。

  • Greenbone 安全助理 (GSA)

  • OpenVAS扫描器

  • Notus 扫描仪

    • Notus 扫描仪在每次常规扫描期间进行扫描,因此无需用户交互 必要。由于系统资源较少,它提供了更好的性能 消耗,因此,扫描速度更快。

    • Notus 扫描仪取代了所有基于 NASL 的本地 安全检查 (LSC)。主机上已安装软件与 完成已知易受攻击软件的列表,而不是运行 VT 脚本 每个 LSC。

    • 常规 OpenVAS 扫描器单独加载每个 NASL LSC 并执行它 每个主机一个接一个。然后将单个已知漏洞与 已安装的软件。对所有 LSC 重复此操作。

    • 使用 Notus Scanner,已安装的软件列表加载到相同的 方式,而是直接与所有已知的易受攻击的软件进行比较 扫描主机的操作系统。这样就无需运行 LSC,因为收集了有关已知易受攻击软件的信息 在一个列表中,而不是分布在单个 NASL 脚本中。

  • 附加软件

Greenbone、GVM、OpenVAS 

当OpenVAS项目启动时,它只包含一个用于扫描的引擎 漏洞。不久之后,Greenbone公司成立,以实现 为漏洞扫描提供专业支持。Greenbone开始领导 开发OpenVAS,添加多个软件组件,并转向OpenVAS 转化为漏洞管理解决方案,同时保持免费的价值 软件。这个漏洞管理解决方案后来被命名为 Greenbone 漏洞管理 (GVM),以反映起源和 品牌变化。因此,在 OpenVAS 9 发布后 框架,以下版本被命名为 GVM。

考虑到这一点,OpenVAS 可能意味着

  • 漏洞扫描器(OpenVAS Scanner),

  • 由多个组件组成的软件框架 (GVM) 的名称,

  • Greenbone公司领导的软件项目(Greenbone Source Edition),

  • 漏洞管理解决方案(OpenVAS 9、GVM 20.08 等)的源代码版本,或

  • 一个由用户和开发者组成的社区(Greenbone Community)

部署流程

首先安装docker、docker-compose。由于过于简单,此处不在叙述

下载用的docker compose 文件

export DOWNLOAD_DIR=nidemulu 
cd $DOWNLOAD_DIR && curl -f -L https://greenbone.github.io/docs/latest/_static/docker-compose-22.4.yml -o docker-compose.yml

拉取镜像

使用 docker compose 文件,可以下载(拉取)容器镜像 容器可以在后台启动。之前需要配置科学上网,不然无法拉取镜像

docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition pull

修改yml文件,去掉127.0.0.1来允许其它电脑访问

 gsa:
    image: greenbone/gsa:stable
    restart: on-failure
    ports:
    # - 127.0.0.1:9392:80
      - 9392:80
    volumes:
      - gvmd_socket_vol:/run/gvmd
    depends_on:
      - gvmd

启动

#直接启动
docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition up -d
#查看容器状态
docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition ps
                      Name                                     Command               State                   Ports                
----------------------------------------------------------------------------------------------------------------------------------
greenbone-community-edition_cert-bund-data_1        /bin/init.sh                     Exit 0                                       
greenbone-community-edition_configure-openvas_1     /bin/sh -c printf "table_d ...   Exit 0                                       
greenbone-community-edition_data-objects_1          /bin/init.sh                     Exit 0                                       
greenbone-community-edition_dfn-cert-data_1         /bin/init.sh                     Exit 0                                       
greenbone-community-edition_gpg-data_1              /bin/init.sh                     Exit 0                                       
greenbone-community-edition_gsa_1                   /usr/local/bin/entrypoint  ...   Up       0.0.0.0:9392->80/tcp,:::9392->80/tcp
greenbone-community-edition_gvm-tools_1             /usr/local/bin/entrypoint  ...   Exit 0                                       
greenbone-community-edition_gvmd_1                  /usr/local/bin/entrypoint  ...   Up                                           
greenbone-community-edition_notus-data_1            /bin/init.sh                     Exit 0                                       
greenbone-community-edition_openvas_1               /bin/sh -c cat /etc/openva ...   Up                                           
greenbone-community-edition_openvasd_1              /bin/sh -c /usr/local/bin/ ...   Up                                           
greenbone-community-edition_ospd-openvas_1          /usr/bin/tini -- /usr/loca ...   Up                                           
greenbone-community-edition_pg-gvm_1                /usr/local/bin/entrypoint  ...   Up                                           
greenbone-community-edition_redis-server_1          /bin/sh -c rm -f /run/redi ...   Up                                           
greenbone-community-edition_report-formats_1        /bin/init.sh                     Exit 0                                       
greenbone-community-edition_scap-data_1             /bin/init.sh                     Exit 0                                       
greenbone-community-edition_vulnerability-tests_1   /bin/init.sh                     Exit 0   

一些命令以备使用

#查看容器的实时日志
docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition logs -f
#进入特定容器
docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition exec <service_name> /bin/bash
#关闭所有容器
docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition down

启动漏洞管理

在服务启动并加载所有源数据后, Greenbone Security Assistant Web 界面 – GSA – 可以在浏览器中打开。

在浏览器中输入:http://nideIP:9392

默认用户名密码:admin:admin

需要修改密码不能在webUI上修改,通过下面命令修改。

docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition     exec -u gvmd gvmd gvmd --user=admin --new-password='nidemima'

建立任务

使用scan-tasks建立任务

查看结果

Secoinfo中提供了cve、cpe、npt的分类查看

CVE(Common Vulnerabilities and Exposures)

是一种在全球范围内识别和公布信息安全漏洞的标准方法。每个CVE标识符都提供了一个独一无二的编号,专门用于识别特定的安全漏洞。这个系统由美国的MITRE公司管理,旨在标准化对信息安全漏洞的描述,使得用户、研究者和软件供应商可以以一致的方式讨论、研究和解决这些漏洞。

CVE 的关键特点包括:

  • 唯一性:每个CVE编号对应一个具体的安全漏洞。这确保了全球范围内对特定漏洞的引用是一致的。

  • 公开访问:CVE数据库对公众开放,任何人都可以查看详细的漏洞信息,包括受影响的软件、漏洞的性质和潜在的影响。

  • 广泛采用:CVE是业界广泛接受的标准,被各种安全产品和服务用来链接漏洞管理、安全自动化和合规性报告。

CVE的主要组成部分:

  • CVE编号:这是一个唯一的标识符,通常形式为“CVE-年份-序号”,例如CVE-2024-5636。

  • 描述:对漏洞进行简要的描述,说明漏洞的性质和可能的影响。

  • 相关链接和引用:提供更深入的技术细节、补丁信息和其他相关文档的链接。

  • CVSS分数(Common Vulnerability Scoring System):一个用来量化漏洞严重性的评分系统,分数范围从0到10,越高表示越严重。

CVE的使用场景:

  • 安全评估和审计:通过检查系统中已知的CVE列表,评估潜在的安全风险。

  • 合规性检查:确保软件和系统符合特定的安全标准和法规要求。

  • 安全研究和教育:提供一个公共的知识库,用于培训和教育目的,帮助安全专家和开发者了解并防范常见的安全威胁。

  • 漏洞响应和补救:使组织可以快速识别受影响的产品并部署必要的补丁或解决方案。

NPT(网络协议测试)

NPT 是指对网络协议进行测试的过程,以确保它们的实现和操作没有安全缺陷或性能问题。网络协议测试主要关注以下几个方面:

  • 功能性测试:确保协议正常工作,符合其技术规范。

  • 安全性测试:识别和修复可能导致数据泄露、未授权访问或服务拒绝(DoS)攻击的安全漏洞。

  • 性能测试:评估网络协议在高负载和压力条件下的表现,确保网络应用的可靠性和稳定性。

CPE(通用平台枚举)

CPE 是一个结构化的标识符系统,用于在整个信息安全社区中统一地标识和分享有关软件和硬件产品的信息。CPE 由NIST(美国国家标准与技术研究院)维护,其目的是提供一种方法来标准化和跟踪信息系统中使用的所有组件。

CPE 标识符包含三个主要部分:

  1. 部件:标识产品类型(操作系统、应用程序、硬件设备等)。

  2. 供应商:标识制造或开发该产品的公司。

  3. 产品:标识特定的产品名称和版本。

例如,一个典型的 CPE 名称可以是cpe:/a:microsoft:internet_explorer:8,这表明产品是由 Microsoft 开发的 Internet Explorer 浏览器,版本是 8。

CPE 在安全漏洞管理中非常有用,因为它允许安全专业人员和系统管理员准确识别哪些具体产品受到某个漏洞的影响,并采取相应的补救措施。

补充

CVSS 基础分数和风险评级

CVSS(Common Vulnerability Scoring System,通用漏洞评分系统)是一个开放标准,用于评估计算机系统安全漏洞的严重性。评分系统从0到10分,分数越高表示漏洞的严重性越大。分数分为三个等级:

  • 低危(0.0 - 3.9分)

  • 中危(4.0 - 6.9分)

  • 高危(7.0 - 10.0分)

每个漏洞都会根据一系列标准(比如攻击复杂度、所需权限等)计算出一个基础分数。在你的例子中,CVSS 基础分数为 8.0,这表示该漏洞被评为高危,意味着它可以对受影响的系统造成严重影响。

CVSS 分数的组成

  • 攻击向量(AV):描述攻击者利用漏洞的方式,可以是本地访问(L)、相邻网络(A)或网络(N)。

  • 攻击复杂度(AC):描述攻击的难度,可以是低(L)或高(H)。

  • 所需权限(PR):攻击前需要的权限,可以是无(N)、低(L)或高(H)。

  • 用户交互(UI):是否需要用户参与来利用漏洞,可以是无(N)或有(R)。

  • 影响范围(S):漏洞是否会影响系统的其他部分,可以是未变更(U)或已变更(C)。

  • 机密性影响(C)、完整性影响(I)和可用性影响(A):这三个指标描述漏洞被利用后对系统的机密性、完整性和可用性的影响程度,可以是无(N)、低(L)或高(H)。

后记

最后,千万不要随意扫描别人的服务器。不然赶紧跑路。

  • 24
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 对 web 平台进行漏洞扫描可以使用许多工具。常用的工具包括: 1. Nessus: Nessus 是一款功能强大的安全扫描器,可用于发现 web 平台的漏洞。 2. Acunetix: Acunetix 是一款专为 web 平台设计的漏洞扫描工具,可帮助你发现 SQL 注入,跨站脚本 (XSS) 攻击等常见漏洞。 3. Burp Suite: Burp Suite 是一款流行的 web 安全测试工具,可用于模拟攻击并检测 web 平台的漏洞。 4. W3AF: W3AF 是一款开源的 web 漏洞扫描工具,可帮助你发现常见的 web 安全问题,包括 SQL 注入,跨站脚本攻击等。 除了上述工具之外,还有许多其他的 web 漏洞扫描工具可供选择,如 AppScan、WebInspect 等。选择哪种工具取决于你的需求和喜好。 ### 回答2: 对于Web平台的漏洞扫描,可以使用多种工具,以下是其中一些常用的工具: 1. Acunetix:Acunetix是一种自动Web应用程序漏洞扫描工具,可识别和修复常见的安全漏洞,如SQL注入、跨站点脚本(XSS)、跨站点请求伪造(CSRF)等。 2. Nessus:Nessus是一款功能强大的网络扫描器,具备强大的漏洞检测能力,可以进行Web应用的漏洞探测和分析。 3. Burp Suite:Burp Suite是一套用于Web应用安全测试的集成工具,包括代理服务器、漏洞扫描器、Web应用程序蜘蛛,可用于发现应用程序的安全漏洞。 4. OpenVASOpenVAS是一款开源的网络漏洞扫描器,可以检测Web平台中的各种漏洞,并提供详细的报告和建议。 5. Nikto:Nikto是一款开源的Web服务器漏洞扫描工具,主要用于扫描Web服务器上已知的安全漏洞。 这些工具在对Web平台进行漏洞扫描时各有特点和优劣,根据具体需求和情况选择合适的工具,结合手动渗透测试和安全审计,可以更全面地发现和修复Web平台上的漏洞,提高Web应用程序的安全性。 ### 回答3: 对Web平台的漏洞进行扫描可以使用一系列的工具。以下是其中一些常用的工具: 1. 基于漏洞库的扫描器:这类工具包括常见的Web应用程序漏洞库,可以自动扫描目标Web应用程序的漏洞。这些工具通过模拟攻击并分析Web应用程序的响应,来检测潜在的漏洞。例如,OWASP ZAP、Netsparker、Acunetix等。 2. 基于脚本的扫描器:这些工具使用自定义编写的脚本进行漏洞扫描。脚本可以针对特定的漏洞类型进行测试。例如,Nmap和Nessus等。 3. 手动漏洞检测工具:这些工具需要基于人工的方法来进行漏洞检测。例如,Burp Suite是一种用于手动测试Web应用程序漏洞的流行工具,它提供了截取和修改HTTP流量的能力。 4. 漏洞扫描服务:除了独立工具之外,也存在一些提供托管式漏洞扫描服务的供应商。这些服务通常提供更强大和全面的漏洞扫描功能,并且根据最新的漏洞库进行更新。一些常见的漏洞扫描服务提供商包括Tenable、Qualys和Rapid7等。 需要注意的是,漏洞扫描工具只能检测已知的漏洞,无法保证对未知的漏洞进行全面的扫描。因此,在进行漏洞扫描之后,仍然需要进行手动的审计和安全测试,以确保Web应用程序的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值