漏洞扫描

发现漏洞

  • 给予端口服务扫描结果版本信息(速度慢)
  • 搜索已公开的漏洞数据库(数量大)
  • 使用弱点扫描器实现漏洞管理

漏洞网站

  • https://www.exploit-db.com/

kali内置漏洞数据库

  • 存放目录:/usr/share/exploitdb/exploits/
  • 通过平台进行区分
# 后跟搜索内容
searchsploit tomcat

《漏洞扫描》

从信息的维度定义漏洞管理

信息收集

  • 扫描发现网络IP、OS、服务、配置、漏洞
  • 能力需求:定义扫描方式内容和目标

信息管理

  • 格式化信息,并进行筛选、分组、定义优先级
  • 能力需求:资产分组、指定所有者、向所有者报告漏洞

信息输出

  • 向不同层级的人群展示足够的信息量
  • 能力需求:生成报告、导出数据、与SIEM集成

弱点扫描类型

主动扫描

  • 有身份验证
  • 无身份验证

被动扫描

  • 镜像端口抓包
  • 其他来源输入

基于Agent的扫描

  • 支持平台有限

漏洞基本概念

CVSS(Common Vulnerability Scoring System)

  • 通用漏洞评分系统(由下面三个组成)【工业标准】
  • Basic Metric:基础的恒定不变的弱点权重
  • Temporal Metric:依赖时间因素的弱点权重
  • Enviromental Metric:利用弱点的环境要求和实施难度的权重
  • 分数从0-10(0低10高)
  • 不同机构按CVSS分值定义威胁的中、高、低威胁等级(威胁等级表示弱点风险对企业的影响程度)
    《漏洞扫描》

CVE( Common Vulnerabilities and Exposures )

  • 已公开的信息安全漏洞字典,统一的漏洞编号标准
  • MITRE公司负责维护(非盈利机构)
  • 扫描器的大部分扫描项都对应一个CVE编号
  • 实现不同厂商之间信息交换的统一标准

CVE发布流程

  • 发现漏洞
  • CAN负责指定CVE ID
  • 发布到CVE List —— CVE-2008-4250
  • MITRE负责对内容进行编辑维护

很多厂商维护自己的漏洞库

  • MS(微软漏洞)
  • MSKB(微软补丁)

OVAL(Open Vulnerability and Assessment Language)

  • 描述漏洞检测方法的机器可识别语言
  • 详细的描述漏洞检测的技术细节,可导入自动化检测工具中实施漏洞检测工作
  • OVAL使用XML语言描述,包含了严密的语法逻辑

CCE

  • 描述软件配置缺陷的一种标准化格式
  • 在信息安全风险评估中,配置缺陷的检测是一项重要内容,使用CCE可以让配置缺陷以标准的方式展现出来,便于配置缺陷评估的可量化操作。

CPE(Common Product Enumeration)

  • 信息技术产品、系统、软件包的结构化命名规范,分类命名

CWE(Common Weakness Enumeration)

  • 常见漏洞类型的字典,描述不同类型漏洞的特征(访问控制、信息泄露、拒绝服务)

SCAP (Security Content Automation Protocol)

  • SCAP 是一个集合了多种安全标准框架
  • 六个元素:CVE、OVAL、CCE、CPE、 CVSS、XCCDF
  • 目的是以标准的方法展示和操作安全数据
  • 由NIST负责维护
  • SCAP是当前美国比较成熟的一套信息安全评估标准体系,其标准化、自动化的思想对信息安全行业产生了深远的影响

SCAP主要解决三个问题

  • 实现高层政策法规等到底层实施的落地(如FISMA,ISO27000系列)
  • 将信息安全所涉及的各个要素标准化(如统一漏洞的命名及严重性度量)
  • 将复杂的系统配置核查工作自动化

NVD(National Vulnerability Database)

  • 美国政府的漏洞管理标准数据
  • 完全基于SCAP框架
  • 实现自动化漏洞管理、安全测量、合规要求
  • 包含以下库:
    1. 安全检查列表
    2. 软件安全漏洞
    3. 配置错误
    4. 产品名称
    5. 影响度量
  • 网址:https://nvd.nist.gov/

漏洞管理

  • 周期性扫描跟踪漏洞
  • 高危漏洞优先处理
  • 扫描注意事项
  • 漏洞管理三要素
    1. 准确性
    2. 时间
    3. 资源

NMAP扫描器

nmap脚本存放位置:/usr/share/nmap/scripts

# filename为 脚本名称,categories为 脚本分类
# categories为exploit,表明可以进行漏洞利用
# categories为vuln,表明这存在弱点
# 查看脚本文件及其分类
less script.db
# 查看脚本文件中包含vuln的内容
less script.db | grep vuln

《漏洞扫描》

