Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
skylift — انتحال الموقع الجغرافي عبر WiFi باستخدام ESP8266 | Kitploit
أدوات/GitHubGitHub/awesome-pentest-gadgets/skylift
أمان الأنظمة المدمجةتدقيق Wi-Fiالاستغلالأمن الشبكات اللاسلكيةأمان الأجهزة وإنترنت الأشياءالفريق الأحمر
GitHubawesome-pentest-gadgets/skylift

skylift

انتحال الموقع الجغرافي عبر WiFi باستخدام ESP8266

عرض المستودع
8369منذ 8 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

SkyLift V0.4

سيُنشر في 15 يونيو

  • python3
  • click
  • سير عمل محلل أوامر CLI أسهل استخداماً
  • إصلاح الطابع الزمني

SkyLift V0.3

SkyLift هو جهاز منخفض التكلفة لانتحال الموقع الجغرافي. يستخدم حالياً ESP8266 لبث إطارات WiFi Beacon Frames لاستغلال ثغرة قديمة (منذ 2008) في خدمات تحديد الموقع الجغرافي عبر WiFi.

تم تطوير هذا الإصدار النموذجي الثالث من SkyLift بشكل إضافي خلال إقامة ويب مع Akademie Schloss Solitude وZKM. اقرأ مقابلة حول المشروع. أو اصنع نسختك الخاصة باتباع التعليمات أدناه بأقل من 5 دولارات.

التحديثات

  • 13 مايو 2017: أُضيف مسح جديد من محاضرة جون كيرياكو (المُبلّغ عن مخالفات في CIA) في Gruener Salon في برلين

طُوّر SkyLift في الأصل بالتعاون مع Surya Mattu لصالح !Mediengruppe Bitnik في غرفة أسانج ضمن معرض «Welcome to Ecuador!» في Zoo Galerie في نانت عام 2016. بدأ تطوير هذا الإصدار المحدّث، V0.3، في نوفمبر 2016 وتم إطلاقه أخيراً في مايو 2017 بدعم من إقامة ويب في Schloss Solitude. يُدخل هذا الإصدار عدة تحسينات على النظام الأولي (SkyLift V0.1)، بما في ذلك:

  • خفض تكلفة البناء من 50 دولاراً إلى حوالي 5 دولارات
  • تقليص وقت إعداد التقنية الأساسية من عدة ساعات إلى حوالي 15 دقيقة
  • تحسين تشغيل المستخدم (ما عليك سوى توفير طاقة USB)
  • تحسين الأداء عبر تنقّل القنوات (channel hopping)
  • تحسين بنية الحزم (إضافة بايت فاصل الطابع الزمني)
  • إضافة خيار SSID المخفي (الفارغ) "\x00"
  • إضافة نصوص برمجية مساعدة لإنشاء مواقع مخصصة
  • عزل التقنية في جهاز واحد
  • إضافة شاشة OLED اختيارية للعرض

لمعلومات حول SkyLift الأصلي (V0.1)، راجع https://ahprojects.com/notebook/2016/skylift-geolocation/

SkyLift هو مشروع مفتوح المصدر يُشرف عليه Adam Harvey، ويستكشف الثغرات الأمنية والفرص الإبداعية في خدمات تحديد الموقع الجغرافي للهواتف الذكية الموجهة للمستهلكين.

إذا كنت مهتماً بالحصول على جهاز مكتمل وجاهز للاستخدام، فأضف نفسك إلى قائمتي البريدية على https://undisclosed.cc/.

البداية السريعة

  • اشترِ ESP8266 NodeMCU 12 أو 12E | eBay (أرخص) أو Amazon.com (أسرع)
  • git clone https://github.com/adamhrv/skylift/
  • من "arduino/skylift_v03_embassy" ارفع الرسم البرمجي "skylift_v03_embassy.ino"
  • تأكد من تفعيل خدمة تحديد الموقع الجغرافي عبر WiFi على هاتفك الذكي
  • ضع ESP8266 على مسافة 1 - 2 متر من الهاتف (ضمن 0.25 - 0.5 متر في مناطق WiFi المزدحمة)
  • الإعداد الكامل واستكشاف الأخطاء وإصلاحها أدناه

