Nessus基础知识、基本配置及应用过程,附高级扫描配置过程

Nessus基础知识

Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。

Nessus不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上遥控,进行系统的漏洞分析扫描。

对应渗透测试人员来说,Nessus是必不可少的工具之一。所以,本章将介绍Nessus工具的基础知识。

Nessus特点:

提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。
不同于传统的漏洞扫描软件。Nessus可同时在本机或远程控制,进行系统的漏洞分析扫描。
其运作效能随着系统的资源而自行调整。如果将主机配置更多的资源(如加快CPU速度或增加内存大小),其效率表现可因为丰富资源而提高。
可自行定义插件。 NASL(Nessus Attack Scripting Language)是由Tenable所发出的语言,用来写入Nessus的安全测试选项。 完全支持SSL(Secure Socket Layer)。

安装Nessus

1.获取Nessus安装包

Nessus的官方下载地址是:

http://www.tenable.com/products/nessus/select-your-operating-system

从该界面可以看到Nessus有两个版本,分别是Home(家庭版)和Professional(专业版)。区别在于后者收费。对于大部分人来说,家庭版的功能都可以满足。

例如,下载Windows 64位架构的包,则单击Nessus-6.3.7-x64.msi。

**此后,还获取**码才能使用。**如果要**Nessus服务,则需要到官网获取一个**码。下面将介绍获取**码的方法。具体操作步骤如下所示:

(1)在浏览器中输入以下地址:

http://www.nessus.org/products/nessus/nessus-plugins/obtain-an-activation-code

成功访问以上链接后,将打开如图1.4所示的界面。

(2)在该界面单击Nessus Home Free下面的Register Now按钮,将显示如图1.5所示的界面。

(3)在该界面填写一些信息,为了获取**码。在该界面First Name和Last Name文本框中,用户可以任意填写。但是,Email下的文本框必须填写一个合法的邮件地址,用来获取邮件。当以上信息设置完成后,单击Register按钮。接下来,将会在注册的邮箱中收到一份关于Nessus的邮件。进入邮箱打开收到的邮件,将会看到一串数字,类似XXXX-XXXX-XXXX-XXXX,即**码。

(4)当成功安装Nessus工具后,就可以使用以上获取到的**码来**该服务了。

安装没什么可说的,接下来是简单配置。

单击Finish按钮,退出安装向导界面,将自动在网页中打开继续配置界面。该界面提示访问Nessus服务需要通过SSL协议,在该界面点击clicking here链接。

该界面提示证书存在错误,是因为该站点使用了不受信任的自签名的SSL证书。如果确认该站点没问题,则单击“继续浏览此网站”选项,将显示如图1.13所示的界面。

(9)该界面显示了Nessus工具的欢迎信息。此时,单击Continue按钮,将显示如图1.14所示的界面。

(10)该界面用来创建一个帐号,用户管理Nessus服务。这里创建一个名为admin的用户,并为该用户设置一个密码。设置完成后,单击Continue按钮,将显示如图1.15所示的界面。

安装不再赘叙,可参考:
1、https://blog.****.net/ciqihui0949/article/details/100351890

2、https://blog.****.net/sinat_23957257/article/details/82886368?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

3、https://blog.****.net/weixin_40586270/article/details/81502667?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

基本扫描过程

1、首先需要先"制定策略",然后在这个策略的基础上建立"扫描任务",然后执行任务。我们先建立一个policy。

2、点击“New Policy”之后,就会出现很多种扫描策略,这里我们选择"Advanced Scan"(高级扫描):
Nessus基础知识、基本配置及应用过程,附高级扫描配置过程
3、接下来配置策略细节——

Permissions是权限管理,是否可以准许其他的nessus用户来使用你这个策略;
Discovery里面有主机发现、端口扫描和服务发现等功能;
assessment里面有对于暴力**的一些设定;
Report里面是报告的一些设定;

Advanced里面是一些超时、每秒扫描多少项等基础设定,一般来说这里默认就好。

我们主要来看看那个“plugins”。Plugins里面就是具体的策略,里面有父策略,具体的父策略下面还有子策略,把这些策略制定得体的话,使用者可以更加有针对性的进行扫描。

