Kali Linux 渗透测试:漏洞扫描
一次性付费进群,长期免费索取教程,没有付费教程。
教程列表见微信公众号底部菜单
进微信群回复公众号:微信群;QQ群:460500587
微信公众号:计算机与网络安全
ID:Computer-network
漏洞扫描器是一种能够自动在计算机、信息系统、网络及应用软件中寻找和发现安全弱点的程序。它通过网络对目标系统进行探测,向目标系统发送数据,并将反馈数据与自带的漏洞特征库进行匹配,进而列举目标系统上存在的安全漏洞。漏洞扫描是保证系统和网络安全必不可少的手段,面对互联网入侵,如果用户能够根据具体的应用环境,尽可能早的通过网络扫描来发现安全漏洞,并及时采取适当的处理措施进行修补,就可以有效地阻止入侵事件的发生。由于该工作相对枯燥,所以我们可以借助一些便捷的工具来实施,如Nessus和OpenVAS。本文详细讲解这两个工具的使用。
一、Nessus
Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上遥控,进行系统的漏洞分析扫描。Nessus也是渗透测试重要工具之一。
1、安装和配置Nessus
为了定位在目标系统上的漏洞,Nessus依赖feeds的格式实现漏洞检查。Nessus官网提供了两种版本:家庭版和专业版。
● 家庭版:家庭版是供非商业性或个人使用。家庭版比较适合个人使用,可以用于非专业的环境。
● 专业版:专业版是供商业性使用。它包括支持或附加功能,如无线并发连接等。
下面使用Nessus的家庭版来介绍它的安装。具体操作步骤如下所示。
1)下载 Nessus 软件包。Nessus 的官方下载地址是 http://www.tenable.com/products/nessus/select-your-operating-system。在浏览器中输入该地址,将显示如图1所示的界面。
图1 Nessus下载界面
2)在该界面的 Download Nessus 下,选择Linux版本Nessus安装包,如图2所示。
图2 选择下载Linux系统的Nessus
3)单击所选择的Nessus安装包后,将显示如图3所示的界面。
图3 接收许可证
4)在该界面单击Agree按钮,将开始下载。然后将下载安装包,保存到自己想要保存的位置。
5)下载完Nessus软件包,就可以安装该工具。Nessus 默认将被安装在/opt/nessus目录中。
6)启动Nessus。执行命令如下所示:
从输出的信息中可以看到Nessus服务已经启动。
7)使用 Nessus 之前,必须有一个注册码。激活Nessus。执行命令如下所示:
8)为Nessus创建一个用户。执行命令如下所示:
9)登录Nessus。在浏览器中输入地址https://主机IP:8834或https://主机名:8834。
通过以上步骤的介绍,Nessus就配置好了,现在就可以使用Nessus扫描各种的漏洞。使用Nessus扫描漏洞之前需要新建扫描策略和扫描任务,为了后面能顺利的扫描各种漏洞,接下来介绍新建策略和扫描任务的方法。
(1)添加策略
添加策略的具体操作步骤如下所示。
1)登录Nessus。Nessus是一个安全链接,所以需要添加信任后才允许登录。在浏览器地址栏中输入https://192.168.41.234:8834/,将显示如图4所示的界面。
图4 连接不被信任
2)在该界面单击I Understand the Risks按钮,将显示如图5所示的界面。
图5 了解风险
3)该界面显示了所存在的风险,单击 Add Exception 按钮,将显示如图6所示的界面。
图6 添加安全例外
4)在该界面单击Confirm Security Exception按钮,将显示如图7所示的界面。
图7 Nessus登录界面
5)在该界面输入创建的用户名和密码,然后单击Sign In按钮,将显示如图8所示的界面。
图8 Nessus主界面
6)在该界面使用鼠标切换到Policies选项卡上,将显示如图9所示的界面。
图9 策略界面
7)在该界面单击New Policy按钮,将显示如图10所示的界面。
图10 策略向导
8)该界面选择创建策略类型。Nessus 默认支持10种策略类型,在策略类型上有绿色条的表示订阅。这里选择Advanced Policy类型,单击该图标后,将显示如图11所示的界面。
图11 新建策略
9)在该界面设置策略名、可见性和描述信息(可选项)。这里设置策略名为 Local VulnerabilityAssessment、可见性为private。然后单击左侧的Plugins标签,将显示如图12所示的界面。在图11中Visibility有两个选项。
● private:仅自己能使用该策略扫描。
● shared:其他用户也能使用该策略扫描。
图12 插件程序
10)该界面显示了所有插件程序,默认全部是启动的。在该界面可以单击Disable All按钮,禁用所有启动的插件程序。然后指定需要启动的插件程序,如启动 Debian Local Security Checks和Default Unix Accounts插件程序,启动后如图13所示。
图13 启动的插件程序
11)在该界面单击Save按钮,将显示如图14所示的界面。
图14 新建的策略
12)从该界面可以看到新建的策略Local Vulnerability Assessment,表示该策略已创建成功。
(2)新建扫描任务
策略创建成功后,必须要新建扫描任务才能实现漏洞扫描。下面介绍新建扫描任务的具体操作步骤。
1)在图14中,将鼠标切换到Scans选项卡上,将显示如图15所示的界面。
图15 扫描任务界面
2)从该界面可以看到当前没有任何扫描任务,所以需要添加扫描任务后才能扫描。在该界面单击New Scan按钮,将显示如图16所示。
图16 新建扫描任务
3)在该界面设置扫描任务名称、使用策略、文件夹和扫描的目标。这里分别设置为Sample Scan、Local Vulnerability Assessment(前面新建的策略)、My Scans 和192.168.41.0/24。然后单击Launch按钮,将显示如图17所示的界面。
图17 运行扫描任务
4)从该界面可以看到扫描任务的状态为 Running(正在运行),表示 Sample Scan扫描任务添加成功。如果想要停止扫描,可以单击
2、扫描本地漏洞
下面列出扫描本地漏洞所需添加的插件程序及分析扫描信息。
扫描本地漏洞具体操作步骤如下所示。
1)新建名为Local Vulnerability Assessment策略。
2)添加所需的插件程序。
● Ubuntu Local Security Checks:扫描本地Ubuntu安全检查。
● Default Unix Accounts:扫描默认Unix账户。
3)新建名为Sample Scan扫描任务。
4)扫描漏洞。扫描任务执行完成后,将显示如图18所示的界面。
图18 扫描完成
5)在该界面双击扫描任务名称 Sample Scan,将显示扫描的详细信息,如图19所示。
图19 扫描的详细信息
6)从该界面可以看到总共扫描了三台主机。扫描主机的漏洞情况,可以查看Vulnerability 列,该列中的数字表示扫描到的信息数。右侧显示了扫描的详细信息,如扫描任务名称、状态、策略、目标主机和时间等。右下角以圆形图显示了漏洞的危险情况,分别使用不同颜色显示漏洞的严重性。本机几乎没任何漏洞,所以显示是蓝色(Info)。关于漏洞的信息使用在该界面可以单击 Host 列中的任何一个地址,显示该主机的详细信息,包括IP地址、操作系统类型、扫描的起始时间和结束时间等。本例中选择192.168.41.234地址,如图20所示。
图20 漏洞信息
7)在该界面单击INFO按钮,将显示具体的漏洞信息,如图21所示。
图21 漏洞详细信息
8)该界面显示了漏洞的描述信息及扫描到的信息。例如,该主机上开启了68、8834和15774等端口。使用Nessus还可以通过导出文件的方式查看漏洞信息,导出的文件格式包括Nessus、PDF、HTML、CSV和Nessus DB。导出文件的方式如下所示:
在图20中单击Export按钮,选择导出文件的格式。这里选择PDF格式,单击PDF命令,将显示如图22所示的界面。
图22 可用的内容
9)该界面分为两部分,包括Available Content(可用的内容)和Report Content(报告内容)。该界面显示了导出的PDF文件中可包括的内容有主机摘要信息、主机漏洞和插件漏洞。在图22中将要导出的内容用鼠标拖到Report Content框中,拖入内容后将显示如图23所示的界面。
图23 导出的内容
10)在该界面显示了将要导出的内容。此时单击Export按钮,将显示如图24所示的界面。
图24 下载界面
11)在该界面单击Save File按钮,指定该文件的保存位置,即PDF文件导出成功。
3、扫描网络漏洞
如果用户想要使用Nessus攻击一个大范围的漏洞,需要配置评估漏洞列表并指定获取信息的评估列表。下面介绍配置Nessus在目标主机寻找网络漏洞,这些漏洞指目标主机或其他网络协议。
扫描网络漏洞的具体操作步骤如下所示。
1)新建名为Internal Network Scan策略。
2)添加所需的插件程序,如表1所示。
表1 所需插件程序
3)新建名为Network Scan扫描任务。
4)扫描结果如图25所示。
图25 网络扫描结果
5)从该界面可以看到有两个比较严重的漏洞。如果想要详细地分析该漏洞,建议将该信息使用文件的形式导出。
4、扫描指定Linux的系统漏洞
1)使用Metasploitable作为目标主机。用户也可以使用其他版本的Linux系统。
2)新建名为Linux Vulnerability Scan策略。
3)添加所需的插件程序,如表2所示。
表2 所需插件程序
4)新建名为Linux Vulnerability Scan扫描任务。
5)扫描漏洞,扫描结果如图26所示。
图26 指定Linux系统扫描结果
6)从该界面可以看到总共扫描了6台主机上的漏洞信息。其中,主机192.168.41.142上存在7个比较严重的漏洞。关于漏洞的百分比情况,可以从右下角的扇形图中了解到。同样,可以使用前面介绍过的两种方法,查看漏洞的详细信息。
5、扫描指定Windows的系统漏洞
下面介绍使用Nessus扫描指定Windows系统上的漏洞。
使用Nessus扫描指定Windows系统漏洞。本例中使用Windows 7系统作为目标主机。具体扫描步骤如下所示。
1)新建名为Windows Vulnerability Scan策略。
2)添加所需的插件程序,如表3所示。
表3 所需插件程序
3)开始扫描漏洞。扫描结果如图27所示。
图27 扫描Windows系统的结果
4)从该界面可以看到主机192.168.41.1的漏洞情况,该主机中存在一个比较严重的漏洞。同样可以使用前面介绍过的两种方法查看漏洞的详细信息,进而修改主机中存在的漏洞。
二、OpenVAS
OpenVAS(开放式漏洞评估系统)是一个客户端/服务器架构,它常用来评估目标主机上的漏洞。OpenVAS是Nessus项目的一个分支,它提供的产品是完全地免费。OpenVAS默认安装在标准的Kali Linux上,下面介绍配置及启动OpenVAS。
1、配置OpenVAS
OpenVAS默认在Kali Linux中已经安装。如果要使用该工具,还需要进行一些配置。配置OpenVAS具体操作步骤如下所示。
1)在终端窗口中切换到OpenVAS目录,为OpenVAS程序创建SSL证书。执行命令如下所示:
执行以上命令后,将输出如下所示的信息:
以上提示的信息,可以配置也可以不配置。如果不想配置的话,直接按下 Enter 键接收默认值即可。以上信息设置完后,将显示以下信息:
输出的信息显示了创建的OpenVAS证书及位置。此时按下Enter键,退出程序。
2)使用OpenVAS NVT Feed同步OpenVAS NVT数据库,并且更新最新的漏洞检查。执行命令如下所示:
输出的信息显示了同步OpenVAS NVT数据库的信息,并也更新了所有的漏洞信息。
3)创建客户端证书库。执行命令如下所示:
以上输出的信息显示了生成客户端证书的详细过程,并添加了om用户。
4)重建数据库。执行命令如下所示:
执行以上命令后,没有任何输出信息。
5)启动OpenVAS扫描,并加载所有插件。执行命令如下所示:
从输出的信息中可以看到所有插件已加载。由于加载的插件比较多,所以执行该命令的时间会长一点。
6)重建并创建数据库的备份。执行命令如下所示:
执行以上命令后,没有任何信息输出。
7)创建一个管理OpenVAS的用户。执行命令如下所示:
从输出的信息中可以看到用户openvasadmin被成功创建。
8)创建一个普通用户。执行命令如下所示:
从输出的信息中看到用户被添加。
9)为OpenVAS配置端口。执行命令如下所示:
执行以上命令后,OpenVAS的端口号就被设置为9392。
9392是推荐的一个Web浏览器端口。用户也可以选择其他端口号。
10)在浏览器中输入http://127.0.0.1:9392/,打开OpenVAS登录界面,如图28所示。
图28 OpenVAS登录界面
11)在该界面输入创建的用户名和密码,然后单击Login按钮,将显示如图29所示的界面。
图29 OpenVAS初始界面
关于启动OpenVAS介绍一些附加信息。每次运行OpenVAS时,都必须要做以下工作:
● 同步NVT Feed(当新的漏洞被发现时,该记录将改变);
● 启动OpenVAS扫描器;
● 重建数据库;
● 备份数据库;
● 配置端口。
下面介绍编写一个简单的Bash脚本,方便启动OpenVAS。保存脚本文件名为OpenVAS.sh,并放该文件在/root文件夹中。脚本文件内容如下所示:
编写好该脚本时,以后运行OpenVAS就不用执行多条命令了,只需要执行一下OpenVAS.sh脚本就可以了。
在Kali中,OpenVAS也提供了图形界面。启动OpenVAS图形界面的方法如下:
在 Kali 桌面上依次选择“应用程序”—Kali Linux—“漏洞分析”—OpenVAS—openvas-gsd命令,将显示如图30所示的界面。
图30 OpenVAS图形登录界面
在 该 界 面 输 入 服 务 器 的 地 址127.0.0.1、用户名和登录密码。然后单击Log in按钮即可登录到OpenVAS服务器。
2、创建Scan Config和扫描任务
通过以上步骤 OpenVAS 就配置好了,现在使用浏览器的方式登录服务器。在该服务器中新建Scan Config、创建扫描目标及新建扫描任务才可以进行各种漏洞扫描。设置好这些信息用户就可以进行各种漏洞扫描了,如本地漏洞扫描、网络漏洞扫描和指定操作系统漏洞扫描等。进行这些漏洞扫描之前,都必须要创建Scan Config和扫描任务等。下面分别介绍这些配置,方便后面的使用。
(1)新建Scan Config
新建Scan Config的具体操作步骤如下所示。
1)在服务器的菜单栏中依次选择Configuration—Scan Configs命令,如图31所示。单击Scan Configs命令后,将显示如图32所示的界面。
图31 Scan Configs
图32 Scan Configs界面
2)从该界面可以看到默认总共有5个Scan Config。在该界面单击
图33 New Scan Config
3)在该界面设置扫描的名称,这里设置为Local Vulnerabilities。对于Base选择Empty, static and fast复选框,该选项允许用户从零开始并创建自己的配置。然后单击Create Scan Config按钮,将会看到新建的配置,如图34所示。
图34 新建的Local Vulnerabilities
4)从该界面可以看到新建的Local Vulnerabilities,要编辑该配置可以单击
图35 选择扫描内容
5)从该界面的Family栏看到有很多的可扫描信息,此时将Select all NVT' s栏中的复选框勾选上即可,设置完后,单击Save Config按钮。图35是经过修改后的一个图,该界面显示的内容较多,由于篇幅的原因,这里只截取了一部分。
(2)新建目标
在服务器的菜单栏中依次选择 Configuration—Targets 命令,将显示如图36所示的界面。
图36 Targets界面
在该界面单击
图37 新建Target界面
在该界面输入Target名称及扫描的主机。然后单击Create Target按钮,将显示如图38所示的界面。
图38 新建的目标
从该界面可以看到新建的Local Vulnerabilities目标。
(3)新建任务
在OpenVAS的菜单栏中依次选择Scan Management—New Task命令,将显示如图39所示的界面。
图39 新建任务
在该界面设置任务名称、Scan Config和Scan Targets,然后单击Create Task按钮,将显示如图40所示的界面。
图40 新建的任务
在该界面单击
3、扫描本地漏洞
OpenVAS允许用户大范围扫描漏洞,并且将限制在用户的评估列表中。目标主机的漏洞指定是从评估中获得的信息。下面介绍使用 OpenVAS 来扫描用户指定本地目标系统上的漏洞。扫描本地漏洞的具体操作步骤如下所示。
1)新建名为Local Vulnerabilities的Scan Config。
2)添加扫描的类型,所需扫描类型如表4所示。
表4 扫描的类型
3)创建目标系统。
4)创建名为Local Vulnerabilities扫描任务。
5)扫描完本地漏洞的显示界面如图41所示。
图41 扫描漏洞完成
6)在该界面单击
图42 扫描的详细信息
7)该界面显示了两个窗口,分别是任务详细信息和本地漏洞扫描报告信息。用户从报告信息中可以了解本地系统是否有漏洞。在该界面单击 Actions 栏下的
图43 报告摘要
8)在该界面显示了所有信息,这些信息可以通过单击
4、扫描网络漏洞
下面介绍使用 OpenVAS 扫描一个网络漏洞。这些漏洞的信息是指一个目标网络中某个设备的信息。这里将Windows XP、Windows 7、Metasploitable和Linux系统作为目标测试系统。扫描网络漏洞的具体操作步骤如下所示。
1)新建名为Network Vulnerability的Scan Config。
2)添加所需扫描的类型,如表5所示。
表5 扫描类型
3)创建名为Network Vulnerability目标系统。
4)创建名为Network Scan扫描任务。
5)扫描结果,如图44所示。
图44 Network扫描结果
6)从该界面可以看到整个网络中漏洞的情况不太严重,漏洞状态为 Medium。
5、扫描指定Linux系统漏洞
下面介绍使用 OpenVAS 扫描指定 Linux 系统的漏洞。这些漏洞信息来自在一个目标网络中指定的Linux系统。推荐使用的目标Linux系统为Metasploitable和其他任何版本Linux。扫描指定Linux系统漏洞的具体操作步骤如下所示。
1)新建名为Linux Vulnerabilities的Scan Config。
2)添加所需的扫描类型,如表6所示。
表6 扫描的类型
3)创建Linux Vulnerabilities目标系统。
4)创建Linux Scan扫描任务。
5)扫描结果,如图45所示。
图45 Linux扫描结果
6)从该界面可以看到目标系统中有非常严重的漏洞。此时单击
图46 Task Details
7)从该界面的扫描报告中可以看到有14个非常严重的漏洞信息。在该界面的Actions中单击
图47 漏洞消息
8)该界面显示的信息很多,由于篇幅的原因,这里只截取了其中一个较严重的漏洞。从该界面可以看到192.168.41.142目标主机上存在非常严重的漏洞。漏洞信息包括目标主机所开发的端口、OID和解决方法等。关于漏洞的报告可以使用前面介绍过的方法进行下载。
6、扫描指定Windows系统漏洞
下面介绍使用OpenVAS扫描指定Windows系统漏洞。这些漏洞信息来自在一个目标网络内指定的Windows目标系统。这里推荐的目标系统为Windows XP和Windows 7。
使用OpenVAS扫描指定Windows系统漏洞的具体操作步骤如下所示。
(1)新建名为Windows Vulnerabilities的Scan Config。
(2)添加所需的扫描类型,如表7所示。
表7 扫描的类型
3)创建名为Windows Vulnerabilities目标系统。
4)创建名为Windows Scan扫描任务。
5)扫描完成后,结果如图48所示。
图48 扫描结果
6)从该界面可以看到Windows Scan扫描已完成,漏洞情况为Medium。可以在该界面单击
图49 Task Details
7)从该界面可以了解扫描任务的设置及扫描报告信息,如扫描完成的时间、漏洞情况及日志。如果想查看更详细的报告,使用前面介绍过的方法下载扫描报告。
微信公众号:计算机与网络安全
ID:Computer-network