Ubuntu操作系统漏洞扫描和分析

目录

1. 介绍.................................................................................................................. 1

2. Nessus简介............................................................................................................... 1

3. Nessus安装注册...................................................................................................... 2

3.1下载Nessus安装包........................................................................................ 2

3.2获取激活码...................................................................................................... 3

3.3安装Nessus..................................................................................................... 4

3.4激活Nessus及插件更新................................................................................ 4

3.5添加用户.......................................................................................................... 5

3.6开启Nessus..................................................................................................... 6

3.7启动Nessus..................................................................................................... 6

4. Nessus漏洞扫描和分析......................................................................................... 8

4.1新建扫描策略.................................................................................................. 8

4.2新建扫描........................................................................................................ 10

4.3扫描结果分析................................................................................................ 11

4.3.1分析一................................................................................................. 12

4.3.2分析二................................................................................................. 13

4.3.3分析三................................................................................................. 14

4.3.4分析四................................................................................................. 15

4.3.5分析五................................................................................................. 16

4.3.6分析六................................................................................................. 17

4.3.6分析七................................................................................................. 18

4.3.6分析八................................................................................................. 19

4.3.6分析九................................................................................................. 20

4.3.6分析十................................................................................................. 21

4.4漏洞解决........................................................................................................ 22

5. 总结........................................................................................................................ 25

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的安装、注册、扫描、解决等做了详细的介绍。

猜你喜欢

转载自blog.csdn.net/lph188/article/details/84260737
今日推荐