الإعداد

ما ستحتاج إليه:

  • Arduino 1.6.12+
  • ESP8266 NodeMCU 12 أو 12E | eBay, Amazon.com, Adafruit Huzzah
  • كابل USB صغير (micro) للبرمجة
  • بطارية USB بجهد 5V (اختياري)

مع شاشة OLED (اختياري):

  • شاشة OLED | eBay, Amazon.com
  • لوحة PCB بمقاس 3×7 سم (فقط إذا كنت تستخدم شاشة OLED) | Amazon.com
  • مكواة لحام
  • مكتبة OLED Adafruit_SSD1306
  • مكتبات ESP8266: "http://arduino.esp8266.com/stable/package_esp8266com_index.json"
  • قاطعة أسلاك لقصّ أطراف التوصيل (headers) بعد اللحام

يمكن شراء كل من شاشة OLED وESP8266 NodeMCU بنصف السعر تقريباً على eBay إذا كنت مستعداً للانتظار من 1-2 أسبوع للتوصيل. يمكن أن يصل سعر ESP8266 إلى 3 دولارات فقط.

نصوص الاختبار

اختبار WiFi

  • تأكد من استخدامك إصداراً حديثاً من Arduino (تم استخدام 1.6.12 للبناء)
  • تأكد من تثبيت لوحات ESP8266. في Preferences > Additional Boards أضف "http://arduino.esp8266.com/stable/package_esp8266com_index.json"
  • من Tools > Board: اختر "NodeMCU 0.9 (ESP12 Module)" أو 12E
  • اختبر باستخدام الرسم البرمجي Arduino/test_single_beacon_frame
  • تحقق من شبكات WiFi لديك. يجب أن يكون الاسم Network1 ظاهراً على القناة 1.

اختبار شاشة OLED

  • صل شاشة OLED بـ ESP8266 على الجانب الخلفي من لوحة PCB
  • أزل البلاستيك الأسود عن أطراف التوصيل (headers) لتقليل الارتفاع
  • وصّل منفذ D2 في ESP8266 -> منفذ SDA في OLED
  • وصّل منفذ D3 في ESP8266 -> منفذ SCL في OLED
  • وصّل الطاقة PWR (3.3V)
  • وصّل الأرضي GND
  • ارفع الرسم البرمجي Arduino/test_oled_screen
  • يجب أن يظهر النص "Scrolling Text Demo 123 456" متحركاً عبر الشاشة

السفارة الإكوادورية

اختبار SkyLift مع موقع السفارة الإكوادورية

  • ارفع الرسم البرمجي Arduino/skylift_v03_embassy
  • تأكد من تفعيل خدمات تحديد الموقع عبر WiFi على هاتفك
  • تأكد من وجود اتصال بيانات نشط (شبكة خلوية أو WiFi. عنوان IP الخاص بك لا يهم)
  • افتح تطبيق الخرائط الذي تفضله (أو أي تطبيق يستخدم موقعك)
  • إذا لم يعمل، فهناك عدة أسباب. على الأرجح يوجد عدد كبير جداً من أجهزة التوجيه (routers) القريبة التي تتداخل مع درجة الثقة التي يعيدها API لتحديد الموقع عبر WiFi.
  • إذا وُجدت شبكات متعددة بقوة -60 إلى -40dB، فمن غير المرجح أن يعيد SkyLift موقعاً جغرافياً جديداً

