1.加载Nessus插件
进入metasploit控制台,输入以下命令: msf > load nessus
2.查看帮助命令
msf > nessus_help
3.连接Nessus
先查看nessus连接的命令的用法,如下图有几种连接的方式:
我们一般使用第一种方法进行Nessus连接: msf > nessus_connect reborn:123456@10.10.10.144:8834 ok 最后一个参数为“OK”,代表确认可能发生中间人的风险。
最后一种方法这边也介绍一下,为了方便之后登录,可以在登录后记录下登录凭据,下次登录的时候不需要输入用户名密码便可以登录。
连接成功后,输入以下命令,目的是保存登录凭据: msf > nessus_save
当重新登录时,仅需要输入nessus_connect,便可以成功登录:
metasploit调用Nessus扫描漏洞
1.创建扫描任务
先查看建立新的扫描任务的命令:
由命令用法我们知道需要了解扫描策略的UUID,所以要先查看当前Nessus上有哪些扫描策略,输入以下命令: msf > nessus_policy_list
扫描策略只能进行查看和删除,不能进行创建,我们选择其中一个策略进行扫描: msf > nessus_scan_new 731a8e52-3ea6-a291-ec0a-d2ff0619c19d7bd788d6be818b65 test test 10.10.10.134
2.启动扫描并查看进度
查看启动扫描命令:
启动扫描需要知道Scan Id,因此需要查看扫描列表。
我们可以看到新建的扫描任务的Scan Id是12,启动扫描任务。
使用以下命令可查看扫描进度(info代表扫描的信息及扫描状态,hosts是扫描主机信息及漏洞危险程度比例,vulnerabilities代表扫描中发现的漏洞及使用的漏洞扫描插件,history代表的是扫描过的历史。) msf > nessus_scan_details 12 ( info, hosts, vulnerabilities, and history)
3.查看报告并导出报告
查看扫描报告存在的漏洞: msf > nessus_report_hosts 12
查看导出报告命令:
从下载报告命令中可知道,要想下载报告需要知道file id,file id可从以下命令获取,先查看命令用法:
我们选择nessus格式进行报告的导出,导出过程中生成file id msf > nessus_scan_export 12 Nessus
使用以下命令进行报告的下载,报告会下载到/root/.msf4/local文件夹中 。 msf > nessus_report_dowload 12 482612627
4.导入报告
可以将扫描完的任务直接导入metasploit连接的数据库中,查看导入报告的命令用法:
直接将扫描结果导入metasploit连接的数据库中。
除了使用metasploit调用nessus进行扫描之外,我们同样可以对扫描到的漏洞进行攻击。比如使用db_autopwn插件进行自动化攻击。
1.导入扫描结果到msf连接的数据库中
除了nessus_db_import可以将扫描结果导入数据库,还可以通过db_import导入扫描报告到数据库中,db_import可支持不同的格式导入,如下图,直接导入nessus格式的扫描报告,db_import可自动识别格式导入。
2.使用db_autopwn进行自动化攻击
db_autopwn的介绍及下载我们在 工具 | Metasploit与OpenVAS的结合使用中有介绍过。 加载db_autopwn插件,并使用以下命令进行攻击:
如下图所示,有shell反弹,且建立连接。
所有的漏洞脚本跑完后,反弹shell的,会显示会话详情:
3.连接会话,进行进一步攻击
连接会话,可执行系统命令。
上次斗哥也有谈到Metasploit连接OpenVAS的介绍,总结一下两个扫描器与Metasploit的联动:从调用扫描的角度来说,整体的扫描流程都差不多,基本包含扫描任务的创建、扫描任务的下发及扫描报告导入、导出;从可操作命令来说,openvas可操作的命令偏少,基本只有扫描任务相关的创建下发。相比之下,nessus的命令较为全面,包括可查看nessus服务器属性、用户的创建和删除以及扫描扫描过程的详情等,nessus部分命令也比较人性化,比如可记录登录凭据,或者可查看扫描进度详情等。
Metasploit调用nessus或是openvas,可直接导入数据库进行一系列攻击,也节省了一部分时间,比起直接使用nessus或是openvas还是有一些限制的,比如nessus和openvas的扫描策略都不能通过调接口的方式进行创建,只能基于原本的扫描策略进行扫描。
Metasploit与Nessus的结合使用就先介绍到这里啦,如果你对于使用有不同的意见,可以提出来哦,斗哥和你一起探讨~