制定一个任务。在主界面里选择“My Scans”,点击“New Scans”,这个时候还是有很多个图标,但是我们选择后面的“User defined”,如图:
Nessus基础知识、基本配置及应用过程,附高级扫描配置过程
点击Test之后,就要给这个依赖Test策略的任务起名字以及需要扫描的网络段或IP,我这里测试的是本机地址,也可以填其他目的地址。

Save之后开始扫描,扫描完毕之后,我们就会看到一个结果反馈。

更多扫描系统类型的漏洞例子可查看博客:

https://www.cnblogs.com/youcanch/articles/5671238.html

http://www.freebuf.com/column/144167.html

参考文章:http://blog.51cto.com/chenx1242/1975305

实例:
1、高级登录扫描:https://www.freebuf.com/column/144167.html

以下整理上述连接的文字————

先建立扫描任务,在点击New Scan 后 选择Advanced Scan进入高级配置。

在高级配置中会看到除了Credentials(登录扫描)还多了两项Compliance(合规性检测)和Plugins(扫描插件)配置。

由于其他配置与基础扫描时一致的所以,现在重点介绍下高级扫描的DISCOVERY,ASSESSMENT,Credentials首先是DISCOVERY,这个栏目包含Host Discovery(主机发现),Port Scanning(端口发现),Service Discovery(服务发现)。

主机发现中一般要开启Ping功能,其他的需要按照需求进行配置,比较全面的扫描建议勾选Ping Methods中UDP选项,会降低效率,和准确性,由于日常资产收集只对服务器进行资产统计,不对网络设备和打印机等进行统计,所以Fragile Devices中的内容不进行设置。

在Settings / Discovery / Port Scanning中进行资产信息收集时,将Port scan range:设置为1-65535进行全端口的扫描。

NESSUS支持进行登录扫描,登录扫描可以使用netstat获取端口信息所以需要将Local Port Enumerators中的SSH(netstat),WMI(netstat),SNMP以及Only run network port scanners if local port enumeration failed进行勾选。

Network Port Scanners中可以配置扫描的方式,默认是SYN半开扫描,勾选Override automatic firewall detection会自动进行防火墙探测,选择Use soft detection(松散的探测方式),提高扫描效率的同时也进行防火墙探测。

在Settings / discovery / Service Discovery可以设置端口服务探测,SSL/TLS服务探测,勾选Probe all ports to find services,对所有端口上运行的服务进行探测,开启Search for SSL/TLS services对SSL/TLS服务进行探测,并且Search for SSL/TLS on应选择All port,此项主要是为了避免使用了端口映射,导致常规端口与服务对应信息发生改变,所以建议对全端口进行SSL/TLS的探测,其他选项可以根据实际情况进行配置。

接下来是assessment(安全评估)在Settings / assessment / General中有如下的配置项,通常在日常使用中均不需要配置,下图对这些配置进行简要的说明。

在Settings / Assessment / Brute Force中有如下的配置项,其中Only use credentials provided by the user是需要勾选的,勾选此项可以避免账号锁定的风险。

在Settings / assessment / Web Applications,可以对Web应用进行测试,需要对扫描选项进行配置,可以参考如下的配置项,当然也可以根据实际需求进行配置,这个Web 应用扫描还是蛮灵活的。

在Settings / Assessment / Windows可设置获取SMB域信息,枚举与用户和本地用户,通常使用默认即可。

在Settings / assessment / Malware中可以配置恶意软件的扫描。

最后是Credentials(认证)设置登录扫描,登录扫描肯定会比不登录扫描的结果更为准确。

下面以Windows为例,在windows 虚拟机上开启3389远程连接服务,在Credentials中选择host-Windows,然后输入用户名,密码以及主机名(或IP),其他选项使用默认即可,然后点击save保存。

按照如上的设置方式配好策略,并设置好目标地址,点击launch进行扫描。

扫描结束后从报告中可以看到,登录后扫描结果更加详细,发现的漏洞更多了,这个就是登录扫描与未登录扫描的效果对比,图1是未登录的扫描,图2是登录后的扫描,差异还是很明显的。

注意:当然通常情况下是不建议对已上线系统进行登录扫描的,因为登录扫描可能会影响正常业务,所以应该要在系统部署上线前,使用NESSUS进行一次全面的登录扫描,发现主机和应用服务的漏洞,并及时修复。