目录

1.介绍

2.Nessus简介

3. Nessus安装注册

3.1下载Nessus安装包

3.2 获取激活码

3.3 安装Nessus

3.4 激活Nessus及插件更新

3.5 添加用户

3.6 开启Nessus

3.7 启动Nessus

4. Nessus 漏洞扫描和分析

4.1 新建扫描策略

4.2 新建扫描

4.3 扫描结果分析

4.3.1分析一:linux vulnerabilities

4.3.2分析二:curl vulnerabilities

4.3.3分析三:sudo vulnerability

4.3.4分析四:cups vulnerabilities

4.3.5分析五:linux-firmware vulnerabilities

4.3.6分析六:Service Detection

4.3.7分析七:Slibxml2 vulnerabilities

4.3.8分析八:exiv2 vulnerabilities

4.3.8分析九:poppler vulnerabilities

4.3.8分析十:libxfont, libxfont1, libxfont2 vulnerabilities

4.4 漏洞解决

5. 总结

1.介绍

题目为Ubuntu操作系统漏洞扫描和分析。该实验的系统环境为Ubuntu,具体详细信息如图1所示;本次实验选择的系统漏洞扫描和分析软件是著名的Nessus软件。

接下来,将详细介绍在Ubuntu上安装、注册、激活Nessus软件以及使用Nessus软件进行漏洞扫描和分析。

图 1 Ubuntu概况

2.Nessus简介

Nessus是目前全世界最多人使用的系统漏洞扫描与分析软件。总共有超过75,000个机构使用Nessus 作为扫描该机构电脑系统的软件。

1998年, Nessus 的创办人 Renaud Deraison 展开了一项名为 “Nessus”的计划,其计划目的是希望能为因特网社群提供一个免费、威力强大、更新频繁并简易使用的远端系统安全扫描程序。经过了数年的发展, 包括 CERT 与 SANS 等著名的网络安全相关机构皆认同此工具软件的功能与可用性。

2002年时, Renaud 与 Ron Gula, Jack Huffard 创办了一个名为 Tenable Network Security 的机构。在第三版的Nessus 发布之时, 该机构收回了 Nessus 的版权与程序源代码 (原本为开放源代码), 并注册成为该机构的网站。目前,此机构位于美国马里兰州的哥伦比亚。

Nessus还是一套非常简单易用且功能强大的检测工具,在Nessus 2.x版及其以前的版本都是开放原始码,而目前3版之后的版本则已经是不再开放原始码。Nessus有以下几个主要的特点:
   1.提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。
   2.可以同时在本机或远程端口上摇控, 进行系统的漏洞扫描和分析。
   3.运作效能能随着系统的资源而自行调整。如果将主机加入更多的资源(例如加快CPU速度或增加内存大小) ,其效率表现可因为丰富资源而提高。

4. 可自行定义插件(Plug-in),完整支持SSL (Secure Socket Layer)。
    就像上面提到的,Nessus所用的弱点检测项目其实主要是用NASL(Nessus Attack Scripting Language)语言所撰写,只有一小部分是以C来撰写,所以我们可在安装完Nessus后的资料夹底下发现很多扩展名是「.nasl」的plugin档案。Nessus 还具有扫描任意端口任意服务的能力;以用户指定的格式(ASCII 文本、html 等)产生详细的输出报告,包括目标的脆弱点、怎样修补漏洞以防止黑客入侵及危险级别。

3. Nessus安装注册

3.1下载Nessus安装包

我们将在官方网站下载,下载地址如下:

https://www.tenable.com/downloads/nessus

在浏览器中访问,将出现下载界面,如图2所示。

图 2 Nessus下载界面

官网提供了Nessus工具各种平台的安装包,如Windows、Mac OS X、Linux、FreeBSD等。用户可以根据自己的操作系统,选择对应的安装包。我们选择Ubuntu 16.04对应的最新版本Nessus-7.2.1-ubuntu1110_amd64.deb。

3.2 获取激活码

下载安装包后,需要获取激活码(Nessus需要激活后才能使用),点击图2中的Get Activation Code 按钮,将会出现图3的界面。

图 3 获取激活码

我们选择免费的一栏,单击Nessus Home Free下面的Register Now按钮,将会出现图4的界面。

图 4 注册激活码