نصائح لتحسين الأداء:

  • قلل عدد إشارات WiFi القريبة إلى أقل من 5 شبكات @ بقوة أقل من -80dB
  • يجب أن يعمل مع 10+ شبكات إذا كانت قوة إشارتها أقل من -80dB
  • راقب الشبكات القريبة باستخدام NetSpot (النسخة التجريبية المجانية) وابتعد عن أجهزة توجيه WiFi الموجودة إذا أمكن
  • ابتعد عن النوافذ حيث تكون إشارة GPS الفضائية أقوى
  • تأكد من أن الهاتف قريب من ESP8266 (من الناحية المثالية على مسافة 0.1 - 1 متر في مناطق WiFi المزدحمة، و1-2 متر في مناطق WiFi متوسطة الكثافة، وحتى 10 أمتار في مناطق WiFi منخفضة الكثافة) وبعيداً عن أجهزة التوجيه القريبة
  • للمسافات التي تتجاوز 10 أمتار، يمكنك قص هوائي PCB المطبوع ولحام موصّل SMA لإضافة هوائي +7dB أو مضخم WiFi، أو ببساطة أكثر، إضافة عدة أجهزة SkyLift لتعمل كمكررات (repeaters)
  • الأسقف والهياكل المعدنية ستُضعف إشارات WiFi القريبة
  • ألواح الجبس (Sheetrock) والخشب والخرسانة نافذة لإشارات WiFi ولن تُضعف الإشارة بشكل ملحوظ
  • البشر، الذين يتكونون من حوالي 65% ماء، هم ممتصات طبيعية لإشارات WiFi (2.4GHz هو التردد الرنيني للماء)، وسيعملون على تخفيف إشارات WiFi القريبة في البيئات المزدحمة، مما يؤدي إلى أداء أفضل لانتحال الموقع الجغرافي في المناطق المزدحمة
  • المواقع الموصى بها لتحقيق الأداء الأمثل هي الملاجئ والحانات أو المناطق الأخرى التي تكون فيها إشارات GPS والخلوية وWiFi ضعيفة. لكن لا تتردد في التجربة في أي مكان.
  • أفضل النتائج حتى الآن تحققت في الطابق السفلي في La Gaîté Lyrique، وفي الحفلات الموسيقية، وفي بيئة اختبار خاضعة للتحكم (بالطبع).
  • ملاحظة: SkyLift ليس حلاً مضموناً. إذا كان هناك عدد كبير جداً من إشارات WiFi المنافسة في الجوار، فسيعيد API لخدمة الموقع درجة ثقة منخفضة وسيلجأ إلى التثليث الخلوي أو GPS الفضائي كبديل.

إذا كنت في مكان داخلي لا توجد فيه أجهزة توجيه WiFi أخرى ولم يعمل SkyLift، فيرجى فتح تقرير مشكلة (issue report) وتضمين أكبر عدد ممكن من التفاصيل:

  • نتائج المسح من NetSpot أو أي تطبيق آخر
  • القنوات المستخدمة بواسطة ESP8266 الخاص بك
  • المسافة بين SkyLift والهاتف الذكي
  • ما إذا كان لديك اتصال بيانات نشط على هاتفك
  • نوع اتصال البيانات المتاح (LTE، 4G، 3G، EDGE، GPRS)
  • iOS أو Android، وإذا كنت لا تمانع، طراز الهاتف

المواقع المخصصة

يمكنك إنشاء بيانات مواقع SkyLift الخاصة بك باستخدام iOS أو OSX أو Wigle.net API. (عمليات Android وLinux غير موثقة بعد).

1أ) مسح شبكات WiFi على OSX

python utils/osx_scan_to_json.py -o data/json/my_osx_scan.json

1ب) مسح شبكات WiFi على iOS

استخدم تطبيق AirPort Utility المجاني وفعّل "Wi-Fi Scanner" في Settings > AirPort Utility. قم بإجراء مسح WiFi واحفظه في ملاحظاتك المتزامنة أو أرسله إلى نفسك عبر البريد الإلكتروني. تأكد من وجود سطرين قبل بيانات CSV. مثال:

