
معالج reverse shell متعدد الجلسات مع ترقية PTY، ووحدات post-exploitation، ونفق Layer 3، وتشويش الحمولة لتجنب EDR، وتسجيل الجلسات، وخادم MCP للتحكم المدفوع بـ LLM.
هذا المشروع هو محاولتي لصنع معالج shell سريع وسهل الاستخدام (وغني بالميزات في الوقت نفسه) بواجهة أنيقة.
إخلاء مسؤولية: يرجى ملاحظة أن هذا المشروع لا يزال قيد التطوير، وما زلت أعمل على بعض الميزات الأساسية، التي تم الحديث عنها في هذا القسم.
✨ الميزات | 🚧 قيد العمل | 🚀 التثبيت | 💻 الاستخدام | 🔧 ترقية PTY | 🤖 الوحدات | 🧠 MCP
التوثيق الكامل موجود في الويكي.
[!TIP] يعمل هذا العرض التوضيحي مع نظام تشغيل داخل حاوية docker. إذا أردت التجربة بنفسك، يمكنك استخدام صور Ubuntu أو dockur windows
script/socat، وعلى Windows عبر ConPtyShell مُموَّه) للحصول على إكمال تلقائي بـ tab، وتمرير Ctrl+C، وتغيير حجم الطرفية.connect ssh user@host يحوّل بيانات الاعتماد التي تملكها بالفعل إلى جلسة. ssh يوصّل الـ payload فقط، لذا تبقى الجلسة حية بعد خروج ssh.tunnel start <id> <cidr> يحوّل shell إلى نقطة تحوّل Layer 3: مكدس TCP في مساحة المستخدم على الهدف (بدون root، بدون إسقاط ملف ثنائي، Python فقط) مع المسارات على جهتك. (التوثيق)koireview. (التوثيق)Ctrl+Z يضع الجلسة في الخلفية، وCtrl+C يرسل SIGINT إلى الطرف البعيد، ولا يقتل المستمع لديك عن طريق الخطأ أبدًا.[!NOTE] أصبح من الممكن الآن استخدام Koi عن بُعد ! اقرأ المزيد هنا
# Recommended: stable release from PyPI
pipx install koi-handler
# From source if you want to dev your own modules
git clone https://github.com/b3rt1ng/koi
cd koi
pipx install --editable .
koifuscator هو الاختصار المباشر لوحدة التمويه.
koireview هو طريقتك لعرض سجلات جلساتك.
للترقية:
pipx upgrade koi-handler
مزيد من التفاصيل في البدء.
# Default: bind 0.0.0.0:4010
koi
# Custom host/port
koi --host 10.10.14.5 --port 9001
koi -p 9001
بمجرد الدخول، يسرد help كل الأوامر. المرجع الكامل موجود في مرجع CLI، وإدارة الجلسات (الوسوم، الوضع في الخلفية، وضع Screenable) في إدارة الجلسات.
أرسل reverse shell بنفسك أو بكتابة payloads *interface* للحصول على payloads مُولَّدة مسبقًا. لاحظ أنه يجب أن يكون shell يشبه الطرفية، لأن Koi يتعامل مع linux shs وpowershells وcmd.
يتضمن Koi مُموِّه payload مدمجًا للمساعدة في التهرب من كشف Windows Defender. يمكنك تسلسل عدة تقنيات معًا، رغم أن ترميز XOR وتحويلات التنسيق عادةً ما تكون كافية. ضع في اعتبارك أن تكديس طبقات كثيرة جدًا قد يُفسد الـ payload ويجعله غير قابل للقراءة من قبل الهدف.
يعمل المُموِّه أيضًا مع payloads الخاصة بـ Linux. وبينما لا تشغّل معظم بيئات Linux برامج مكافحة الفيروسات، فإن bash one-liners غالبًا ما تُرصد بواسطة حلول EDR أو قواعد IDS أو تُراقَب من قبل الفرق الزرقاء التي تبحث عن أنماط reverse shell المعروفة. يساعد تمويه الـ payload في التحرك تحت الرادار في بعض البيئات المُحصَّنة.
كل تقنية وكل نوع payload مدعوم مُدرَجان في Payloads & Obfuscation.
تفتقر الـ shells الخام إلى دعم طرفية مناسب: لا إكمال تلقائي بـ tab، وCtrl+C معطّل، ومخرجات مشوّهة. أمر upgrade يصلح هذا:
koi> upgrade 1
Shell #1 upgraded successfully.
koi> go 1
# now a full PTY with proper terminal behaviour
يتم إنشاء python pty بسيط
python3 -c 'import pty; pty.spawn("/bin/bash")'
مع TERM=xterm-256color وبعض معلومات تغيير الحجم
لم أُكلّف نفسي عناء صنع واحد لـ CMD، لكن بالنسبة لـ powershell تستخدم التقنية conptyshell مُموَّهًا للحصول على shell مُنفَّذ بالكامل:
1) ConPtyShell is fetched from GitHub and cached locally for offline reuse
2) All IOC identifiers are renamed to random strings (class names, method names, PS function name)
3) Distinctive C# string literals are replaced with runtime char-array constructions (no literal in compiled MSIL)
4) The obfuscated script is served over a temporary HTTP server
5) The invocation command is base64-encoded (-EncodedCommand) with IEX and IWR obfuscated via random split techniques (concat / format string / char-array), so no plaintext cmdlet names appear on the command line
6) The target connects back with a fully interactive PTY shell, registered as a new session
سلسلة الاحتياط وتفاصيل كل نظام تشغيل في ترقية الجلسات.
يمكن لـ Koi عرض جلساته ووحداته عبر MCP، بحيث يمكن لعميل LLM قراءة جدول جلساتك وتشغيل الوحدات دون أن تنسخ وتلصق أي شيء.
# read-only: sessions, modules and logs
koi --mcp
# lets the model run commands and modules on targets
koi --mcp --mcp-allow-exec
يعمل الخادم داخل عملية المستمع ويربط 127.0.0.1:7331، محميًا برمز bearer يُطبَع عند بدء التشغيل. وضع القراءة فقط هو الافتراضي عن قصد.
[!WARNING] مع
--mcp-allow-execيمكن لـ LLM تشغيل أوامر على كل جهاز تملك عليه shell. تحتوي سجلات الجلسات على مخرجات من أجهزة مخترَقة، وهي نص يتحكم فيه المهاجم ويدخل مباشرة إلى سياق النموذج.
الإعداد وتكوين العميل وقائمة الأدوات الكاملة في توثيق MCP.