在界面内输入First Name,Last Name,Email(一定要填写可用的邮箱,用于接收Nessus为你发送的激活码),然后点击Register,将会在邮箱中收到Nessus发送的激活码7514-A11C-87B4-D863-2960,如图5所示。

图 5 激活码

3.3 安装Nessus

安装包和激活码得到之后,我们进行安装操作。打开终端,进入安装包的目录下,输入命令:sudo dpkg  -i Nessus-7.2.1-ubuntu1110_amd64.deb进行安装,如图6所示。

图 6 安装Nessus

3.4 激活Nessus及插件更新

接着在终端中输入命令:

systemctl enable nessusd.service

systemctl start nessusd.service

/opt/nessus/sbin/nessuscli fetch –register 7514-A11C-87B4-D863-2960(执行完这一行代码后,Nessus会进行插件更新下载)

Systemctl restart nessusd.service

如图7所示。

图 7 激活和更新插件

3.5 添加用户

首先,需要先获取root权限,添加root用户。在终端输入命令:sudo passwd root,然后设置root账户的用户名和密码。设置成功后输入su,使用root账户执行sudo /opt/nessus/sbin/nessuscli adduser,成功添加用户。如图8-9所示。

图8 添加用户

图 9 用户添加成功

3.6 开启Nessus

打开终端,输入命令:/etc/init.d/nessusd start 开启Nessus服务,如图10所示,开启成功。

图 10 开启Nessus

3.7 启动Nessus

在浏览器中输入:https://127.0.0.1:8834将会出现初始化界面,如图11所示。

图 11 初始化界面

如果在插件更新时,没有更新成功,初始化时将会重新下载更新;初始化完成后将会出现以下登录界面如图12。

图 12 登录界面

登录成功后,我们将会进入Nessus的主界面,如图13所示。

图 13 Nessus 主界面

4. Nessus 漏洞扫描和分析

4.1 新建扫描策略

点击Policies按钮,将会出现如图14的页面。

图 14 新建扫描策略

然后点击NewPolicy新建一个扫描策略,这里我们选择 Advance Scan,如图15的界面。

图 15 选择策略

然后出现图16所示的页面,我们填写相应的信息。

图 16 填写设置信息

然后,点击Plugins,选择我们需要的扫描插件(默认情况下所有插件全部启用),由于我们是对Ubuntu系统进行漏洞扫描,把不相关的插件disable,然后点击保存。如图17所示。

图 17 选择Plugins

4.2 新建扫描

在主界面点击New Scan 按钮进行新建扫描,这时会让用户选择扫描策略,我们选择自己保存的扫描策略,如图18所示。然后,会出现图19所示的界面。在该界面中,我们输入新建扫描的名字、描述、以及扫描ip段(这里,我们对Ubuntu主机系统进行扫描,输入主机的ip地址192.168.154.130),然后点击保存,点击launch进行扫描,将会出现图20所示界面,等待扫描结果。

图 18 自定义扫描策略

图 19 输入信息

图 20 扫描过程

4.3 扫描结果分析

扫描完成后,点击扫描任务,将会出现扫描报告单,如图21所示。

图 21 扫描结果

如图21所示,本次对ip为192.168.184.130的主机的Ubuntu系统进行漏洞扫描一共用了13分钟,发现了345个漏洞;其中红色代表严重漏洞21个,橙色代表高等漏洞150个,黄色代表中等漏洞140个,绿色代表低级漏洞,蓝色代表具体信息。

点击Vulnerablilties查看漏洞信息,如图22所示。

图 22 漏洞信息

由于系统漏洞比较多,我们将分析几个不同级别且典型的漏洞。

4.3.1分析一:linux vulnerabilities

Synopsis:

The remote Ubuntu host is missing one or more security-related patches.

远程Ubuntu主机缺失一个或多个安全补丁。

Description:

在Linux内核的TTY实现中发现了一种use-after-free的状态。本地攻击者可以使用它来公开敏感信息(内核内存)。

Linux内核的两个实施例在处理vidioc_dqbuf_octl()时没有适当地处理多个平面。本地攻击者可以使用它来导致拒绝服务(系统崩溃)或执行任意代码。

在一个挂载名称空间中,共享绑定会在不受限制的情况下添加到Linux内核的挂载表中。本地攻击者可以使用它来导致拒绝服务(系统崩溃)。

