Allegro AI ClearML反序列化漏洞、python劫持torch库
Blurry
信息搜集
nmap扫描一下端口
1 | nmap -sC -v --min-rate 10000 10.10.11.19 |
扫描结果如下
1 | PORT STATE SERVICE |
可以发现80端口出现重定向,我们添加域名到/etc/hosts
继续扫描下目录,选定响应状态为200/301
1 | dirsearch -u http://app.blurry.htb/ -i 200,301 |
不过没什么收获,我们直接访问下发现是名为clearml的平台
外网打点
登录进去,百度了解到是用于机器学习的
经过一番搜索发现存在pickle反序列化漏洞
我们点击左侧的项目,然后创建新的项目以及实验
依次执行并粘贴config
1 | sudo pip install clearml |
不过这里出现了报错
需要将API和Files的域名也添加到/etc/hosts
去。重新初始化clearml,成功在/home/rev1ve
建立clearml.conf
文件
经过一番查找,注意到Black Swan项目的Review JSON Artifacts
实验
具体脚本内容如下
1 | #!/usr/bin/python3 |
大概作用就是检索所有标记为”review”的项目名为”Black Swan”的任务,并且这里我们注意到对应clearml的版本1.13.1
网上搜索存在cve-2024-24590漏洞,exp如下
1 | import pickle |
把exp放到和clearml.conf
文件同一目录下,运行发现报错
这里网上搜了下应该是urllib3版本问题,尝试升级
1 | sudo pip install --upgrade urllib3 |
不过还是不行,还可以试试python的venv模块
1 | sudo pip install virtualenv |
安装成功后,监听1028端口然后执行payload
我们也可以看看实验是否在运行
等实验运行完就可以收到反弹的shell,拿到user的flag
权限提升
尝试sudo提权
1 | sudo -l |
我们看下/usr/bin/evaluate_model
具体执行内容
1 | #!/bin/bash |
赋值变量,对文件进行审查。最后就是执行/usr/bin/python3 "$PYTHON_SCRIPT" "$MODEL_FILE"
命令,往上看发现分别是/model
下的两个文件
跟进一下evaluate_model.py
1 | import torch |
注意到有导入torch库,并且该文件夹具有写权限
尝试创建同名py文件劫持torch库
1 | echo 'import os; os.system("/bin/bash")' > torch.py |
成功提权拿到root的flag
参考文章
漏洞利用
Linux搭建python虚拟环境