smb-vuln-ms10-061.nse

  • Stuxnet蠕虫利用的4个漏洞之一(其中有震网病毒)
  • Print Spooler权限不当,打印请求可在系统目录可创建文件、执行任意代码
  • LANMAN API枚举共享打印机(如果未开放API,将会判断不存在漏洞)【不同扫描器判断条件不同】
  • smb-enum-shares枚举共享
    • 当未发现共享打印机的名称,将使用脚本枚举共享打印机的名称
    • 身份认证参数——smbuser、smbpassword
    • nmap -p445 –script=smb-enum-shares.nse –script-args=smbuser=admin,smbpassword=pass 1.1.1.1

脚本利用

cat smb-vuln-ms10-061.nse

脚本使用
《漏洞扫描》
脚本扫描端口
《漏洞扫描》
脚本扫描结果
《漏洞扫描》

GVM扫描器

  • 前身openvas
  • Nessus项目分支
  • 管理目标系统的漏洞
  • 免费开源
  • Kali默认安装,但未配置和启动
  • 默认使用9390(管理端口),9391(扫描器端口),9392端口(web登录端口,https)
# 安装gvm
apt-get install gvm -y
# 配置gvm,更新NVT
gvm-setup
 # 检查安装结果
 gvm-check-setup
 # 如果出错,gvm会提供方向性的解决方法
 gvm-check-setup | grep FIX
 # 查看当前账号
 gvmmd --list-users
 # x修改账号密码
 gvmmd --user=admin --new-password=111111
# 升级
gvm-feed-update
# 启动gvm(不会开机自启)
gvm-start

gvm软件架构

gvm Manager

  • 控制scanner和其他manager的中心组件
  • 控制中心数据库,保存用户配置及扫描结果
  • 客户端使用基于XML的无状态OMP协议与其通信
  • 集中排序筛选,使客户端获得一致展现

gvm Scanner

  • 具体执行Network Vulnerability Tests (NVTs)
  • NVTs 每天通过 Feed 更新
  • 受 Manager 控制

gvm Scanner

  • 可以统一管理多个scanner
  • 将一组 scanner 作为一个对象交给manager管理

Greenbone Security Assistant (GSA)

  • 提供 Web service

gvm CLI

  • omp 命令行工具,可实现批处理控制 manager

《漏洞扫描》

使用GVM进行扫描

扫描windows xp系统

  1. 对GVM的扫描器进行配置

    configuration——scan configs
    

    《漏洞扫描》

    # 添加新的扫描配置
    

    《漏洞扫描》

    # 编辑刚刚创建扫描配置
    

    《漏洞扫描》

    # 选择与windows相关的扫描模块
    # 不止图中这些
    

    《漏洞扫描》

    # 在其他扫描器配置上克隆一个,进行修改
    

    《漏洞扫描》

  2. 设定扫描目标

    configuration——target——添加目标
    

    《漏洞扫描》

  3. 创建扫描任务

    # 创建扫描周期
    configuration——Schedules——创建新的扫描周期
    

    《漏洞扫描》

    # Scan——Tasks——创建新的扫描任务
    

    《漏洞扫描》

  4. 进行扫描

    # 点击开始,进行扫描
    

    《漏洞扫描》

  5. 扫描结果
    《漏洞扫描》

允许远程登陆

# 将127.0.0.1换成0.0.0.0
vim /lib/systemd/system/greenbone-security-assistant.service
# 重新启动gvm
gvm-stop
gvm-start

《漏洞扫描》

NESSUS扫描器

  • 免费版的扫描能力与专业版相同(管理能力不同)

安装nessus

  1. 去官网下载

    官网地址:https://www.tenable.com/downloads/nessus
    
  2. 安装

    dpkg -i 	Nessus-8.13.1-debian6_amd64.deb
    
  3. 启动nessus

    /bin/systemctl start nessusd.service
    
  4. 登录网页版

    https://IP:8834/
    

    《漏洞扫描》

  5. 进入nessus

    # 此处需要激活码,需要先去官网注册一个账号,激活码会发送到邮箱中	
    

使用nessus进行扫描

  1. 创建新策略,选择高级扫描
    《漏洞扫描》

  2. 创建策略
    此处策略类似gvm的扫描配置

    1. 基础设置,设置策略名称与扫描目标主机IP
      《漏洞扫描》

    2. 主机发现设置
      不测试本机
      《漏洞扫描》

    3. 端口扫描设置

      《漏洞扫描》

    4. 服务发现
      《漏洞扫描》

    5. credentials设置
      可在此处添加已知的服务的账号密码信息(如windows的登陆账号和密码,便于nessus登陆系统进行扫描)
      《漏洞扫描》

    6. 插件设置(关键)
      需要的点击即可
      《漏洞扫描》

    7. 新建扫描
      选择刚刚创建的策略
      《漏洞扫描》

    8. 添加扫描目标
      《漏洞扫描》

    9. 设置邮箱地址
      需要配置STMP服务器
      《漏洞扫描》

    10. 运行扫描
      《漏洞扫描》

    11. 扫描结果
      《漏洞扫描》

    原文作者:守夜之光
    原文地址: https://blog.csdn.net/qq_37456166/article/details/113989975
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