渗透测试初探:利用Metasploit自动发现利用靶机漏洞

网络安全的攻和守一直以来都是安全建设的两个方面,笔者最近也在研究一些渗透测试的技术,以丰富网络安全建设的知识储备。本文简要介绍一下,如何在虚拟环境下利用Metasploit pro自动对靶机完成漏洞发现和漏洞利用,最终通过漏洞实现控制对方主机的目的。使用的工具包括:

0x01 Kali 配置

  • 安装增强功能
    因为后续环境准备工作要频繁用到诸如共享文件,复制黏贴等功能,更重要的是,没有增强工具Kali的图形界面也没法适配窗口的大小,所以建议还是先安装增强功能,在virtualbox界面点击[设备]->[安装增强功能],如下图
    image.png 然后打开命令行工具,我们需要手动将cdrom挂载到系统
    1
    2
    mkdir /mnt/cdrom
    mount /dev/cdrom /mnt/cdrom

image.png

接下来执行以下命令安装增强工具
/mnt/cdrom/VBoxLinuxAdditions.run
此时可能会遇到以下报错:
image.png
根据提示我们需要先安装内核头文件,具体方法如下:

1
2
apt-get update
apt-get upgrade

国内的朋友可能有可能会出现连不到kali apt源的问题,据说阿里云有提供apt源,需要的同学请自行百度。
升级完成后,开始安装内核头文件

1
apt-get install linux-headers-amd64

升级完成后重启操作系统:init 6
如果上述命令执行后还是无法安装增强工具,可以尝试如下命令:

1
apt-cache search linux-image|grep kali

找到对应的image版本以后安装,然后重启,如下图:
image.png
安装好增强工具,便可以让kali的图形界面自动适应virtualbox的窗口大小,同时也可以开启双向复制粘贴等功能。

0x02 安装Metasploit pro

接下来我们要在Kali里面安装Metasploit。Metasploit 由rapid7提供,免费版本Metasploit framework已经集成在Kali里面,这里要介绍的是收费的版本Metasploit pro,这个版本提供了UI界面,对新手更友好,新用户有14天的免费试用期。
在Kali linux中,用Firefox打开rapid7官网,注册并登录下载pro版本。
下载完成后,在图形界面给该文件加上执行权限,然后双击安装即可,进度条走到100%以后仍然要等几分钟,稍安勿躁。
image.png
安装完成以后,默认会打开3790端口提供web界面,用浏览器访问https://localhost:3790,打开配置页面
image.png
根据提示信息完成账号创建和license输入以后就可以看到主界面了:
0x

0x03 Metasploitable 靶机准备

靶机是一个包含一系列安全漏洞的虚拟机,用于检测我们的渗透技能。rapid7官方提供了供渗透测试使用的Linux靶机,包含各种系统层和应用层的漏洞,在rapid7官网可以免费下载。
基于Virtualbox安装Metasploitable2靶机的教程可以参考:http://book.51cto.com/art/201412/460268.htm
虚拟机启动后,初始账号口令是 msfadmin/masadmin
image.png

0x03 漏洞利用

在开始漏洞利用前,需要注意Virtualbox的虚拟机默认是用NAT方式组网,这种方式下虚拟机之间、虚拟机和宿主机之间没法通信,为了让kali能够扫描靶机,我们需要将两个虚拟机的网络模式改成桥接
image.png
修改后重启VM,确保两个VM可以相互通信。
在Kali中开启metasploit pro的web界面,点击首页顶部的菜单栏[Project] -> [New project] ,192.168.0.103是靶机的IP
image.png

在新建的项目中,我们先用自带的nmap做一次漏洞扫描,这里我们也可以用Nexpose这种更专业的漏扫工具,不过他也是收费的。或者,还可以将Nessus的漏扫结果文件.nessus直接导入系统

image.png
这里我们直接点[Scan],确认目标以后可以看到扫描的进度条。等扫描完成以后,可以看到简单的结果报告
image.png
接下来开始尝试漏洞爆破,点击右上角的[Exploit],之后Metasploit会利用框架下已有的攻击向量对目标漏洞进行尝试,完成以后如果目标漏洞利用成功点上面的Session菜单可以看不到可以利用的session
image.png
这里我们点击session1,PostgreSQL for Linux Payload Execution漏洞,可以看到我们能利用的操作。
image.png
接下来我们用[Command Shell]直接利用该漏洞
image.png
利用该远程代码执行漏洞,我们可以获取到对方的shell,远程在该机器上插旗,接下来我们可以通过其他的漏洞对该账号进行提权,从而完全控制该机器,也可以悄悄的偷取该数据库里的信息。

以上就是使用Metasploit pro完成对靶机的漏洞扫描已经自动爆破的全工程,非常初级适合渗透测试的初学者对该技术建立初步感性认识。