Vulnhub靶场——Tr0ll
字数 1133 2025-08-29 08:29:58

Vulnhub靶场——Tr0ll渗透测试教学文档

1. 信息收集阶段

1.1 主机发现

使用nmap进行网络扫描,发现目标主机:

nmap 192.168.7.0/24

1.2 端口扫描

对目标IP进行详细扫描:

nmap 192.168.7.134 -sS -A -p- -sV

发现开放端口:

  • 22 (SSH)
  • 21 (FTP)
  • 80 (HTTP)

2. 初步渗透

2.1 Web服务枚举

访问80端口未发现有用信息,进行目录扫描:

dirb http://192.168.7.134

或使用其他目录扫描工具如gobuster、dirsearch等。

2.2 FTP服务检查

检查FTP服务是否存在匿名登录:

ftp 192.168.7.134

使用用户名anonymous,密码为空登录成功。

在FTP中发现一个网络数据包文件lol.pcap,下载并分析:

strings lol.pcap

发现关键信息:

  • 提到了secret_stuff.txt文件
  • 内容暗示了sup3rs3cr3tdirlol目录的存在

3. 深入渗透

3.1 发现隐藏目录

通过分析发现sup3rs3cr3tdirlol是一个web目录,访问:

http://192.168.7.134/sup3rs3cr3tdirlol/

发现可执行文件,使用strings查看字符串:

strings 文件名

发现另一个web目录地址。

3.2 获取凭据

在新发现的web目录中:

  • which_one_lol.txt可能是用户名列表
  • this_folder_contains_the_password目录提示包含密码

尝试使用hydra爆破SSH:

hydra -L which_one_lol.txt -P /usr/share/wordlists/rockyou.txt 192.168.7.134 ssh

未成功,最终在Pass.txt中找到密码。

4. 获取初始shell

使用获得的凭据通过SSH登录:

ssh 用户名@192.168.7.134

登录成功后升级shell:

/usr/bin/script -qc /bin/bash /dev/null

5. 权限提升

5.1 方法一:内核漏洞提权

  1. 查看内核版本:
uname -a
  1. 使用searchsploit查找漏洞:
searchsploit 内核版本
  1. 下载漏洞利用代码,上传到靶机,编译并执行。

5.2 方法二:利用计划任务

发现系统存在可疑的计划任务:

  1. 查找相关文件:
find / -name cronlog 2>/dev/null
find / -name cleaner.py 2>/dev/null
  1. 发现cleaner.py脚本任何人可读可写

利用方法:

  1. 反弹shell
    修改cleaner.py添加反向shell代码

  2. 创建root可执行程序
    写入具有SUID权限的程序

  3. 写入SSH RSA密钥
    添加自己的公钥到root的authorized_keys

6. 关键点总结

  1. FTP匿名登录:总是检查FTP服务的匿名访问权限
  2. 文件分析技巧:strings命令对二进制和pcap文件分析很有用
  3. 目录枚举:不要忽视web目录扫描的每个结果
  4. 计划任务提权:定期检查/etc/crontab和/var/spool/cron/
  5. 可写脚本提权:发现可写的系统脚本是绝佳的提权机会

7. 防御建议

  1. 禁用FTP匿名登录
  2. 限制敏感目录的web访问
  3. 定期更新系统和内核
  4. 严格控制计划任务脚本的权限
  5. 监控系统关键文件的修改

通过以上步骤,可以完整地完成从信息收集到获取root权限的整个渗透测试过程。

Vulnhub靶场——Tr0ll渗透测试教学文档 1. 信息收集阶段 1.1 主机发现 使用nmap进行网络扫描,发现目标主机: 1.2 端口扫描 对目标IP进行详细扫描: 发现开放端口: 22 (SSH) 21 (FTP) 80 (HTTP) 2. 初步渗透 2.1 Web服务枚举 访问80端口未发现有用信息,进行目录扫描: 或使用其他目录扫描工具如gobuster、dirsearch等。 2.2 FTP服务检查 检查FTP服务是否存在匿名登录: 使用用户名 anonymous ,密码为空登录成功。 在FTP中发现一个网络数据包文件 lol.pcap ,下载并分析: 发现关键信息: 提到了 secret_stuff.txt 文件 内容暗示了 sup3rs3cr3tdirlol 目录的存在 3. 深入渗透 3.1 发现隐藏目录 通过分析发现 sup3rs3cr3tdirlol 是一个web目录,访问: 发现可执行文件,使用strings查看字符串: 发现另一个web目录地址。 3.2 获取凭据 在新发现的web目录中: which_one_lol.txt 可能是用户名列表 this_folder_contains_the_password 目录提示包含密码 尝试使用hydra爆破SSH: 未成功,最终在 Pass.txt 中找到密码。 4. 获取初始shell 使用获得的凭据通过SSH登录: 登录成功后升级shell: 5. 权限提升 5.1 方法一:内核漏洞提权 查看内核版本: 使用searchsploit查找漏洞: 下载漏洞利用代码,上传到靶机,编译并执行。 5.2 方法二:利用计划任务 发现系统存在可疑的计划任务: 查找相关文件: 发现 cleaner.py 脚本任何人可读可写 利用方法: 反弹shell : 修改cleaner.py添加反向shell代码 创建root可执行程序 : 写入具有SUID权限的程序 写入SSH RSA密钥 : 添加自己的公钥到root的authorized_ keys 6. 关键点总结 FTP匿名登录 :总是检查FTP服务的匿名访问权限 文件分析技巧 :strings命令对二进制和pcap文件分析很有用 目录枚举 :不要忽视web目录扫描的每个结果 计划任务提权 :定期检查/etc/crontab和/var/spool/cron/ 可写脚本提权 :发现可写的系统脚本是绝佳的提权机会 7. 防御建议 禁用FTP匿名登录 限制敏感目录的web访问 定期更新系统和内核 严格控制计划任务脚本的权限 监控系统关键文件的修改 通过以上步骤,可以完整地完成从信息收集到获取root权限的整个渗透测试过程。