发现Linux内核中x86/x86_64的KVM实现可以取消空指针的引用。客户虚拟机中的攻击者可以使用它在KVM主机中导致拒绝服务(系统崩溃)。

发现Linux内核中通过IEEE 1394 (FireWire)实现的IP在处理碎片包时包含缓冲区溢出。远程攻击者可以使用它来执行具有管理权限的任意代码。

发现Linux内核中的TCP实现错误地处理了套接字缓冲区(skb)截断。本地攻击者可以使用它来导致拒绝服务(系统崩溃)。

发现Linux内核中的SCTP实现不正确地处理传入数据的验证。远程攻击者可以使用它来导致拒绝服务(系统崩溃)。

Solution:

更新受影响的包。

具体细节如图23所示。

图 23 漏洞分析一

4.3.2分析二:curl vulnerabilities

Synopsis:

The remote Ubuntu host is missing one or more security-related patches.

远程Ubuntu主机缺失一个或多个安全补丁。

Description:

发现curl无法正确处理某些FTP路径。攻击者可以使用它来拒绝服务,或者执行任意代码。

发现curl错误地处理了某些LDAP URL。攻击者可能使用这个问题导致拒绝服务。

Solution:

更新受影响的包。

具体细节如图24所示。

图 24 漏洞分析二

4.3.3分析三:sudo vulnerability

Synopsis:

The remote Ubuntu host is missing one or more security-related patches.

远程Ubuntu主机缺失一个或多个安全补丁。

Description:

发现Sudo在试图确定/proc/[pid]/stat的控制tty时没有正确解析其内容。在某些配置中,本地攻击者可能会使用它覆盖文件系统上的任何文件,从而绕过预期的权限。

Solution:

更新受影响的sudo和/或sudo-ldap包。

具体细节如图25所示。

图 25 漏洞分析三

4.3.4分析四:cups vulnerabilities

Synopsis:

The remote Ubuntu host is missing a security-related patch.

远程Ubuntu主机缺失一个安全补丁。

Description:

发现CUPS使用无效用户名错误地处理某些打印作业。远程攻击者可能使用这个问题导致CUPS崩溃,从而导致拒绝服务。这个问题只影响了Ubuntu 14.04 LTS, Ubuntu 17.10和Ubuntu 18.04 LTS。

发现CUPS dnssd后端错误地处理某些环境变量。本地攻击者可能使用此问题升级特权。

发现CUPS不能正确处理某些指令。本地攻击者可能使用这个问题来读取任意文件。

发现CUPS AppArmor不正确的限制dnssd后端。一个当地的攻击者可能会利用这个问题来逃脱限制。

Solution:

更新受影响的cups包。

具体细节如图26所示。

图 26 漏洞分析四

4.3.5分析五:linux-firmware vulnerabilities

Synopsis:

The remote Ubuntu host is missing a security-related patch.

远程Ubuntu主机缺少一个安全相关的补丁。

Description:

发现几个Intel WLAN设备的固件错误地处理了WPA2与WLAN上Wake的关系。远程攻击者可以使用此问题进行关键的重新安装攻击,以获取敏感信息。

Solution:

更新受影响的linux-firmware包。

具体细节如图27所示。

图 27 漏洞分析五

4.3.6分析六:Service Detection

Synopsis:

The remote service could be identified.

可以识别远程服务。

Description:

Nessus能够通过其横幅或通过查看接收到HTTP请求时发送的错误消息来识别远程服务。

Solution:

n/a

具体细节如图28所示。

图 28 漏洞分析六

4.3.7分析七:Slibxml2 vulnerabilities

Synopsis:

The remote Ubuntu host is missing a security-related patch.

远程Ubuntu主机缺少一个安全相关的补丁。

Description:

发现libxml2错误地处理了格式字符串。如果一个用户或自动化系统被骗打开了一个特别制作的文档,攻击者可能会导致libxml2崩溃,导致拒绝服务。

发现libxml2错误地处理某些格式不正确的文档。如果一个用户或自动化系统被骗打开了一个特别制作的文档,攻击者可能会导致libxml2崩溃,导致拒绝服务,或者执行任意代码。

发现libxml2错误地处理了某些格式不正确的文档。如果一个用户或自动化系统被骗打开了一个特别制作的文档,攻击者可能会导致libxml2崩溃,导致拒绝服务,或者执行任意代码。

