Gibson: 0.2
项目地址:https://download.vulnhub.com/gibson/gibson.ova
是一个打包好的镜像文件
注意:导入 vmx 时一定要选择我已移动,否则没网
使用 Nmap 扫描出开放服务及操作系统版本

查看 80 端口源代码在注释中找到线索

弱口令
SSH
根据前面给出的线索登录成功
1 | margo:god |

提权
/usr/bin/convert ImageMagick(CVE-2016-3714)
检查权限发现可以使用 /usr/bin/convert
/usr/bin/convert 是 ImageMagick 图像处理套件中的核心命令行工具,广泛用于 Linux/Unix 系统中
它的主要功能包括:
- 图像格式转换:在不同图像格式之间转换(如 PNG 转 JPEG、GIF 转 BMP 等)
- 图像编辑:调整大小、裁剪、旋转、翻转、添加边框、应用滤镜等
- 图像合成:将多张图片合并、叠加,或添加文字、水印
- 颜色管理:修改色彩空间、亮度、对比度等
- 批量处理:结合 shell 脚本可对大量图片进行自动化处理
由于其强大的功能和广泛的应用,许多 Linux 发行版默认安装 ImageMagick,系统管理员也常使用 convert 处理图片

ImageMagick 在处理某些图片格式时会调用外部库(称为“委托”),其中处理 HTTPS 请求的委托命令为:
1 | "wget" -q -O "%o" "https:%M" |
由于对 %M 参数过滤不严,攻击者可以在 https: 后面注入 shell 命令
例如,构造一个类似https://example.com"|任意命令"的输入,管道符 | 会导致命令执行
当 ImageMagick 处理该输入时,实际上会执行
1 | wget -q -O "%o" "https://example.com"|任意命令" |
由于双引号未正确闭合,| 后的命令会被 shell 执行
因此,我们可以利用 convert 命令执行任意系统命令
由于 convert 以 root 权限运行,注入的命令也将以 root 权限执行
修改 /etc/sudoers 文件,为 margo 赋予完全 sudo 权限
我们可以通过命令注入直接调用 vim 打开 /etc/sudoers 进行编辑
1 | sudo /usr/bin/convert 'https://dummyurl";vim /etc/sudoers"' tragic.png |
