一:Nessus的介绍
1.1Nessus是什么?
Nessus号称是世界上最流行的漏洞扫描程序,该工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上遥控,进行系统的漏洞分析扫描。Nessus也是渗透测试重要工具之一
下载网址:https://www.tenable.com/downloads/nessus
1.2Nessus的特点
提供完整的电脑 漏洞扫描服务, 并随时更新其漏洞数据库。
* 不同于传统的漏洞扫描软件, Nessus 可同时在本机或远端上摇控, 进行系统的漏洞分析扫描。
* 其运作效能能随着系统的资源而自行调整。如果将主机加入更多的资源(例如加快CPU速度或增加内存大小),其效率表现可因为丰富资源而提高。
* 可自行定义 插件(Plug-in)
* NASL(Nessus Attack Scripting Language) 是由 Tenable 所开发出的语言,用来写入Nessus的 安全测试选项。
* 完整支持SSL (Secure Socket Layer)。
1.3版本
启动Nessus服务
Nessus服务安装后。默认是自己主动启动的。假设用户重新启动系统,获取进行其他操作时。将Nessus服务关闭的话。则再次訪问必需要先启动该服务。
以下将分别介绍在不同操作系统中,启动Nessus服务的方法。
1.Windows下启动Nessus服务
在Windows下启动Nessus服务的方法例如以下所看到的:
(1)打开Windows系统的服务窗体。在Windows系统的启动菜单条中单击“执行”命令,将弹出“执行”对话框,如图1.22所看到的。
**
**
图1.22 执行对话框
(2)在该对话框中输入“services.msc”,然后单击“确定”button,将打开“服务”窗体,如图1.23所看到的。
**
**
图1.23 服务窗体
(3)在该界面的名称列找到“Tenable Nessus”服务。就可以管理该服务,如停止、启动或又一次启动等。
在Windows中,也能够通过命令行停止或启动Nessus服务。比如。停止Nessus服务。运行命令例如以下所看到的:
- C:\Users\Administrator>net stop "Tenable Nessus"
- Tenable Nessus 服务正在停止.
- Tenable Nessus 服务已成功停止。
从以上输出信息中,能够看到Nessus服务已成功停止。假设启动Nessus服务,运行命令例如以下所看到的:
- C:\Users\Administrator>net start "Tenable Nessus"
- Tenable Nessus 服务正在启动 .
- Tenable Nessus 服务已经启动成功。
从以上输出信息中,能够看到Nessus服务已成功启动。
2.Linux下启动Nessus服务
在Linux下启动Nessus服务。运行命令例如以下所看到的:
- [root@Server ~]# service nessusd start
- 启动 Nessus 服务: [确定]
从以上输出信息中,能够看到Nessus服务已成功启动。
假设用户不确定该服务是否启动的话。能够使用下面命令查看其状态。例如以下所看到的:
- [root@Server ~]# service nessusd status
- nessusd (pid 5948) 正在执行...
从以上输出信息中,能够看到Nessus服务正在执行。
Nessus软件更新
为了可以使用Nessus进行一个成功的漏洞扫描。在扫描之前检查而且更新Nessus,使用最新的插件是很重要的。这样可以保证扫描到全部最新的漏洞。以下将以Windows操作系统为例,介绍更新插件的方法。
1.在线更新
【演示样例1-3】在Windows下更新Nessus中的插件。详细操作过程例如以下所看到的:
(1)登录Nessus服务。在Windows中的浏览器地址栏输入https://IP:8834/地址。将打开如图1.24所看到的的界面。
**
**
图1.24 证书不被信任
(2)在该界面选择“继续浏览此站点(不推荐)”选项。将打开如图1.25所看到的的界面。
**
**
图1.25 登录界面 图1.26 Nessus登录界面
(3)在该界面输入用于管理Nessus服务的username和password。然后。单击Sign Inbutton。
登录成功后。将显示如图1.26所看到的的界面。
(4)在该界面单击右上角后面的小三角。将会弹出一个菜单条,如图1.27所看到的。在该菜单条中,单击Settings命令,将打开设置界面。如图1.28所看到的。
**
**
图1.27 菜单条 图1.28 设置界面
(5)从该界面左側栏中,能够看到有两个子选项,即Overview(概述)和Software Update(软件更新)选项。图1.28中,显示的是Overview选项中的信息。
当中。包含Nessus版本号、连接时间、平台、近期更新时间、激活码等。假设要进行软件更新,则选择Software Update选项,将显示如图1.29所看到的的界面。
**
**
图1.29 软件更新 图1.30 手动更新软件
(6)从该界面能够看到在Automatic Updates(自己主动更新)以下有三种更新方式,各自是Update all components(更新全部组件)、Update plugins(更新插件)和Disabled(禁止更新)。用户能够选择不论什么一种更新方式。并且,Nessus还提供了一种自己定义插件更新方式。用于针对特定的主机。比如。更新IP地址为192.168.1.100主机提供的插件。则在Custom Host相应的文本框中输入地址192.168.1.100。假设用户不希望自己主动更新的话。还能够进行手动更新。在该界面单击右上角的Manual Software Update(手动更新)button,将显示如图1.30所看到的的界面。
(7)这里也提供了三种更新方式,各自是Update all components(更新全部组件)、Update plugins(更新插件)和Upload your own plugin archive(上传自己的插件文档)。用户选择想要的更新方式后。单击Continuebutton,就可以開始更新。更新完毕后。右上角(铃铛)图标处会提示更新成功,如图1.31所看到的。
**
**
图1.31 软件更新成功 图1.32 生成挑战码
2.离线更新
以上的更新方式属于在线更新。
使用这样的方式更新的话。必需要确定自己的网络一直处于正常状态。假设用户不能确认自己网络的话能够使用离线更新方式。
这样的方式不需要Nessus系统连接必须连接到互联网。以下将介绍离线更新的方式。
【演示样例1-4】以下将以Windows 7操作系统为例,介绍离线更新插件的方法。
(1)获取一个激活码。因为获取的激活码,仅仅能使用一次。所以。假设再次激活服务。须要又一次获取一个激活码。
(2)生成一个挑战码。运行命令例如以下所看到的:
- C:\Program Files\Tenable\Nessus> nessuscli.exe fetch --challenge
运行以上命令后,显示效果如图1.32所看到的。
提示:假设是在Linux系统中的话,运行命令例如以下所看到的:
- [root@localhost ~]# /opt/nessus/sbin/nessuscli fetch --challenge
(3)从上图中能够看到生成了一个激活码。接下来,就能够离线下载Nessus插件了。
当中,下载地址为https://plugins.nessus.org/v2/offline.php。在浏览器中成功訪问该地址后,将显示如图1.33所看到的的界面。
(4)在该界面的第一行文本框中输入步骤(2)中获取到的挑战码,第二行文本框中输入获取到的激活码。然后,单击Submitbutton。就可以開始下载插件。
在该界面获取到的是6.3及更新的插件。假设用户想要获取版本号为6.3之前插件的话,在单击图中箭头指的here命令,将会跳转到还有一个页面,如图1.34所看到的。
**
**
图1.33 离线下载插件 图1.34 下载旧版本号的插件
(5)该界面和图1.31显示的内容是一样的。这里相同输入生成的挑战码和激活码。就可以获取旧版本号的插件。
Nessus中用户管理
用户管理是Nessus额外提供的一种功能。在一个大型企业环境中。或使用Nessus的人比較多时,对用户进行管理是很实用的。当在这样的情况下使用Nessus扫描时,管理员能够为多个扫描用户设置不同的安全级别。
Nessus提供了两种不同的用户角色,各自是Administrator(管理员)和Standard(普通用户)。
当中,Administrator角色的用户能够訪问Nessus中的全部功能;Standard角色的用户对部分功能是受限制的,如软件更新、用户管理及高级设置等。以下将介绍对Nessus中用户管理的方法。
1.新建用户
在Nessus的设置界面选择Accounts选项卡,将显示如图1.35所看到的的界面。
**
**
图1.35 账户设置界面 图1.36 新建用户
在该界面单击右上角的New Userbutton,将打开如图1.36所看到的的界面。
在该界面输入要创建的username和password。User Role相应的文本框有两个选项。各自是Standard和System Administrator。当中。Standard选项表示创建的用户为普通用户;System Administrator选项表示创建的用户为管理员用户。然后单击Savebutton,将看到如图1.37所看到的的界面。
**
**
图1.37 用户界面 图1.38 删除用户
从该界面能够看到成功创建了名为user用户,类型为Standard。
2.删除用户
当Nessus扫描不须要某用户时,就可以将该用户删除。详细方法例如以下所看到的:
(1)打开用户设置界面,如图1.31所看到的。
(2)在该界面选择要删除的用户,然后,单击username后面的(错号)图标就可以删除用户。或者,勾选username前面的复选框。
此时,在搜索框的左側将会出现一个Deletebutton,如图1.38所看到的。然后,单击Deletebutton,将显示如图1.39所看到的的界面。
图1.39 确认删除用户 图1.40 编辑用户界面
该界面提示是否确定要删除该用户。
假设确认没问题。则单击Deletebutton,就可以成功删除该用户。
3.改动已存在用户角色
在用户界面(图1.31)中单击要改动角色的用户。就可以改变用户的角色。比如。编辑user用户。在用户界面单击user用户后。将显示如图1.40所看到的的界面。
从该界面能够看到user用户的角色为Standard。这里单击User Role相应文本框后面的小三角。就可以选择要改动角色。
比如。改动为System Administrator角色。将显示如图1.41所看到的的界面。
**
**
图1.41 改动用户角色 图1.42 改动password
此时,用户角色已成功改动。接下来。须要单击Savebutton保存设置。
否则,设置无效。
4.改动用户password
改动password也是在用户设置界面改动的。相同,单击想要改动password的用户。然后。单击左側栏中的Change Password选项卡,将显示如图1.42所看到的的界面。
在该界面输入要又一次设置的新password。然后单击Savebutton。就可以成功改动其用户password。
Nessus中通讯设置
这里的通讯设置指的是设置选项中的Communication选项卡。在该选项卡设置中,包含两个设置选项,各自是Proxy Server和SMTP Server。以下分别介绍这两种服务的设置方式。
**
**
图1.43 Proxy Server设置界面 图1.44 SMTP服务设置界面
1.Proxy服务
Proxy(代理)服务用于转发HTTP请求。假设网络组织须要时。Nessus将使用该设置实现插件更新,并与远程扫描者进行通信。以下将介绍Proxy服务的设置方法。
例如以下所看到的:
(1)在设置界面选择Communication选项卡,将显示如图1.43所看到的的界面。
从该界面能够看到,这里共同拥有五个字段。可是,仅仅有Host和Port字段是必须的。Username、Password和User-Agent三个字段是可选的。以下将分别介绍每一个字段的含义,例如以下所看到的:
q Host:代理server的主机名名或IP。
q Port:代理server连接的port号。
q Username:代理server连接的username。
q Password:代理server连接的usernamepassword。
q User-Agent:假设代理server使用指定HTTP用户代理过滤器的话,则设置该字段。
该字段主要用于自己定义用代理字符串时使用。
2. SMTP服务
SMTP(Simple Mail Transfer Protocol。简单邮件传输协议)是用于发送和接收邮件的标准。一旦配置了SMTP服务。Nessus会将扫描结果通过邮件的形式发送到“Email Notifications”选项指定的收件人。当中,SMTP服务的设置界面如图1.44所看到的。
以下将对SMTP服务设置界面的每一个字段进行具体介绍。
例如以下所看到的:
q Host:SMTP服务的主机名或IP地址。
q Port:用于连接SMTP服务的port号。
q From(sender email):发送扫描报告的邮件地址。
q Encryption:使用哪种加密方式加密邮件内容。Nessus提供了三种方式,各自是Force SSL、Force TLS和Use TLS if available。默认。不使用加密(No Encryption)。
q Hostname(for email links):Nessus服务的主机名或IP地址。
q Auth Method:SMTP服务认证方法。
Nessus提供了五种认证方法,各自是PLAIN、LOGIN、NTLM和CRAM-MD5。默认,没有使用认证方法,即NONE。
q Username:用于认证SMTP服务的username
q Password:用于认证SMTP服务用户相应的password。
提示:在SMTP服务设置界面,假设没有使用不论什么认证方法的话,将不会出现Username和Password字段