
استكشف الشبكة باستخدام أداة VPNPivot
في بعض الأحيان نقوم باختبارات الاختراق الخارجية وعند اختراق الهدف البعيد، نود استكشاف الشبكة الداخلية خلفه والحصول على اختراق مثل امتلاك Active Directory، الوصول إلى الملفات المشتركة، تنفيذ هجمات MITM... إلخ. هناك العديد من التقنيات المتاحة مثل إعادة توجيه المنافذ (port forwarding) و socks4 ...، ولكن لكل منها إيجابيات وسلبيات. لهذا السبب ظهرت تقنية VPN pivoting، فهي تحل جميع المشكلات التي تواجهها عند استخدام كلتا التقنيتين المذكورتين أعلاه. تتيح لك التفاعل مع الشبكات الداخلية المحمية بواسطة جدران الحماية، و NAT... إلخ.
هذا تطبيق لتقنية VPN pivoting في Linux باستخدام مآخذ توصيل منخفضة المستوى (low-level sockets) ضمن جهاز tap. ينشئ نفقًا مشفرًا بالكامل باستخدام SSL/TLS بين الجهاز الهدف والمهاجم.
يرسل ويستقبل VPN Pivot حزمة TCP/IP مشفرة بالكامل عبر مأخذ توصيل دفق TCP (TCP stream socket)، ثم يقوم النظيران بإعادة توجيهها إلى الجهاز/المضيف المطلوب. يستكشف المهاجم الشبكة الداخلية وكأنه جزء منها باستخدام عنوان IP محلي مأخوذ من خادم DHCP أو مُكوّن بشكل ثابت.
yaourt -S vpnpivot-git
التثبيت بسيط جدًا، فقط اكتب الأوامر التالية:
root@pwnies:~# git clone https://github.com/0x36/VPNPivot.git
root@pwnies:~# cd VPNPivot
root@pwnies:~/VPNPivot# ./autogen.sh
root@pwnies:~/VPNPivot# ./configure
root@pwnies:~/VPNPivot# make && make install
يجب تشغيل خادم VPNPivot على جهاز المهاجم، فهو ينشئ جهازًا افتراضيًا (tap) مع إمكانية تغيير MAC (وهو مناسب للتزوير وتبديل MAC)، وعنوان IP، و MTU وكذلك مالك الواجهة. تتفاعل أجهزة TAP مع الجهاز الهدف، فهي ترسل/تستقبل إطارات Ethernet خام. بمجرد حصول المهاجم على اتصال ناجح عبر النفق، يمكن لجهاز tap التفاعل مع خادم DHCP للشبكة الداخلية المخترقة، واستقبال/إرسال حزم البث، وكذلك إعادة استخدام عناوين IP.
العمل مع pivots سهل جدًا، تحتاج فقط إلى معرفة معنى كل خيار:
root@pwnies:~/VPNPivot# ./src/pivots -h
__ _______ _ _ _____ _ _
\ \ / / __ \| \ | | __ (_) | |
\ \ / /| |__) | \| | |__) |__ _____ | |_
\ \/ / | ___/| . ` | ___/ \ \ / / _ \| __|
\ / | | | |\ | | | |\ V / (_) | |_
\/ |_| |_| \_|_| |_| \_/ \___/ \__|
VPNPivot server v1.0 by Simo36
-i --iface <device> إنشاء جهاز tap غير دائم
-I --ifconf <ip/mask> تكوين الواجهة (IP/MASK)
-p --port <port> منفذ استماع الخادم (الافتراضي: 12345)
-m --mtu <size> حجم MTU للجهاز الافتراضي (الافتراضي: 1550)
-u --user <user> مالك الجهاز (اختياري)
-H --hw <MAC> تعيين عنوان MAC للواجهة
-C --cert <server_cert> اسم ملف الشهادة بصيغة PEM
-P --pkey <private_key> اسم ملف المفتاح الخاص بصيغة PEM
-v --verbose وضع التفصيل
-d تشغيل كخدمة خلفية (daemon)
root@pwnies:~/VPNPivot#
جميع الخيارات أعلاه اختيارية، لكنها تستحق الشرح حتى لو كانت أوصافها واضحة بذاتها:
يجب تشغيل عميل VPN Pivot على الجهاز الهدف، فهو ينشئ ملفي مأخذ توصيل (socket files)، الأول كعميل للنفق والثاني للتفاعل مع شبكة الجهاز مباشرة. يعمل كما لو أننا ننشئ جهاز tap غير قابل للكشف مما يجعله أصعب في الاكتشاف.
العمل مع pivotc أسهل من الخادم، تحتاج فقط إلى عدم الارتباك عند محاولة توصيله بـ pivots:
root@pwnies:~/VPNPivot# ./src/pivotc
الاستخدام :
./src/pivotc <IP الخادم> <منفذ الخادم> <IP المحلي> [MTU]
root@pwnies:~/VPNPivot#
الخيارات هي:
لا يوجد شيء أفضل من عرض توضيحي مباشر، ولهذا قمت بعمل فيديو يشرح الاستخدام الأساسي لـ VPNPivot، والفيديو موجود على يوتيوب.
هذا كل شيء! استمتع بالاختراق :-) تحياتي