التمحور في الشبكات الداخلية وأساليبه وكيفية إعداده (لأغراض تعليمية)
التمحور في الشبكات الداخلية وأساليبه وكيفية إعداده (لأغراض تعليمية) |
التمحور في الشبكات الداخلية وأساليبه وكيفية إعداده (لأغراض تعليمية)
أما اليوم فنتحدث عن تفاصيل تلك العملية أي عملية إستغلال حاسوب للوصول لآخر متصل معه على الشبكة الداخلية وهو ما يعرف بالتمحور Pivoting.
تنويه : جميع ماورد في هذا المقال للأغراض التعليمية فقط والتعمق في علم الشبكات للدارسين والباحثين ، وأي استخدام سيء لهذا المقال لا يتحمل موقع عرب فيوتشر أي مسؤلية في ذلك
مخطط الشبكة في سيناريو التمحور Pivoting
التمحور في الشبكات الداخلية وأساليبه وكيفية إعداده (لأغراض تعليمية) |
على اليمين شبكة خاصة مكونه من حاسوبين أحدهم يعمل كخادم ويب ولذلك تم تحويل المنفذ 80 إليه من الجدار الناري وبالتالي يستطيع أي حاسوب خارج الشبكة الوصول لذلك الخادم، على اليسار حاسوب خارج الشبكة تمكن من إيجاد ثغرة أمنية في خادم الويب وإستطاع من خلالها التحكم بالخادم بأكمله، بينما لا يمكن للحاسوب المهاجم الوصول للخادم الآخر على الشبكة الداخلية بشكل مباشر بسبب الجدار الناري إلا أنه من الممكن إستغلال الخادم المخترق في الوصول للآخر إذ أن الجدار الناري لا يمثل حاجز بين الأجهزة الداخلية نفسها (إلا إن تم إستخدام DMZ كما أشرنا).
ما يهمنا هنا هو المخطط العام للشبكة، لا يهم نوع الخادم الذي تم إتاحته على الشبكة العامة في المثال كان خادم ويب ولكن قد يكون خادم vpn أو ftp أو حتى backdoor مباشر ما يهم هو التحكم بأحد الأجهزة الداخلية للشبكة أياً كانت الوسيلة (حتى لو بإستخدام إتصال عكسي أي دون وجود منافذ مفتوحه من الأساس) أيضاً لا يهم عدد الأجهزة الداخلية في المثال لدينا إثنان ولكن يمكن التمحور من خلال النظام المخترق لأي عدد من الأنظمة يمكنه الوصول إليها فإذا كان النظام المخترق يملك أكثر من كارت شبكة ومن خلال كل منها يملك وصول لمئات الأجهزة فالمهاجم أيضاً يمكنه الوصول لكل تلك الأجهزة من خلال التمحور.
مبدأ عمل التمحور
يعتمد التمحور بشكل عام على توجيه حزم الشبكة من نظام المهاجم إلى النظام الهدف مروراً بالنظام المخترق الذي يمثل المحور "pivot" ويسمى أيضاً foothold.
إذا قمنا بنقل نص برمجي وتشغيله على النظام المخترق لإستغلال ثغره بالنظام الهدف تلقائياً دون توجيه الحزم لا يعد ذلك Pivoting بمدلول المصطلح في عالم الشبكات بالرغم من إستغلال النظام المخترق في الوصول لآخر بنجاح، عند إستخدام مصطلح Pivoting توقع أن يفهم المستمع أن النظام المستخدم هو نظام المهاجم ولكن تم توجيه البيانات للنظام الهدف بإستخدام النظام المخترق.
أهمية التمحور
الهدف العام من التمحور هو محاولة إختراق الأنظمة الأخرى في الشبكات الخاصة ولكنه يفيد أيضاً في حالة الرغبة بالوصول للموارد الداخلية من نظام المهاجم فحسب.لا يعد تشغيل سكربت الإستغلال على النظام المخترق مباشرة بديل جيد للتمحور ذلك لأن النظام المخترق قد لا تتوفر به الأدوات اللازمة لإتمام الهجمات فيلزم تحميلها وتثبيتها بعد توفير متطلباتها التشغيلية وهو ما يستغرق الوقت ويلفت الإنتباه والأسوء ألا تملك الصلاحيات اللازمة لذلك أو ألا يمثل النظام المخترق بيئة عمل مناسبة لتلك الأدوات مطلقاً، أما التمحور على الجانب الآخر فيمكن المهاجم من إستخدام نظامه المتقدم والمعد خصيصاً للهجوم ولا يتطلب سوى توجيه الحزم على النظام المخترق وهو أمر لا يتطلب إمكانيات خاصة ونضمن إمكانية إتمامه على كافة أنظمة التشغيل.
إعداد بيئة الإختبار
يمكن تهيئة بيئة إختبار لأساليب التمحور التالي ذكرها بإستخدام Hypervisor مثل Virtual Box المتاح على أنظمة التشغيل المختلفة.سينبغي عليك إنشاء ثلاثة أنظمة إفتراضية:
- نظام Kali linux كنظام المهاجم بإتصال شبكة Bridged
- نظام Ubuntu كهدف بإتصال شبكة Internal Network
- نظام win xp كنظام مخترق ويملك إتصالي شبكة أحدهم Bridged والآخر Internal Network وسيتم إستغلاله كمحور أي Pivot.
مع العلم أن الإعدادات السابقة على سبيل المثال لا الحصر، فأي نظام تشغيل يمكن أن يمثل المهاجم أو المحور أو الهدف ويمكن إستخدام NAT Network أو Subnetting بدلاً من Internal Network.
* تم توضيح كيفية إعداد الشبكة لأنظمة VirtualBox في مقال سابق.
أساليب التمحور
بصفة عامة تعتمد أساليب التمحور على إحدى هذه التقنيات:- Proxy
بإستخدام نت كات Netcatنت كات هي أداة شبكة شهيرة متعددة الإستخدامات يمكن من خلالها بدء خادم بروكسي مباشرة بإستخدام الأمر التالي :
ncat -l 3128 --proxy-type http
ثم من نظام المهاجم يتم إضافة عنوان النظام المستضيف للخادم والمنفذ المختار (3128) كخادم من إعدادات المتصفح لكي يتم توجيه طلبات المتصفح عبر ذلك الخادم والذي يملك الوصول لمواقع ويب داخلية غير متاحة بشكل مباشر لنظام المهاجم.
تدعم أداة نت كات Socks proxy أيضاً وهو خادم بروكسي عام الإستخدام أي يدعم بروتوكولات http, ftp وغيرها وذلك لأنه يعمل خلال طبقة أدنى من طبقات الشبكة.
- Forwarding
بإستخدام SSH Forwardingفي حالة توفر بيانات حساب SSH فيمكن إنشاء خادم Proxy من خلاله عبر الأمر التالي:
ssh username@host -D1080
هذا الأمر ينشأ Socks proxy يدعم الإصدار الرابع أو الخامس ويمثل 1080 منفذ الخادم مع العلم أنه في هذه الحالة يعمل الخادم على نظام المهاجم نفسه، فعند إضافة عنوان خادم البروكسي في البرامج يكون العنوان هو 127.0.0.1 أو localhost وعندما يستلم الخادم الطلب يتم تحويله عبر SSH إلى المحور للوصول من خلاله للنظام الهدف ولذلك تعد هذه الطريقة "إعاده توجيه" ووظيفة خادم بروكسي هنا هي إستقبال الطلبات الخاصة بالبروتوكولات المختلفة وإعادة توجيه كلا منها فحسب وإلا فبدونه سنضطر لتحويل كل منفذ من نظام المهاجم إلى منفذ آخر معين في النظام المستهدف عبر المحور بشكل مستقل بإستخدام الأمر التالي:
ssh username@host -L 1080:192.168.1.1:80
فبعد تنفيذ هذا الأمر أصبح المنفذ 1080 في نظام المهاجم يقود إلى خادم ويب على المنفذ 80 بعنوان 192.168.1.1 مروراً بالنظام المحور (الذي تم الإتصال به عبر SSH حيث يمثل host عنوان المحور وusername هو مستخدم على ذلك النظام) أما الأمر الأول بإستخدام –D فيقوم بإنشاء خادم بروكسي عام يتم إرسال البيانات من خلاله لأي عنوان على أي منفذ.
الأمر الأول هو طريقة لأتمتة الأمر الأمر الثاني Dynamic Port forwarding فبدلاً من توجيه منفذ معين لكل هدف بشكل يدوي نستخدم خادم بروكسي يستقبل هذه المعلومات ونعيد توجيهها منه تلقائياً.
كنا لنعتبر ذلك الأمر ضمن الصنف الأول من التمحور بإستخدام بروكسي فقط لو كان خادم البروكسي يعمل على نظام المحور ولكن ما يحدث هنا من جانب المحور هو مجرد إعادة تحويل.
- VPN
التمحور بالإعتماد على إتصال في بي إن يعطي أفضلية في التحكم بالشبكة الداخلية نظراً لعمله على مستوى الطبقة الثانية من طبقات الشبكة.
يمكن تنفيذ التمحور إعتماداً على إتصال في بي إن بإستخدام Covert VPN في الأداة الشهيرة Cobalt Strike أو بإعداد خادم OpenVPN.
ملاحظات
- قد لا تعمل خاصية SSH Dynamic Forwarding مع بعض الأدوات جيداً مثل Nmap بإستخدام حسابات غير root.- إذا لم تكن الأداة التي تستخدمها تدعم خيار إستخدام بروكسي يمكنك إستخدام أداة Proxychaines لتوجيه الحزم التي ترسلها تلك الأداة لخادم بروكسي.
- إستخدم البرامتر -f لإرسال إتصال SSH في الخلفية إذ لا حاجة لتنفيذ أوامر فعلياً بعد الإتصال.
- إذا كنت تستخدم Metasploit فلا ينصح بإستخدام SSH Forwarding بدلاً من ذلك يمكنك إستخدام Pivoting Modules المدمجة بالفعل في Metasploit مثل autoroute.
- لاحقاً إذا تمكنت من تثبيت Reverse Shell في النظام الهدف يمكنك إستخدام Remote Port-Forwarding أيضاً بإستخدام SSH فيتصل الهدف بالمحور أولاً ومنه يتم تحويل الإتصال إليك وذلك في حالة عدم وجود إتصال إنترنت أو حجب الإتصالات الصادره عن الهدف وإلا فيمكن الإتصال بنظام المهاجم مباشرة.
- يمكن تحويل المنافذ أيضاً عبر أداة نت كات أو بإستخدام Metasploit أو بأوامر نظام التشغيل مباشرة.
- الفرق بين إعادة التوجيه وخادم بروكسي أن عملية إعاده التوجيه تتم كلما إستلم المحور حزمة من البيانات أرسلها للهدف مباشرة دون تفقد ويظهر فيها المصدر الحقيقي أما خادم بروكسي فينشأ إتصال بين الطرف الأول ويستقبل البيانات ثم يتأكد من تكاملها ويعيد إرسالها للهدف ويظهر كالمرسل. الفشل في إرسال الحزم لا يظهر إلا عند الهدف في حال إعادة التوجيه بينما يتم تداركه عند إستخدام بروكسي ولا يتم إرسال أي حزم غير سليمة للهدف. إنظر أيضاً الفرق بين البروكسي والفي بي إن.
أدوات أخرى للتمحور
- PivotSuite
- sshuttle
- Plink
- 3proxy
- SSLH
تنويه : جميع المعلومات المذكورة للأغراض التعليمية فقط ، أي تطبيق غير مصرح به لا يتحمل موقع عرب فيوتشر مسؤوليته.
ليست هناك تعليقات:
يمكنك إضافة الملاحظات او الإستفسار عن محتوي المشاركة او اضافة معلومة جديدة لم يتم التطرق اليها ، يمنع اضافة اية روابط علي سبيل الدعاية