Solution:

更新受影响的libxml2包。

具体细节如图29所示。

图 29 漏洞分析七

4.3.8分析八:exiv2 vulnerabilities

Synopsis:

The remote Ubuntu host is missing a security-related patch.

远程Ubuntu主机丢失了一个或多个安全相关补丁。

Description:

发现Exiv2错误地处理了一些文件。攻击者可能会使用此命令导致拒绝服务。

发现Exiv2错误地处理了一些PNG文件。攻击者可能会使用它来访问敏感信息。

发现Exiv2错误地处理了一些文件。攻击者可以使用它来执行任意代码。

发现Exiv2错误地处理了一些文件。攻击者可能会使用它来访问敏感信息。

Solution:

更新受影响的exiv2、libexiv2-12和/或libexiv2-14包。

具体细节如图30所示。

图 30 漏洞分析八

4.3.8分析九:poppler vulnerabilities

Synopsis:

The remote Ubuntu host is missing a security-related patch.

远程Ubuntu主机丢失了一个或多个安全相关补丁。

Description:

发现poppler错误地处理了JPEG 2000图像。如果用户或自动化系统被骗打开了一个精心制作的PDF文件,攻击者可能会导致拒绝服务,或者可能使用调用程序的用户的特权执行任意代码。

发现poppler pdfunite工具错误地解析了某些格式不正确的PDF文档。如果用户或自动化系统被骗打开了一个精心制作的PDF文件,攻击者可能会导致poppler崩溃,导致拒绝服务。

发现poppler pdfunite工具错误地解析了某些格式不正确的PDF文档。如果用户或自动化系统被骗打开了一个精心制作的PDF文件,攻击者可能导致poppler挂起,导致拒绝服务。

发现poppler在处理PDF文档时错误地处理了内存。如果用户或自动化系统被骗打开了一个精心制作的PDF文件,攻击者可能会导致poppler消耗资源,导致拒绝服务。

Solution:

更新受影响的包。

具体细节如图31所示。

图 31 漏洞分析九

4.3.8分析十:libxfont, libxfont1, libxfont2 vulnerabilities

Synopsis:

The remote Ubuntu host is missing a security-related patch.

远程Ubuntu主机丢失了一个或多个安全相关补丁。

Description:

发现libXfont在PatternMatch中错误地处理了某些模式。本地攻击者可以使用这个问题导致libXfont崩溃,导致拒绝服务,或者可能获得敏感信息。

发现libXfont错误地处理某些格式不正确的PCF文件。本地攻击者可以使用这个问题导致libXfont崩溃,导致拒绝服务,或者可能获得敏感信息。

Solution:

更新受影响的libxfont1和/或libxfont2包。

具体细节如图32所示。

图 32 漏洞分析十

4.4 漏洞解决

对所有的漏洞进行分析可知,出现这么多的漏洞是因为没有对Linux内核进行更新和加固;于是,我们进行Linux内核更新。

打开终端,输入命令:sudo dpkg –configure –a

sudo apt update

sudo apt dist-upgrade

如图33-35所示,对linux进行加固更新。

图 33 更新加固1

图 34 更新加固2

图 35 更新加固3

最后,把安装包下载后,进行自动更新,更新后,我们再打开Nessus对本机的Ubuntu系统进行扫描,扫描结果如图36所示。

图 36 扫描结果2

我们可以从图中看出,之前的300多个漏洞都已解决,只剩下一些不太重要的警告信息。

5. 总结

本次实验的课题是Ubuntu操作系统漏洞扫描与分析。本文把Nessus的安装、注册、扫描、解决等做了详细的介绍。

