
Pupy
Pupy هي أداة مفتوحة المصدر، متعددة المنصات (ويندوز، لينكس، أو إس إكس، أندرويد)، متعددة الوظائف من نوع RAT (أداة إدارة عن بعد) وأداة للاستغلال اللاحق، مكتوبة بشكل أساسي بلغة بايثون. تتميز بتوجيه تنفيذ كامل في الذاكرة وتترك بصمة منخفضة جدًا. يمكن لـ Pupy التواصل باستخدام وسائل نقل متنوعة، والترحيل إلى العمليات (الحقن الانعكاسي)، وتحميل كود بايثون عن بعد، وحزم بايثون، وإضافات بايثون بلغة C من الذاكرة.
يمكن لوحدات Pupy الوصول بشفافية إلى كائنات بايثون عن بعد باستخدام rpyc لأداء مهام تفاعلية متنوعة.
يمكن لـ Pupy إنشاء حمولات بتنسيقات متعددة مثل الملفات التنفيذية PE، وDLLs الانعكاسية، وملفات بايثون الخالصة، وPowerShell، وAPK، ...
عندما تقوم بتعبئة حمولة، يمكنك اختيار مشغل (connect, bind, ...)، ووسيلة نقل (ssl, http, rsa, obfs3, scramblesuit, ...) وعدد من "النصوص المصغرة" (scriptlets). النصوص المصغرة هي نصوص بايثون يتم تضمينها لأداء مهام متنوعة دون اتصال (دون الحاجة لجلسة)، مثل بدء سكربت خلفي، إضافة استمرارية، بدء مسجل ضغطات لوحة المفاتيح، كشف بيئة اختبار، ...
التثبيت
git clone https://github.com/n1nj4sec/pupy.git pupy
cd pupy
git submodule init
git submodule update
pip install -r pupy/requirements.txt
أو راجع الويكي
الميزات
- متعددة المنصات (تم اختبارها على ويندوز xp، 7، 8، 10، كالي لينكس، أوبونتو، أو إس إكس، أندرويد)
- على ويندوز، يمكن تجميع حمولة Pupy كـ DLL انعكاسي ويتم تحميل مترجم بايثون بأكمله من الذاكرة. Pupy لا تلمس القرص :)
- يمكن أيضًا تعبئة pupy في ملف .py واحد وتشغيله دون أي تبعيات سوى مكتبة بايثون القياسية على جميع أنظمة التشغيل
- يتم استبدال pycrypto بتنفيذات AES و RSA الخالصة بلغة بايثون عند عدم توفره
- يمكن لـ Pupy الترحيل الانعكاسي إلى عمليات أخرى
- يمكن لـ Pupy استيراد عن بعد، من الذاكرة، حزم بايثون الخالصة (.py, .pyc) وإضافات بايثون بلغة C المجمعة (.pyd, .so). وحدات بايثون المستوردة لا تلمس القرص.
- Pupy قابلة للتوسيع بسهولة، وحداتها بسيطة إلى حد كبير في الكتابة، مصنفة حسب نظام التشغيل والفئة.
- العديد من الوحدات الرائعة تم تنفيذها بالفعل!
- تستخدم Pupy rpyc ويمكن للوحدة الوصول مباشرة إلى كائنات بايثون على العميل البعيد
- يمكننا أيضًا الوصول إلى الكائنات البعيدة تفاعليًا من قشرة pupy وستحصل حتى على الإكمال التلقائي للسمات البعيدة!
- وسائل نقل الاتصال معيارية، قابلة للتكديس ورائعة. يمكنك استخراج البيانات باستخدام HTTP عبر HTTP عبر AES عبر XOR. أو أي مجموعة من وسائل النقل المتاحة!
- يمكن لـ Pupy التواصل باستخدام obfsproxy وسائل نقل قابلة للتوصيل
- يمكن إرسال جميع الوحدات غير التفاعلية إلى مضيفين متعددين بأمر واحد
- الأوامر والنصوص البرمجية التي تعمل على المضيفين البعيدين قابلة للمقاطعة
- الإكمال التلقائي للأوامر والوسائط
- يمكن تعريف إعدادات مخصصة: أسماء مستعارة للأوامر، وحدات تعمل تلقائيًا عند الاتصال، ...
- يمكن فتح قذائف بايثون تفاعلية مع إكمال تلقائي على مترجم بايثون البعيد المخزن بالكامل في الذاكرة
- يمكن فتح قذائف تفاعلية (cmd.exe, /bin/bash, ...) عن بعد. القذائف البعيدة على عملاء يونكس وويندوز تحتوي على tty حقيقي مع جميع إشارات لوحة المفاتيح تعمل بشكل جيد تمامًا مثل قشرة ssh
- يمكن لـ Pupy تنفيذ ملفات PE تنفيذية عن بعد ومن الذاكرة (راجع مثال مع mimikatz)
- يمكن لـ Pupy إنشاء حمولات بتنسيقات متنوعة: apk,lin_x86,lin_x64,so_x86,so_x64,exe_x86,exe_x64,dll_x86,dll_x64,py,pyinst,py_oneliner,ps1,ps1_oneliner,rubber_ducky
- يمكن نشر Pupy في الذاكرة، من سطر أوامر واحد باستخدام الأوامر الأحادية لـ python أو powershell من pupygen.py.
- يمكن تضمين "النصوص المصغرة" في الحمولات المُنشأة لأداء بعض المهام "بدون اتصال" دون الحاجة إلى اتصال شبكة (مثال: بدء مسجل ضغطات المفاتيح، إضافة استمرارية، تنفيذ سكربت بايثون مخصص، فحص الجهاز الافتراضي ...)
- الكثير من الميزات الأخرى، تحقق من الوحدات المطبقة
وسائل النقل المطبقة
جميع وسائل النقل في pupy قابلة للتكديس. هذا يعني أنه من خلال إنشاء إعداد نقل مخصص (pupy/network/transport/<transport_name>/conf.py)، يمكنك جعل جلسة pupy تبدو وكأنها أي شيء. على سبيل المثال، يمكنك تكديس HTTP فوق HTTP فوق base64 فوق HTTP فوق AES فوق obfs3 :o)
- rsa
- طبقة مع مصادقة وتشفير باستخدام RSA و AES256، غالبًا ما تُكدس مع طبقات أخرى
- aes
- طبقة تستخدم مفتاح AES256 ثابت
- ssl (الافتراضي)
- ssl_rsa
- نفس ssl ولكن مكدسة مع طبقة rsa
- http
- طبقة تجعل حركة المرور تبدو كحركة HTTP. HTTP مكدسة مع طبقة rsa
- obfs3
- scramblesuit
- udp
- طبقة rsa ولكن عبر UDP (قد يكون بها أخطاء، لا تتعامل مع فقدان الحزم بعد)
- other
- الطبقات الأخرى ليس لها فائدة حقيقية ويتم تقديمها كأمثلة تعليمات برمجية: (dummy, base64, XOR, ...)
المشغلات المطبقة (غير محدثة، راجع ./pupygen.py -h)
تسمح المشغلات لـ pupy بتشغيل إجراءات مخصصة قبل بدء الاتصال العكسي
- connect
- bind
- ربط الحمولة بدلاً من العكسي
- auto_proxy
- استرجاع قائمة بوكلاء SOCKS/HTTP ممكنين ومحاولة كل واحد منهم. طرق استرجاع الوكيل: السجل، طلبات WPAD، إعدادات جنوم، متغير البيئة HTTP_PROXY
الوحدات المطبقة (غير محدثة)
جميع المنصات:
- تنفيذ الأوامر
- تنزيل
- رفع
- قذيفة بايثون تفاعلية مع إكمال تلقائي
- قذيفة تفاعلية (cmd.exe, powershell.exe, /bin/sh, /bin/bash, ...)
- تخصيص tty مدعوم جيدًا على كل من ويندوز و*nix. يبدو تمامًا مثل قذيفة ssh
- تنفيذ سكل كود
- استمرارية
- وكيل socks5
- إعادة توجيه المنافذ المحلية والبعيدة
- لقطة شاشة
- مسجل ضغطات لوحة المفاتيح
- تشغيل أداة جمع بيانات الاعتماد الرائعة LaZagne من الذاكرة!
- أدوات التنصت، netcreds
- ترحيل العمليات (ويندوز ولينكس، ليس على أو إس إكس بعد)
- ...
- الكثير من الأدوات الأخرى (عميل upnp، أدوات استطلاع/محور متنوعة باستخدام impacket عن بعد، ...)
خاص بالويندوز:
- الترحيل
- حقن بنية العمليات البينية يعمل أيضًا (x86->x64 و x64->x86)
- تنفيذ في الذاكرة لملفات PE التنفيذية لكل من x86 و x64!
- لقطة ويب كام
- مسجل ميكروفون
- مسجل الماوس:
- يلتقط لقطات شاشة صغيرة حول الماوس عند كل نقرة ويرسلها مرة أخرى إلى الخادم
- التلاعب بالرموز المميزة
- getsystem
- creddump
- أطنان من سكربتات PowerShell المفيدة
- ...
خاص بالأندرويد:
- تحويل النص إلى كلام للأندرويد ليقول أشياء بصوت عالٍ
- لقطات ويب كام (كاميرا أمامية وخلفية)
- متتبع GPS!
التوثيق
راجع الويكي
بعض لقطات الشاشة (غير محدثة)
قسم لقطات الشاشة على الويكي
الأسئلة الشائعة
هل يعمل الخادم على ويندوز؟
خادم Pupy يعمل بشكل أفضل على لينكس. الخادم على ويندوز لم يتم اختباره حقًا ويوجد على الأرجح الكثير من الأخطاء. أحاول جاهدًا البرمجة بطريقة محمولة لكنني لا أجد دائمًا الوقت لإصلاح كل شيء. إذا وجدت الشجاعة لتصحيح الكود غير المحمول، فسأقبل طلبات السحب بكل سرور! :)
لا أستطيع تثبيته، كيف يعمل؟
ألق نظرة على قسم التثبيت في الويكي
لدي الخطأ التالي عند بدء pupy.sh: ImportError: No module named creddump.win32.domcachedump
اتبع خطوات التثبيت في الويكي، لقد فاتك تهيئة/تحديث الوحدات الفرعية git
لدي الخطأ التالي عند استخدام pupygen : IOError: [Errno 2] No such file or directory: '/full-path/pupy-master/pupy/payload_templates/pupyx86.exe'
اتبع خطوات التثبيت في الويكي، لقد فاتك تهيئة/تحديث الوحدات الفرعية git
لدي خطأ آخر عند التثبيت
اتبع خطوات التثبيت في الويكي (نعم أعلم)
مرحبًا، أنا أحب pupy وأتساءل إذا كان بإمكاني تقديم بيرة لك!
بالتأكيد! شكرًا لك!
Via pledgie :
Via BTC: 12BKKN81RodiG9vxJn34Me9ky19ArqNQxC
مرحبًا، هل يمكنك إضافة وحدة DDOS من فضلك؟
لا.
الاتصال
عن طريق البريد الإلكتروني: [email protected]
على تويتر: تابعني على تويتر
إذا أراد بعضكم المشاركة في تطوير pupy، فلا تتردد! كل مساعدة موضع تقدير كبير وسأراجع كل طلب سحب.
هذا المشروع هو تطوير شخصي، يرجى احترام فلسفته وعدم استخدامه لأغراض شريرة!
شكر خاص
شكر خاص لجميع المساهمين الذين يساعدوني في تحسين pupy وجعلها أداة أفضل! :)