
معالج reverse shell متعدد الجلسات مع ترقية PTY، ووحدات post-exploitation، ونفق Layer 3، وتشويش الحمولة لتجنب EDR، وتسجيل الجلسات، وخادم MCP للتحكم المدفوع بـ LLM.
هذا المشروع هو محاولتي لصنع معالج أوامر (shell handler) سريع وسهل الاستخدام (وغني بالميزات في الوقت نفسه) بواجهة أنيقة.
إخلاء مسؤولية: يُرجى ملاحظة أن هذا المشروع لا يزال قيد التطوير، وما زلت أعمل على بعض الميزات الأساسية المذكورة في هذا القسم.
✨ الميزات | 🚧 قيد العمل | 🚀 التثبيت | 💻 الاستخدام | 🔧 ترقية 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> جلسة إلى نقطة تحوّل من الطبقة الثالثة (Layer 3 pivot): مكدس TCP في مساحة المستخدم على الهدف (بدون root، وبدون إسقاط ملف ثنائي، وباستخدام Python فقط) مع المسارات على جانبك. (التوثيق)koireview. (التوثيق)Ctrl+Z الجلسة في الخلفية، ويرسل Ctrl+C الإشارة SIGINT إلى الطرف البعيد، ولا يقتل المستمع (listener) الخاص بك عن طريق الخطأ أبدًا.[!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
تفاصيل أكثر في Getting Started.
# Default: bind 0.0.0.0:4010
koi
# Custom host/port
koi --host 10.10.14.5 --port 9001
koi -p 9001
بمجرد الدخول، يسرد الأمر help كل الأوامر. المرجع الكامل موجود في مرجع CLI، وإدارة الجلسات (الوسوم، التشغيل في الخلفية، الوضع القابل للفصل) في إدارة الجلسات.
أرسل صدفة عكسية بنفسك أو بكتابة payloads *interface* للحصول على حمولات مُولّدة مسبقًا. لاحظ أنه يجب أن تكون صدفة شبيهة بالطرفية، لأن Koi يتعامل مع صدفات لينكس وPowerShell وcmd.
يتضمن Koi مُشوِّه حمولات مدمجًا للمساعدة في التهرب من كشف Windows Defender. يمكنك ربط عدة تقنيات معًا، رغم أن ترميز XOR وتحويلات الصيغة عادةً ما تكون كافية. ضع في اعتبارك أن تكديس طبقات كثيرة جدًا قد يُفسد الحمولة ويجعلها غير قابلة للقراءة من قبل الهدف.
يعمل المُشوِّه أيضًا مع حمولات لينكس. ورغم أن معظم بيئات لينكس لا تشغّل برامج مكافحة الفيروسات، فإن أوامر bash أحادية السطر غالبًا ما تُعلَّم بواسطة حلول EDR أو قواعد IDS، أو تُراقَب من قبل الفرق الزرقاء التي ترصد أنماط الصدفات العكسية المعروفة. يساعد تشويش حمولتك على التحليق تحت الرادار في بعض البيئات المُحصّنة.
كل تقنية وكل نوع حمولة مدعوم مُدرج في الحمولات والتشويش.
تفتقر الصدفات الخام إلى دعم الطرفية المناسب: لا إكمال تلقائي بالجدولة، Ctrl+C معطّل، مخرجات مشوّهة. يُصلح أمر upgrade ذلك:
koi> upgrade 1
Shell #1 upgraded successfully.
koi> go 1
# now a full PTY with proper terminal behaviour
يتم إنشاء 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.