root@kitploit:~
# Make your notes or add title her (saved as your_scan.txt))
SSID, BSS, RSSI, Channel, Time
"", "11:11:11:11:11:11", "-61", "44", "13:17:34"
"", "11:11:11:11:11:11", "-61", "44", "13:17:44"
"freewificonnect", "22:22:22:22:22:22", "-80", "11", "13:17:32"
"freewificonnect", "22:22:22:22:22:22", "-80", "11", "13:17:41"

احفظ ملفك في "data/ios/your_scan.txt" ثم نفّذ:

python utils/ios_to_json.py -i data/ios/your_scan.txt -o data/json/your_scan.json

1ج) استخدام Wigle API

سجّل في https://wigle.net للحصول على API Key وAPI Token (وهو مجاني حالياً). النتائج مع Wigle قد تختلف أو قد لا تعمل. بياناتهم مأخوذة من المصادر الجماعية (crowdsourced) وغير موثقة وقد تكون قديمة. للحصول على أفضل النتائج، قم بإنشاء مسح WiFi خاص بك في الموقع.

python utils/wigle_to_json.py --lat 37.484581 --lon -122.147921 --radius 3 -o data/json/wigle_test.json

2) تحويل iOS (csv) إلى JSON

python utils/ios_to_json.py -i data/ios/your_scan.txt -o data/json/your_scan.json

3) تحويل (أي) JSON لرسم Arduino البرمجي

python utils/json_to_arduino.py -i data/ios/your_scan.json -o data/ino/your_scan.txt

سيبدو النص الناتج مشابهاً لما يلي:

root@kitploit:~
#define nn 2

char* ssids_str[nn] = {
	"74:46:A0:33:00:01",
	"74:46:A0:33:00:02"
};

byte bssids[nn][6] = {
	{0x74, 0x46, 0xA0, 0x33, 0x00, 0x12},
	{0x74, 0x46, 0xA0, 0x33, 0x00, 0x12}
};

char* ssids[nn] = {
	"wifi_ssid",
	"another_wifi_ssid"
};

#ifdef USE_SCREEN
byte channels[nn] = {6, 6};
#else
byte channels[nn] = {10, 11};
#endif


ثم أنشئ نسخة من "skylift_v03_embassy" واستبدل بيانات WiFi الموجودة ببياناتك المخصصة.

تجريبي: لاحظ الخيارين المتاحين للقنوات. إذا كنت تستخدم الرسم البرمجي في الوضع المستقل (بدون شاشة)، فقد ترغب في تغيير القنوات. لاستخدام SkyLift في غرفة كبيرة، يبدو أن استخدام وحدات مكرر متعددة على قنوات عشوائية ونسخة الشاشة على القنوات 1 و6 و11 يعمل بشكل أفضل. إذا كنت تستخدم جهازاً واحداً فقط، فإن الالتزام بالقنوات 1 و6 و11 معاً قد حقق أفضل النتائج حتى الآن.


حول خدمات تحديد الموقع الجغرافي عبر WiFi

خدمات تحديد الموقع الجغرافي مصطلح واسع يشير إلى مجموعة التقنيات المستخدمة لتحديد الموقع الجغرافي للهاتف الذكي. التقنيات الأربع الأساسية المستخدمة في خدمات تحديد الموقع هي (1) GPS، (2) التثليث الخلوي، (3) Bluetooth، و(4) تحديد المواقع عبر WiFi. اعتماداً على أي من هذه الإشارات الأربع المتاحة، سيحاول الهاتف الذكي تحديد موقعه الجغرافي بأعلى دقة وأقصر وقت انتظار.

يستخدم SkyLift ثغرة (exploit) في خدمات تحديد الموقع الجغرافي عبر WiFi تم اكتشافها لأول مرة في عام 2008 من قبل الباحث السويسري Srdjan Capkun في ETH Zurich. وعلى الرغم من التحذير المبكر في 2008، واصلت جميع شركات الهواتف الذكية الكبرى دمج WiFi كتقنية أساسية لتحديد الموقع. استمرت الثغرة في الوجود حتى 2012 عندما استغلّها Bengt Sjölen وGordan Savicic بشكل إبداعي في مشروعهما Packetbridge عام 2012 (<- توثيق جيد).

