
أداة وكيل متعدد القفزات لاختبار الاختراق تتيح توجيه الحركة عبر عقد متعددة، نفق SOCKS5/SSH، إعادة توجيه المنافذ، شل عن بُعد، وتواصل مُشفر بين العقد.

Stowaway هي أداة وكيل متعدد المستويات مكتوبة بلغة Go، مصممة خصيصًا لمتخصصي اختبار الاختراق.
يمكن للمستخدمين استخدام هذا البرنامج لتوجيه حركة المرور الخارجية عبر عقد متعددة إلى الشبكة الداخلية، وتجاوز قيود الوصول إلى الشبكة الداخلية، وبناء شبكة عقدة شجرية، وتحقيق وظائف الإدارة بسهولة.
شكرًا لكم جميعًا على نجومكم، ونرحب باستخدام الأداة والإبلاغ عن المشكلات و الأخطاء 😘
يرجى قراءة تعليمات الاستخدام والملاحظات في نهاية المستند بعناية قبل الاستخدام.
يُستخدم هذا المشروع فقط لأغراض أمن الشبكات والتدريس، ويُحظر تمامًا استخدامه لأي أغراض غير قانونية. تأكد من الحصول على إذن صريح من النظام المستهدف قبل إجراء أي اختبار باستخدام هذه الأداة، والالتزام بالقوانين واللوائح المحلية في بلدك/منطقتك. أي عواقب مباشرة أو غير مباشرة (بما في ذلك على سبيل المثال لا الحصر: فقدان البيانات، تلف النظام، المسؤولية القانونية) الناتجة عن استخدام هذه الأداة تكون على مسؤولية المستخدم. المؤلف لا يتحمل أي مسؤولية عن أي إساءة استخدام أو عواقب قانونية ناتجة عنها. استخدام هذه الأداة يعني أنك قد قرأت وفهمت ووافقت على جميع محتويات إخلاء المسؤولية هذا.
make لتجميع البرنامج الكامل لمنصات متعددة مباشرة، أو راجع Makefile لتجميع برنامج معين.يتكون Stowaway من دورين:
admin الطرف المدير الذي يستخدمه مخترق الاختبار.agent الطرف المُدار الذي ينشره مخترق الاختبار.يمكن للأوامر التالية بدء تشغيل أبسط مثيل لـ Stowaway بسرعة.
./stowaway_admin -l 9999./stowaway_agent -c <IP_admin>:9999المعلمات:
-l عنوان الاستماع في الوضع السلبي [ip]:<port>
-s مفتاح تشفير اتصال العقد، يجب أن يكون متطابقًا لجميع العقد (admin && agent).
-c عنوان العقدة الهدف في الوضع النشط.
--socks5-proxy عنوان خادم وكيل socks5.
--socks5-proxyu اسم مستخدم خادم وكيل socks5 (اختياري).
--socks5-proxyp كلمة مرور خادم وكيل socks5 (اختياري).
--http-proxy عنوان خادم وكيل HTTP.
--down نوع بروتوكول المنبع السفلي، افتراضيًا هو حركة TCP الخام، اختياريًا HTTP/WS.
--tls-enable تفعيل TLS لاتصال العقدة. عند تفعيل TLS، سيتم تعطيل تشفير AES.
--domain تحديد اسم مجال SNI لـ TLS / WebSocket. إذا كان فارغًا، فسيتم استخدام عنوان العقدة الهدف افتراضيًا.
--heartbeat تفعيل حزم نبضات القلب.
المعلمات:
-l عنوان الاستماع في الوضع السلبي [ip]:<port>
-s مفتاح تشفير اتصال العقد.
-c عنوان العقدة الهدف في الوضع النشط.
--socks5-proxy عنوان خادم وكيل socks5.
--socks5-proxyu اسم مستخدم خادم وكيل socks5 (اختياري).
--socks5-proxyp كلمة مرور خادم وكيل socks5 (اختياري).
--http-proxy عنوان خادم وكيل HTTP.
--reconnect فترة إعادة الاتصال بالثواني.
--rehost عنوان IP المعاد استخدامه عند إعادة استخدام المنفذ.
--report رقم المنفذ المعاد استخدامه عند إعادة استخدام المنفذ.
--up نوع بروتوكول المنبع العلوي، افتراضيًا هو حركة TCP الخام، اختياريًا HTTP/WS.
--down نوع بروتوكول المنبع السفلي، افتراضيًا هو حركة TCP الخام، اختياريًا HTTP/WS.
--cs نوع ترميز shell للنظام الأساسي، افتراضيًا utf-8، اختياريًا gbk.
--tls-enable تفعيل TLS لاتصال العقدة. عند تفعيل TLS، سيتم تعطيل تشفير AES.
--domain تحديد اسم مجال SNI لـ TLS / WebSocket. إذا كان فارغًا، فسيتم استخدام عنوان العقدة الهدف افتراضيًا.
يستخدم هذا المعامل بنفس الطريقة لكل من admin و agent، ويستخدم فقط في الوضع السلبي.
إذا لم يتم تحديد عنوان IP، فسيتم الاستماع افتراضيًا على 0.0.0.0.
./stowaway_admin -l 9999 أو ./stowaway_admin -l 127.0.0.1:9999./stowaway_agent -l 9999 أو ./stowaway_agent -l 127.0.0.1:9999يستخدم هذا المعامل بنفس الطريقة لكل من admin و agent، ويمكن استخدامه في الوضعين النشط والسلبي.
اختياري. إذا كان فارغًا، فهذا يعني أن الاتصال غير مشفر. وإلا، فسيتم تشفير الاتصال باستخدام المفتاح الذي يقدمه المستخدم.
./stowaway_admin -l 9999 -s 123./stowaway_agent -l 9999 -s 123يستخدم هذا المعامل بنفس الطريقة لكل من admin و agent، ويستخدم فقط في الوضع النشط.
يمثل عنوان العقدة التي يرغب المستخدم في الاتصال بها.
./stowaway_admin -c 127.0.0.1:9999./stowaway_agent -c 127.0.0.1:9999تُستخدم هذه المعاملات الأربعة بنفس الطريقة لكل من admin و agent، وتُستخدم فقط في الوضع النشط.
--socks5-proxy يمثل عنوان خادم وكيل socks5، --socks5-proxyu و --socks5-proxyp اختياريان.
--http-proxy يمثل عنوان خادم وكيل HTTP، بنفس طريقة استخدام socks5.
بدون اسم مستخدم وكلمة مرور:
./stowaway_admin -c 127.0.0.1:9999 --socks5-proxy xxx.xxx.xxx.xxx./stowaway_agent -c 127.0.0.1:9999 --socks5-proxy xxx.xxx.xxx.xxxمع اسم مستخدم وكلمة مرور:
./stowaway_admin -c 127.0.0.1:9999 --socks5-proxy xxx.xxx.xxx.xxx --socks5-proxyu xxx --socks5-proxyp xxx./stowaway_agent -c 127.0.0.1:9999 --socks5-proxy xxx.xxx.xxx.xxx --socks5-proxyu xxx --socks5-proxyp xxxيُستخدمان هذان المعاملان بنفس الطريقة لكل من admin و agent، ويمكن استخدامهما في الوضعين النشط والسلبي.
لكن لاحظ أنه لا يوجد معامل --up في admin.
هذان المعاملان اختياريان. إذا كانا فارغين، فهذا يعني أن حركة المرور العلوية / السفلية هي حركة TCP خام.
إذا كنت ترغب في أن تكون حركة المرور العلوية / السفلية من نوع HTTP / WS، فاضبط هذين المعاملين على http أو ws.
./stowaway_admin -c 127.0.0.1:9999 --down ws./stowaway_agent -c 127.0.0.1:9999 --up ws أو ./stowaway_agent -c 127.0.0.1:9999 --up ws --down wsهناك نقطتان يجب ملاحظتهما:
أولاً، عند تعيين حركة المرور العلوية / السفلية لعقدة معينة على TCP / HTTP / WS، يجب أن تكون حركة المرور السفلية / العلوية للعقدة الأصلية / الفرعية المتصلة بها متطابقة، كما يلي:
./stowaway_admin -c 127.0.0.1:9999 --down ws./stowaway_agent -l 9999 --up wsفي هذه الحالة، يجب على agent تعيين --up إلى ws، وإلا سيحدث خطأ في الشبكة.
ينطبق الشيء نفسه بين agents.
افترض أن agent-1 يستمع على المنفذ 127.0.0.1:10000 وينتظر اتصال العقدة الفرعية، وقد تم تعيين --down ws.