Ubuntu操作系统漏洞扫描和分析相关推荐

  1. 漏洞扫描的原理与设计

    漏洞扫描工具原理与实践 1.当前存在的安全问题 随着计算机网络技术的迅猛发展,计算机网络向世界各个角落延伸,人们生活与计算机网络越来越密不可分.政府.企业等单位都纷纷建立网站,建立企业内部网Intra ...

  2. 攻击篇--网络扫描(三)漏洞扫描

    CVE 如果将每个人写的漏洞模块集中在一起,可以提高工作的效率.在这种情况下,出现了一个可以为大家所接受的漏洞行业标准,通用漏洞披露(CVE)是一本字典,为广泛认同的信息安全漏洞或者已经暴露出来的弱点 ...

  3. [漏洞扫描] Nessus,OpenVAS 漏洞扫描工具进行多维度的对比分析

    产品亮点: Nessus: 业内误报率最低,Six-sigma精度 130000个不同的插件 在发现新漏洞24小时内发布插件 可以检测超过50,000个常见漏洞和暴露(CVE) OpenVAS: 开源 ...

  4. OWASP ZAP 扫描漏洞误报分析

    问题场景: 一次测试中对某个路由器使用owasp zap安全扫描软件扫描web漏洞,发现该网关设备存在跨站点dom脚本漏洞和shell注入多个漏洞. 问题分析: 因为该路由器设备已经经过多次安全问题修 ...

  5. 网络与信息安全实验总结(报文监听与分析,漏洞扫描,逆向工程,安全产品)

    本文所有相关资源打包链接(题目+软件+实现+报告):https://download.csdn.net/download/qq_39932172/11393753 4个实验Word文档: 报文监听与分 ...

  6. 常见的Web漏洞扫描分析工具

    常见的Web漏洞扫描分析工具: (1)Acunetix Web Vulnerability Scanner(简称awvs) 是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,监测流行安全漏 ...

  7. 安全扫描失败无法上传_Apache Solr 未授权上传(RCE)漏洞的原理分析与验证

    漏洞简介 Apache Solr 发布公告,旧版本的ConfigSet API 中存在未授权上传漏洞风险,被利用可能导致 RCE (远程代码执行). 受影响的版本: Apache Solr6.6.0 ...

  8. ossim监控mysql_基于OSSIM平台的漏洞扫描详解

    Ossim 中漏洞扫描详解 Openvas是一套开源漏洞扫描系统,如果手动搭建需要复杂的过程,花费不少人力和时间成本,因为它是套免费的漏洞扫描系统,功能上不逊色于商业版的漏洞扫描器,受到不少用户的青睐 ...

  9. 开源5款工具漏洞扫描,打包带走吧!

    漏洞扫描是一种安全检测行为,更是一类重要的网络安全技术,它能够有效提高网络的安全性,而且漏洞扫描属于主动的防范措施,可以很好地避免黑客攻击行为,做到防患于未然.那么好用的漏洞扫描工具有哪些? 答案就在 ...

最新文章

  1. 空间点像素索引(二)
  2. 测试报告-1.1组成和要点
  3. mysql server uuids_slave have equal MySQL Server UUIDs原因及解决
  4. 云端研发新基建:Serverless与持续架构服务落地实践
  5. Python装饰器(二)
  6. 大数据总结微信自媒体运营
  7. POI--HSSFCellStyle类
  8. static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?...
  9. matplotlib 可视化 —— matplotlib.patches
  10. SSM整合(二)(mybatis逆向工程)
  11. Python调用海康威视网络相机_调用海康SDK
  12. Unity 世界坐标、屏幕坐标、UGUI 坐标 相互转换
  13. 删除android电视软件下载,【教程】无需root!卸载小米电视/盒子内置应用竟如此简单...
  14. Brute-Force模式匹配算法
  15. 叉叉助手开发环境安卓版_按键精灵安卓版零基础系列教程基础环境知识讲解
  16. Eclipse版本号及各个版本区别
  17. 树的数据结构代码_如何以无代码方式学习树数据结构
  18. java程序员具体是做什么的?我来分享一天的工作内容
  19. ilitek win10 触摸屏驱动_德国布拉本达(Brabender)触摸屏维修常见故障_触摸屏维修吧...
  20. 高德地图去除下面的logo和copyright

热门文章

  1. SOEM-Ethercat源代码解析一(数据类型定义)
  2. 【智能制造】MES在工业4.0标准下的规范和功能
  3. 渗透测试之---xss-labs闯关【1-14关】
  4. 计算机二级公共基础知识
  5. obs直播画面 清晰+流程 设置
  6. HTML圆和圆角柜形的制作,圆角柜是典型的明式家具,详细解析圆角柜的智慧法则...
  7. 趋势检验方法(一)直线方程拟合
  8. java base是什么文件_JavaBase 面向对象
  9. leetcode简单之613.直线上的最近距离
  10. 如何修改Linux的锁屏时间,调整Kali Linux的锁屏时间