من الصعب التعامل مع هذه الثغرة لأن شركات تحديد الموقع عبر WiFi تفترض أن جهاز توجيه WiFi لكل شخص، بما في ذلك الموجود داخل منزلك، هو جزء من منتجها التجاري لتحديد الموقع. سواء كان هذا قانونياً أو أخلاقياً أم لا، ينبغي أن يكون محل نقاش أكثر انفتاحاً.

ما هو مؤكد، وقد ثبت بالفعل في 2008، هو أن بيانات الموقع الجغرافي للهواتف الذكية يمكن تزويرها بسهولة ولا ينبغي الوثوق بها. ومع ذلك، نعتمد على هذه التقنية في عدد متزايد من التطبيقات الحرجة. على سبيل المثال، توضح الصورة أدناه مدى سهولة خداع خدمة Find my Phone من Apple لتعتقد أن جهازي موجود في السفارة الإكوادورية في لندن. (الصورة التُقطت والجهاز في الواقع في برلين، وتعمل مع أجهزة سطح المكتب أو الأجهزة المحمولة).

Find my Phone في السفارة الإكوادورية

قراءات إضافية

  • نظرة عامة على Beacon Frame
  • حزمة Beacon Frame بمزيد من العمق
  • انتحال خدمات تحديد الموقع الجغرافي عبر WiFi على Hackaday
  • لا تثق في تحديد الموقع الجغرافي
  • هجوم ربط الجهاز بالهوية باستخدام انتحال تحديد المواقع عبر Wi-Fi المستهدف
  • منشور SkyLift V0.1 حول استخدام MDK3 + Raspberry Pi

إخلاء مسؤولية

  • لاعبو Pokémon وغيرهم، الاستخدام على مسؤوليتكم الخاصة
  • مخصص حالياً لأغراض البحث والفن فقط
  • تحقق من لوائح WiFi المحلية قبل الاستخدام
  • بعد فترة طويلة من البث المستمر، قد يتم إدراج BSSIDs في القائمة السوداء أو حتى ترتبط بموقع آخر (هذا ما حدث في FACT Liverpool، مما قد يكشف موقعك للمستخدمين الآخرين، أو يمكن استخدامه بشكل إبداعي لتأثير مثلث برمودا.
  • SkyLift ليس جهاز انتحال GPS. لانتحال GPS بتردد 1.5GHz، راجع انتحال موقع GPS باستخدام أجهزة SDR منخفضة التكلفة أو محاكي إشارات GPS معرف برمجياً
  • SkyLift حالياً جهاز يعمل بتردد 2.4GHz فقط
  • SkyLift ليس حلاً مضموناً

SkyLift في المعارض:

  • Dark Technology Dark Web. Spektrum. برلين. 2017.
  • How Much of This is Fiction. FACT. ليفربول. 2017.
  • Lanceurs d'alerte. La Gaîté Lyrique. باريس. 2017.
  • *Welcome to Ecuador. Zoo Galerie. 2016.

I

اعتمادات SkyLift:

  • المفهوم الأصلي طُوّر بالتعاون مع !Mediengruppe Bitnik (DE)
  • SkyLift V0.1 طُوّر بالتعاون مع Surya Mattu (US)
  • الاستشارة الفنية من Julian Oliver (DE)
  • المساعدة البحثية والمساهمات في تطوير Python: Leon Eckert (US/DE)
  • تركيب "Welcome to Ecuador" (2016) برعاية Aude Launay لصالح Zoo Galerie
  • كود Beacon Frame لإثبات المفهوم على ESP8266 بواسطة https://github.com/kripthor/WiFiBeaconJam
  • إقامة الويب في Schloss Solitude
تنزيل الأداة