بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته ,,

في هذا المقال سأتحدث عن موضوع شيق جدًا وهو ما يطلق عليه Pivoting لا أعرف معنى الكلمة بالعربي للأسف ولكن هذا المصطلح يشير إلى “الوصول إلى نظام لا تستطيع الوصول إليه مباشرة ولذلك تستخدم نظام قمت باختراقه مسبقًا للوصول إليه”.

لنوضح الفكرة بشكل أكبر دعونا نرى الصورة التالية:

pivoting_1

 

السيناريو الذي نريد تصوره هو أننا نريد الوصول إلى الجهاز المسمى بـ iSec2 ولكننا لا نملك الوصول إلى هذه الشبكة، فهي شبكة منفصلة عنا.

لدينا ثلاثة أجهزة في هذا السيناريو وشبكتين:

الشبكة الأولى: 192.168.1.0

الشبكة الثانية: 192.168.56.0

وثلاثة أجهزة:

جهاز وسيط يحمل عنوان IP من الشبكتين، والجهاز المهاجم الخاص بنا، والجهاز الأخير هو الجهاز الهدف الذي نريد الوصول إليه في هذا السيناريو.

لكي نستطيع الوصول إلى الهدف المسمى iSec2 يجب علينا أولاً أن نقوم باختراق الهدف المسمى iSec1 ونقوم بتمرير كل الطلبات من خلاله للوصول إلى الهدف المسمى iSec2.

لن أقوم بشرح كيفية تنفيذ الاختراق، ولكني سأقوم بشرح كيفية صنع الـRoute الذي سيوصل بين الجهاز المهاجم الذي يحمل عنوان الـIP 192.168.1.6 وبين الجهاز الهدف المسمى iSec2 الذي يحمل عنوان الـIP 192.168.56.103.

لدي الآن Meterpreter Session متاحة بيني وبين النظام iSec1 كما هو موضح في الصورة:

pivoting_2

سأقوم بالاستفادة منها وجعلها الـRoute الوسيط بيني وبين النظام iSec2، لتأكيد استحالة الوصول بين الشبكتين سأقوم بعمل Ping بين النظام المهاجم والنظام المراد اختراق وهو iSec2 كما هو موضح في الصورة:

pivoting_3

كما نرى في الصورة السابقة، فلم تصل أيًا من الحزم الخاصة بنا إلى الهدف وذلك لأنه على شبكة أخرى. في هذه الحالة نحن بحاجة إلى طريقة تمكننا من تمرير الحزم الخاصة بنا إلى النظام المسمى iSec2 وذلك من خلال النظام iSec1 الذي قمنا باختراقه مسبقًا. هذه الطريقة ما يمكن أن نطلق عليه مصطلح Pivoting.

سنقوم باستخدام سكربت متاح في الميتاسبلويت لنقوم بعمل الـRoute الذي نريده وذلك من خلال السكربت المسمى autoroute.

pivoting_4

سنقوم باستخدام السكربت الموضح في الصورة السابقة كما نرى الآن:

pivoting_5

ما قمنا بفعله في الصورة السابقة، هو أننا قمنا باستخدام الـMeterpreter Session وذلك لإنشاء الـRoute وذلك من خلال الأمر الأول وبعد ذلك قمنا بطباعة الـRoute النشطة من خلال الأمر الثاني.

بهذه السهولة قمنا بصنع الـRoute، دعنا الآن نقوم بتجربة عمل TCP Scan للنظام iSec2.pivoting_6

كما نرى، نجحنا في عمل فحص للنظام iSec2. ولكن المشكلة أننا لا نستطيع فعل ذلك خارج مشروع الميتاسبلويت وحلاً لهذه المشكلة يمكننا تنصيب Proxy يقوم بتوصيل الطلبات الخاصة بنا إلى النظام الهدف وذلك باستخدام ما يسمى بالـProxyChains.

لفعل ذلك يمكننا استخدام Auxiliary في الميتاسبلويت يقوم بهذه المهمة، كما هو موضح في الصورة التالية:

pivoting_7
لقد قمنا بتنصيب Proxy Server يعمل على البورت 1080 والـLocalhost الخاص بالنظام. لكن قبل استخدامه يجب علينا التعديل على ملف الإعدادات الخاص بالـProxyChains وإضافة الـProxy الخاص بنا إليه. يمكننا فعل ذلك من خلال التعديل على ملف الإعدادات الموجود في المسار التالي:

pivoting_8

قمت في الصورة السابقة باستخدام محرر النصوص Vim ولكن طبعًا متاح لكم استخدام أي محرر نصوص آخر.

pivoting_9

قمت بإضافة سطر جديد وهو socks4 127.0.0.1 1080 وهو مطابق لما قمنا باستخدامه في الميتاسبلويت. وستلاحظون أيضًا أن هناك سطر سابق موجود بشكل افتراضي في الملف وهو socks4 127.0.0.1 9050 وهو الـProxy الافتراضي الذي يعمل عليه مشروع Tor الغني عن التعريف ولكننا قمنا بحذفه وقمنا بإضافة البورت 1080 والذي قمنا باستخدامه في الميتاسبلويت وذلك لأننا إن تركنا السطر السابق سيعمل البروكسي على البورت 9050 وليس البورت 1080.

سنقوم بعدها بحفظ الملف بالسطر الجديد الذي قمنا بإضافته وتجربة عمل فحص من خلال الـNmap خارج مشروع الميتاسبلويت.

pivoting_10

 

الصورة السابقة تثبت نجاح الفحص 🙂

الجزء الأخير من المقال سأتحدث فيه عن شرح استغلال الـRoute الذي قمت بصنعه في الجزء الأول من المقال لاختراق النظام iSec2.

pivoting_11

في الصورة السابقة استخدمنا الثغرة الشهيرة في ويندوز XP وهي الموجودة في خدمة SMB، وذلك لسهولة توصيل فكرة تنفيذ الاختراق من خلال الـRoute. يجب التنويه أن الـMeterpreter Session التي قمنا بصنع الـRoute من خلالها تعمل في الـBackground وإلا استغلالنا لهذه الثغرة لن يعمل.

pivoting_12

ما يهمني في الصورة السابقة، هو أنني قمت باختيار نوع الـPayload وقمت باختياره ليكون Bind وليس Reverse وذلك لأننا قمنا باستغلال الثغرة من خلال الـRoute. ولكن إن أردنا استغلاله من خلال Payload من نوع Reverse فيجب أن تكون قيمة الـLHOST هي عنوان الـIP الخاص بالنظام الذي تم اختراقه مسبقًا iSec1.

pivoting_13
تمت العملية بنجاح وأصبحنا نملك جلستين Meterpreter وليس جلسة واحدة. بهذه ينتهي مقالنا لهذا اليوم.

أتمنى أن تكونوا قد استفدتم وإن شاء الله نلتقي في مقال أخر 🙂