PhanTap هو نقطة التقاط شبكية «غير مرئية» تهدف إلى الفرق الحمراء. مع توفر وصول مادي محدود إلى المبنى المستهدف، يمكن تثبيت هذه النقطة في منتصف المسار (inline) بين جهاز الشبكة والشبكة المؤسسية. يعمل PhanTap بصمت داخل الشبكة ولا يؤثر على حركة مرور الضحية، حتى في الشبكات التي تستخدم NAC (Network Access Control 802.1X - 2004).
يحلل PhanTap حركة المرور على الشبكة ويُخفي حركة مروره كأنها صادرة من جهاز الضحية.
يمكنه إنشاء نفق عائد إلى خادم بعيد، مما يمنح المستخدم موطئ قدم في الشبكة لمزيد من التحليل والتنقل بين الأنظمة (pivoting).
PhanTap هو حزمة OpenWrt وينبغي أن يكون متوافقًا مع أي جهاز. الجهاز المادي المستخدم في اختباراتنا هو حاليًا موجه صغير وغير مكلف، وهو GL.iNet GL-AR150.
يمكنك العثور على مقالة مدونة مفصّلة تصف PhanTap هنا.
الميزات:
جسر شبكة شفاف (transparent bridge).
صامت: لا ARP ولا multicast ولا broadcast.
تمرير 802.1x.
الإعداد التلقائي:
التقاط حركة المرور الواردة إلى الشبكة (حيث يكون المصدر غير RFC1918 والوجهة RFC1918)، وعنوان IP وMAC الوجهة يمثلان الضحية، وعنوان MAC المصدر هو البوابة الخاصة بنا،
تطبيق SNAT على حركة المرور عبر الجسر باستخدام عنوان MAC وعنوان IP الخاصين بالضحية،
ضبط البوابة الافتراضية للموجه على عنوان MAC للبوابة التي تم اكتشافها قبل ذلك مباشرة.
يفحص حركة مرور ARP وmulticast وbroadcast ويضيف مسارًا إلى عنوان IP للجهاز ويضيف عنوان MAC الخاص بالجهاز إلى قائمة الجيران، مما يتيح إمكانية التواصل مع جميع الأجهزة في الشبكة المحلية.
يتعلم خادم DNS من حركة المرور ويعدّل خادم DNS على الموجه ليكون مماثلًا له.
يفحص حزم DHCP لإعادة الضبط الديناميكي.
يمكنه تشغيل أوامر (مثال: /etc/init.d/openvpn restart) عند إعداد عنوان IP أو DNS جديد.
يتيح لك اختيار أي برنامج VPN، على سبيل المثال OpenVPN عبر منفذ TCP 443 بحيث يعبر عبر معظم جدران الحماية.
يمكنك التواصل مع جهاز الضحية (باستخدام عنوان IP الخاص بالبوابة).
الإعداد
تم اختبار PhanTap مع GL.iNet GL-AR150. يمتلك هذا الجهاز واجهتي شبكة منفصلتين في OpenWrt (eth0، eth1).
إذا كان جهازك يستخدم محولًا داخليًا (قائمًا على swconfig) مع واجهات مثل eth0.1 وeth0.2، فقد يتم حظر بعض حركة المرور الخاصة، مثل 802.1Q (VLAN موسوم)، لكن PhanTap يجب أن يعمل.
أصبح Phantap الآن مُهيأ؛ بمجرد توصيله بين الضحية والمحول (switch) الخاصة بها، سيقوم تلقائيًا بإعداد الموجه ومنحه اتصالًا بالإنترنت.
يمكنك إضافة VPN المفضلة لديك للحصول على اتصال عن بُعد عائد. اختبرنا PhanTap مع OpenVpn عبر منفذ TCP 443 لتجنب بعض طرق الاكتشاف.
يمكنك أيضًا إضافة أمر ليتم تشغيله عند إعداد عنوان IP أو DNS جديد، في /etc/config/phantap، مثال: /etc/init.d/openvpn restart (إعادة تشغيل خدمة OpenVpn).
تدعم GL.iNet GL-AR150 ومعظم الأجهزة غير المكلفة 100Mbps فقط، في حين أن حركة مرور الشبكات الحديثة تكون 1Gbps.
سيبقى منفذ الشبكة في حالة تشغيل من جهة المحول (switch) عندما يتم فصل جهاز الضحية أو إيقاف تشغيله.
يتم حظر بعض حركة المرور بواسطة جسر Linux (STP/Pause frames/LACP).
يرسل وضع failsafe في OpenWrt حزم IPv4 وIPv6 كما هو موضح في التوثيق: https://openwrt.org/docs/guide-user/troubleshooting/failsafe_and_factory_reset. يحدث هذا أثناء الإقلاع المبكر ويمكن أن يتسبب في اكتشاف الجهاز. لا يوجد حل سهل لتعطيله في وقت التشغيل، لأن هذا الإعداد موجود في U-Boot. قسم U-Boot مثبت للقراءة فقط ولا يمكن الوصول إلى إعداده وتعديله إلا من خلال قشرة U-Boot (عبر UART على GL-AR150 على سبيل المثال). الحل الأسهل هو ترجمة OpenWrt مع تفعيل خيار TARGET_PREINIT_DISABLE_FAILSAFE.
خارطة الطريق :
إضافة منطق لإعادة تشغيل الاكتشاف عند صعود الروابط أو هبوطها.
إضافة دعم IPv6.
اختبار حدود الأجهزة التي تحتوي على محولات (swconfig) بدلًا من الواجهات المنفصلة.