شروحات | مثال على هجوم BadUSB لاستخراج شبكات wifi
هجوم BadUSB هو نوع من الهجمات السيبرانية حيث يتم تحويل جهاز USB (مثل الفلاش ميموري) إلى أداة خبيثة يمكنها تنفيذ أوامر ضارة على جهاز الكمبيوتر.
يتم ذلك عن طريق التلاعب ببرمجيات جهاز USB لجعله يعمل كلوحة مفاتيح أو أداة إدخال تلقائي، مما يسمح بتنفيذ أوامر خطيرة بدون علم المستخدم.
قد سبق والتحدث عن هجوم BadUSB ، تستطيع الرجوع الى المقالة من هنا ، لكي تكون على معرفة كاملة بهذه النوع من الهجمات.
ماهو : هجوم BadUSB وكيفية استغلاله لاستخراج شبكات wifi
يمكنك استخراج أسماء الشبكات وكلمات المرور الخاصة بها وحفظها في ملف نصي بطريقة منظمة. في هذه المقالة، سنشرح هذا الكود خطوة بخطوة وبطريقة سهلة وواضحة.
الكود طريقة عمله كالتالي : عندما تقوم بتشغيل الامر يقوم بعمليات سريعة واستخراج الملفات التي تم برمجتها عليه ، مثلا مايحدث في الافلام عند توصيل usb الى جهاز كمبيوتر وتظهر شاشة تقوم بسرقة الملفات.
ملاحظة مهمة
هذا الكود تعليمي فقط لفهم كيفية عمل هجمات BadUSB، ويجب عدم استخدامه لإيذاء الآخرين أو اختراق أجهزتهم، لأن ذلك يعد مخالفة قانونية وأخلاقية.
إذا كنت ترغب في تعلم هذه التقنية، استخدمها فقط في بيئة تجريبية آمنة وعلى أجهزتك الشخصية ، شرحنا اليوم سوف يقتصر فقط على طريقة استخراج الشبكات المحفوظة
ولن نتطرق الى طريقة تثبيتها على قطعة usb وذلك بسبب انه غير امن ومن الممكن استخدامه في إيذاء الآخرين أو اختراق أجهزتهم
ماهو: الهدف من الكود الذي سوف نشرحه
- يبحث عن الشبكات اللاسلكية (Wi-Fi) المحفوظة على جهازك.
- يستخرج كلمات المرور (إذا كانت محفوظة).
- يحفظ النتائج في ملف نصي ليسهل الوصول إليها لاحقًا.
- يعرض الملف النصي تلقائيًا بمجرد انتهاء العملية.
ماهي: الأدوات التي يعتمد عليها الكود
1. أوامر النظام:
- الكود يستخدم أوامر
netsh
، وهي أوامر مدمجة في نظام Windows لإدارة الشبكات. - من خلال هذه الأوامر، يتم استخراج قائمة الشبكات اللاسلكية وكلمات المرور الخاصة بها.
2. إدارة الملفات:
- الكود يستخدم أدوات لإنشاء ملف نصي وكتابة النتائج فيه.
شرح : الكود خطوة بخطوة
1. إعداد الأدوات الأساسية
Set objShell = CreateObject(“WScript.Shell”)
Set objFSO = CreateObject(“Scripting.FileSystemObject”)
- objShell: أداة لتنفيذ أوامر النظام.
- objFSO: أداة لإنشاء الملفات والمجلدات وإدارتها.
2. تحديد الملف النصي
Dim notepadFileName
notepadFileName = “wifi_passwords.txt”
strScriptDir = objFSO.GetParentFolderName(WScript.ScriptFullName)
strFilePath = objFSO.BuildPath(strScriptDir, notepadFileName)
- يتم تحديد اسم الملف النصي (wifi_passwords.txt) ومكان حفظه (نفس مكان الكود).
3. إنشاء وفتح الملف النصي
Set objFile = objFSO.OpenTextFile(strFilePath, 2, True)
- إذا لم يكن الملف موجودًا، يتم إنشاؤه تلقائيًا. وإذا كان موجودًا، يتم فتحه لكتابة البيانات الجديدة.
4. استخراج أسماء الشبكات اللاسلكية
Set profiles = objShell.Exec(“netsh wlan show profiles”).StdOut
Dim lines
lines = Split(profiles.ReadAll(), vbCrLf)
- يتم تنفيذ أمر
netsh wlan show profiles
للحصول على قائمة بأسماء الشبكات اللاسلكية المحفوظة على الجهاز. - يتم تخزين النتائج كسطر نصي لكل شبكة.
5. استخراج كلمة المرور لكل شبكة
For i = 0 To UBound(lines)
line = Trim(lines(i))
If InStr(line, “All User Profile”) > 0 Then
wifiName = Trim(Split(line, “:”)(1))
Set cmdOutput = objShell.Exec(“netsh wlan show profiles “”” & wifiName & “”” key=clear”).StdOut
cmdLines = Split(cmdOutput.ReadAll(), vbCrLf)
password = “Not found”
For j = 0 To UBound(cmdLines)
cmdLine = Trim(cmdLines(j))
If InStr(cmdLine, “Key Content”) > 0 Then
password = Trim(Split(cmdLine, “:”)(1))
Exit For
End If
Next
objFile.WriteLine “Network: ” & wifiName
objFile.WriteLine “Password: ” & password
objFile.WriteLine String(40, “-“)
End If
Next
- يتم البحث عن الأسطر التي تحتوي على “All User Profile” لاستخراج أسماء الشبكات.
- لكل شبكة يتم تنفيذ أمر جديد:
netsh wlan show profiles "اسم الشبكة" key=clear
لاستخراج معلومات الشبكة، بما في ذلك كلمة المرور.
- إذا تم العثور على كلمة المرور (تظهر بجانب “Key Content“)، يتم تخزينها.
- إذا لم يتم العثور على كلمة مرور، يتم تسجيل أنها “غير موجودة“.
6. كتابة النتائج في الملف النصي
- يتم كتابة اسم كل شبكة وكلمة المرور الخاصة بها في الملف النصي.
7. إنهاء العملية وفتح الملف
objFile.Close
objShell.Run “notepad.exe ” & strFilePath
- يتم حفظ وإغلاق الملف النصي.
- يفتح الكود الملف النصي تلقائيًا باستخدام برنامج “المفكرة“.
كيفية تشغيل الكود؟
- انسخ الكود في ملف نصي واحفظه بامتداد
vbs
، مثلwifi_passwords.vbs
.
- انقر بزر الفأرة الأيمن على الملف واختر “تشغيل كمسؤول“ (Run as Administrator).
- سيتم إنشاء ملف باسم wifi_passwords.txt في نفس مجلد الكود.
نتائج الكود
عند تشغيل الكود، سيتم إنشاء ملف نصي يحتوي على أسماء الشبكات وكلمات المرور. سيكون شكله كالتالي:
الخلاصة
شرحنا هو لاستعاب الامر وايضا لايضاح الخطر حيث يمكن استخدامه كود مثل هذه مع بعض التعديلات بامكانه سرقة اشياء ذو قيمة اكبر من الاجهزة الخاصة بنا.
فإن كود VBScript أعلاه يوفر مثالًا بسيطًا لتوضيح كيفية تنفيذ مثل هذه الهجمات. تذكر دائمًا استخدام هذه المعرفة بشكل أخلاقي ومسؤول.