المقدمة
يصف هذا وثيقة TCP إعادة تشغيل أن يعيد حركة مرور الشبكة من ملفات PCAP محفوظة مع ربط التقاط أداة.
طوبولوجيا
المتطلبات
- VM مع kali Linux وبطاقتي واجهة شبكة (NICs)
- برنامج الإرسال فائق السرعة (FTD) (يفضل أن تتم إدارته بواسطة FMC)
- معرفة Linux لتشغيل الأوامر.
معلومات أساسية
إعادة تشغيل TCPهو أداة تستخدم لإعادة تشغيل حركة مرور الشبكة من ملفات PCAP المحفوظة باستخدام أدوات التقاط الحزم مثل wireshark أو TCPdump. يمكن أن يكون مفيدا للمواقف التي تحتاج فيها إلى نسخ حركة المرور لاختبار النتيجة على أجهزة الشبكة.
تتمثل العملية الأساسية لإعادة تشغيل TCP في إعادة إرسال جميع الحزم من ملف (ملفات) الإدخال بسرعة تسجيلها أو معدل بيانات محدد، بسرعة تصل إلى قدرة الجهاز.
هناك طرق أخرى لتنفيذ هذا الإجراء، ومع ذلك، فإن الغرض من هذه المقالة هو تحقيق إعادة تشغيل TCP دون الحاجة إلى موجه متوسط.
التنفيذ
تكوين FTD:
1. قم بتكوين الواجهات الداخلية/الخارجية باستخدام IP على نفس المقطع الذي تمتلكه على حزم الالتقاط الخاصة بك:
- المصدر: 172.16.211.177
- الوجهة: 192.168.73.97
FMC > الأجهزة > إدارة الأجهزة > الواجهات > تحرير كل واجهة
تلميح: من أفضل الممارسات تخصيص كل واجهة في شبكة VLAN مختلفة لإبقاء حركة المرور معزولة.
running-config (مثال)
interface Ethernet1/1
nameif Outside
ip address 192.168.73.34 255.255.255.0
!
interface Ethernet1/2
nameif Inside
security-level 0
ip address 172.16.211.34 255.255.255.0
2. قم بتكوين المسارات الثابتة من الأجهزة المضيفة إلى بواباتها وإدخالات ARP المزيفة إليها نظرا لأنها عبارة عن بوابات غير موجودة.
FMC > Devices > Device Management > Routes > Select your FTD > Routing > Static Route > Add Route
running-config (مثال)
route Inside 172.16.211.177 172.16.211.100 1
route Outside 192.168.73.97 192.168.73.100 1
أستخدم الباب الخلفي لأداة LinaConfigTool لتكوين إدخالات ARP المزيفة:
- تسجيل الدخول إلى واجهة سطر الأوامر (CLI) الخاصة ب FTD
- الانتقال إلى وضع الخبراء
- رفع الامتيازات الخاصة بك (sudo su)
مثال تكوين LinaConfigTool
/usr/local/sf/bin/LinaConfigTool "arp Inside 172.16.211.100 dead.deed.deed"
/usr/local/sf/bin/LinaConfigTool "arp Outside 192.168.73.100 dead.deed.deed"
/usr/local/sf/bin/LinaConfigTool "write mem"
3. قم بتعطيل عشوائية رقم التسلسل المتساوي.
- إنشاء قائمة وصول موسعة:
Go to FMC > Objects > Access List > Extended > Add Extended Access List
- قم بإنشاء قائمة التحكم في الوصول (ACL) بمعلمات "السماح بأي"
- تعطيل عشوائية رقم التسلسل:
Go to FMC > Policies > Access Control > Select your ACP > Advanced > Threat Defense Service Policy
- إضافة قاعدة وتحديد
Global
- حدد منشأك السابق
Extended ACL
- إلغاء التحقق
Randomize TCP Sequence Number
التكوين الجاري (running-config)
policy-map global_policy
class class-default
set connection random-sequence-number disable
تهيئة لينوكس:
- تكوين IP لكل واجهة (يستند هذا إلى أي واحد ينتمي إلى الشبكة الفرعية الداخلية والشبكة الفرعية الخارجية)
- ifconfig ethX <ip_address> netmask <mask>
- مثال: ifconfig eth1 172.16.211.35 netmask 255.255.255.0
- (إختياري) قم بتكوين كل واجهة في شبكة VLAN مختلفة
- نقل ملف PCAP إلى خادم Kali Linux (يمكنك الحصول على ملف PCAP باستخدام tcpdump، التقاط على FTD، وما إلى ذلك)
- إنشاء ملف ذاكرة تخزين مؤقت لإعادة تشغيل TCP باستخدام TCPPREP
- tcpprep -i input_file -o input_cache -c server_ip/32
- مثال: tcpprep -i stream.pcap -o stream.cache -c 192.168.73.97/32
- إعادة كتابة عناوين MAC باستخدام tcprewrite
- tcprewrite -i input_file -o output_file -c input_cache -c —enet-dmac=<ftd_server_interface_mac>،<ftd_client_interface_mac>
- مثال: tcprewrite -i stream.pcap -o stream.pcap.replay -c stream.cache -c —enet-dmac=00:50:56:b3:81:35،00:50:56:b3:63:f4
- توصيل بطاقات واجهة الشبكة (NIC) ب ASA/FTD
- إعادة تشغيل الدفق باستخدام tcpreplay
- tcpreplay -c input_cache -i <nic_server_interface> -i <nic_client_interface> output_file
- مثال: tcpreplay -c stream.cache -i eth2 -i eth1 stream.pcap.replay
التحقق من الصحة
قم بإنشاء حزم على FTD لاختبار ما إذا كانت الحزم التي تصل إلى الواجهة الخاصة بك:
- إنشاء التقاط حزمة على الواجهة الداخلية
- CAP i قارن داخلي تتبع مطابقة ip any
- إنشاء التقاط حزمة على الواجهة الخارجية
- واجهة CAP o الخارجية تطابق التتبع IP any
ركضت ال tcpreplay وفحصت إن الربط وصل داخل قارن ك:
مثال سيناريو
firepower# show cap
capture i type raw-data trace interface Inside interface Outside [Capturing - 13106 bytes]
match ip any any
capture o type raw-data trace interface Outside [Capturing - 11348 bytes]
match ip any any
firepower# show cap i
47 packets captured
1: 00:03:53.657299 172.16.211.177.23725 > 192.168.73.97.443: S 1610809777:1610809777(0) win 8192
2: 00:03:53.657406 172.16.211.177.23726 > 192.168.73.97.443: S 3584167858:3584167858(0) win 8192
3: 00:03:53.803623 192.168.73.97.443 > 172.16.211.177.23726: S 2938484797:2938484797(0) ack 3584167859 win 64240
4: 00:03:53.803806 172.16.211.177.23726 > 192.168.73.97.443: . ack 2938484798 win 258
5: 00:03:53.804172 172.16.211.177.23726 > 192.168.73.97.443: P 3584167859:3584168376(517) ack 2938484798 win 258
firepower# show cap o
29 packets captured
1: 00:03:53.803638 192.168.73.97.443 > 172.16.211.177.23726: S 2938484797:2938484797(0) ack 3584167859 win 64240
2: 00:03:53.808078 192.168.73.97.443 > 172.16.211.177.23725: S 1639088682:1639088682(0) ack 1610809778 win 64240
3: 00:03:53.951717 192.168.73.97.443 > 172.16.211.177.23726: . ack 3584168376 win 501
4: 00:03:53.955776 192.168.73.97.443 > 172.16.211.177.23726: . 2938484798:2938486178(1380) ack 3584168376 win 501
5: 00:03:53.955806 192.168.73.97.443 > 172.16.211.177.23726: P 2938486178:2938487558(1380) ack 3584168376 win 501