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 方法一:内核漏洞提权
- 查看内核版本:
uname -a
- 使用searchsploit查找漏洞:
searchsploit 内核版本
- 下载漏洞利用代码,上传到靶机,编译并执行。
5.2 方法二:利用计划任务
发现系统存在可疑的计划任务:
- 查找相关文件:
find / -name cronlog 2>/dev/null
find / -name cleaner.py 2>/dev/null
- 发现
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权限的整个渗透测试过程。