مشروع Pwnag0dchi
تم إنشاؤه نظرًا لأن الكثير من الناس كانوا يسألون عن الإضافات والإعدادات المخصصة التي أستخدمها. باتباع هذا الدليل، سيبدو Pwnagotchi الخاص بك تمامًا كما يظهر على حساباتي على وسائل التواصل الاجتماعي وفيديوهات YouTube في غضون ~5 دقائق كحد أقصى.
ستجد أيضًا دليلًا كاملًا لبناء Pwnagotchi للمبتدئين بالإضافة إلى بعض طرق استكشاف الأخطاء الشائعة هنا.
سأستمر في تحديث هذا قدر الإمكان. إذا كان لديك اقتراح أو واجهت مشاكل باستخدام هذا المشروع، افتح GitHub Issue ويمكننا مناقشته!
جدول المحتويات
تعديلات مشروع Pwnag0dchi
الميزات
- هجمات القاموس على الجهاز مباشرة عند العثور على مصافحات (ضد قوائم كلمات مخصصة أصغر)
- مفاتيح تشغيل/إيقاف فردية لهجمات الارتباط (Association) وإلغاء المصادقة (Deauthentication) لاختيار واحد من 3 أساليب هجوم:
- عدواني بالكامل (هجمات الارتباط + إلغاء المصادقة)
- أقل عدوانية (إما هجوم الارتباط أو إلغاء المصادقة)
- سلبي بالكامل (لا هجمات، فقط التقاط المصافحات بشكل سلبي)
- تنزيل المصافحات من واجهة الويب (تم الإصلاح)
- عناصر واجهة المستخدم مضبوطة بشكل رهيب (المواضع، الأحجام، الخطوط، إلخ.)
- إضافة مسافة لقيمة "CH" لاستيعاب قنوات 5GHz دون تداخل
- تعديلات على الإضافات (لأغراض تجميلية، وإزالة الفوضى، وتحسين طفيف في الوظائف (ربما))
- إضافة معلومات إلى الشاشة:
- أحدث مصافحة تم كسرها بنص عادي (وفقًا لـ WPA-sec)
- شريط المستوى والخبرة (اجمع المصافحات لكسب الخبرة ورفع المستوى)
- الهجمات المفعلة (الارتباط، إلغاء المصادقة، أو كليهما، أو لا شيء)
- مراقبة الأجهزة (استخدام الذاكرة الحالي، استخدام وحدة المعالجة المركزية، تردد وحدة المعالجة المركزية، ودرجة الحرارة)
- حالة اتصال/مشاركة الإنترنت
- عنوان IP للواجهة الحالية (يساعد في الاتصال عبر SSH / واجهة الويب)
- أشياء أخرى قد نسيتها
فيديو عرض الميزات والتعليمي

تثبيت مشروع Pwnag0dchi
- انسخ الملفات من دليل ″Plugins″ لهذا المستودع على GitHub إلى
/usr/local/share/pwnagotchi/custom-plugins/
- انسخ الملفات من دليل ″Configurations″ لهذا المستودع على GitHub إلى
/etc/pwnagotchi/
- طبق جميع التغييرات بإعادة تشغيل Pwnagotchi الخاص بك
بيانات تسجيل الدخول (واجهة الويب)
changeme:changeme
الإعدادات الأولية التي يجب تغييرها
عبر واجهة الويب: الإضافات > webcfg
عبر /etc/pwnagotchi/config.toml
ثم قم بالإضافات/التغييرات التالية:
main.name يجب أن يكون أي اسم تريده لـ Pwnagotchi الخاص بك (مثال: Pwnag0dchi)
main.whitelist.#0 & main.plugins.grid.exclude يجب أن يكونا SSID لشبكة Wi-Fi المنزلية الخاصة بك، حتى لا يهاجمها Pwnagotchi الخاص بك (مثال: Shuriken-WiFi_2.4GHz)
main.plugins.wpa-sec.api_key يجب أن يكون مفتاح API الخاص بـ WPA-sec (اذهب هنا أولاً وانقر على "Get key" للحصول على مفتاح API المجاني عبر البريد الإلكتروني)
ملاحظة: عند نسخ ولصق مفتاح API إلى main.plugins.wpa-sec.api_key، تأكد من عدم وجود مسافات في بداية المفتاح أو نهايته
- أعد تشغيل خدمة Pwnagotchi لتطبيق التغييرات باستخدام
sudo systemctl restart pwnagotchi.service. على واجهة الويب، يمكن القيام بذلك بالنقر على ″Save and Restart″ في أعلى إضافة webcfg
دليل Pwnagotchi للمبتدئين
الأجزاء المطلوبة
-
شاشة e-Ink من Waveshare مقاس 2.13 بوصة (Amazon | Waveshare)
- الإصداران 3 و 4 يعملان بشكل أفضل. يُشار إلى ذلك بملصق دائري صغير على اللوحة (مثل هذا)
- تجاهل "Rev2.1" المطبوع على اللوحة؛ لا علاقة له بالإصدار
- لا تشتري النسخة ثلاثية الألوان بالأسود/الأبيض/الأحمر (النسخة "B"). اشترِ فقط النسخة الأسود/الأبيض. كلاهما يبدوان متطابقين تقريبًا وبنفس السعر، لذا من السهل شراء الخطأ
-
Raspberry Pi Zero W - يتطلب لحام (Amazon | Raspberry Pi)
-
أو Raspberry Pi Zero WH - لا يتطلب لحام (Amazon | Adafruit)
- هذه هي نفس اللوحة بدبابيس ملحومة مسبقًا (الحرف
H في WH يعني "Headers")
- قد يكون العثور على النسخة
WH أصعب قليلاً من W
-
بطاقة Micro-SD — 16 جيجابايت هي الأفضل، يجب أن تكون "UHS-I"
التثبيت
- قم بتركيب شاشة Waveshare على Pi Zero (تم الجزء العتادي!)
- قم بتنزيل صورة إصدار 2.8.9 من jayofelony (تم اختبارها بدقة) أو صورة إصدار 2.9.3 (تعمل بقدر ما تم اختباره)
- قم بتنزيل / تثبيت Balena Etcher
- أدخل بطاقة micro-SD الخاصة بـ Pwnagotchi في قارئ بطاقات، ثم في جهاز الكمبيوتر الخاص بك
- افتح Balena Etcher
- حدد ملف صورة Pwnagotchi الذي تم تنزيله
- أيضًا، حدد بعناية بطاقة micro-SD المُدخلة
- ابدأ الحرق (Flash)!
- بعد اكتمال الحرق، أدخل بطاقة micro-SD في Pwnagotchi الخاص بك وقم بتشغيله
- في أول تشغيل، سيحتاج Pwnagotchi الخاص بك بعض الوقت للتهيئة (من 2 إلى 30 دقيقة). خلال فترة التهيئة هذه، لا داعي للذعر إذا لم ترَ شيئًا على الشاشة أو رسالة مثل
"Generating keys, do not turn off...". بمجرد اكتمال هذه العملية، سيتم إعادة تشغيل Pwnagotchi من تلقاء نفسه وسيكون جاهزًا للاستخدام
ملاحظة: ينطبق هذا فقط على أول تشغيل. لن تضطر للانتظار أكثر من ~2-3 دقائق لأي تشغيل لاحق
- إنه حي!
جعل Pwnagotchi الخاص بك قابلاً للوصول عبر SSH / واجهة الويب
الدرس التعليمي: https://youtu.be/7nj5Euo5Bng?t=135
ملاحظة: اتبع فقط من 2:15 إلى 4:31
ملاحظة: إذا كنت بحاجة إلى تثبيت برامج تشغيل RNDIS يدويًا، قم بتنزيلها من هذا المستودع على GitHub (دليل "RNDIS Driver")
ssh [email protected] أو ssh [email protected] للاختصار (كلمة المرور = raspberry)
جعل Pwnagotchi الخاص بك قابلاً للوصول عبر FTP
للاتصال عبر FTP بـ Pwnagotchi الخاص بك كمستخدم root، ستحتاج أولاً إلى تهيئة حساب المستخدم root وتمكين تسجيلات الدخول عبر FTP للمستخدم root:
- قم بالاتصال عبر SSH بـ Pwny الخاص بك كمستخدم pi (كالمعتاد)
sudo passwd root
- أدخل كلمة مرور مستخدم pi إذا طُلب منك (raspberry)
- أدخل كلمة مرور جديدة لمستخدم root
- احفظ واخرج. سيكون لديك الآن مستخدم root. حان الوقت لتمكين تسجيلات الدخول عبر FTP للمستخدم root
sudo nano /etc/ssh/sshd_config
ملاحظة: sshd_config، وليس ssh_config
- غيّر السطر
PermitRootLogin prohibit-password إلى PermitRootLogin yes وأزل التعليق عن السطر إذا كان معلقًا (أزل # من بداية السطر)
- احفظ واخرج
sudo service ssh restart
الدرس التعليمي: https://www.youtube.com/watch?v=X-5jN0WjurQ&t=88s
إعداد مشاركة الإنترنت (الوصول إلى الإنترنت لـ Pwnagotchi)
- قم بتوصيل Pwnagotchi الخاص بك (منفذ البيانات، وليس الطاقة)
- قم بتنزيل
win_connection_share.ps1 من هذا المستودع على GitHub (دليل "Internet Sharing")
- افتح PowerShell كمسؤول (انقر بزر الماوس الأيمن > "Run as administrator")
cd .\Downloads\
.\win_connection_share.ps1 -SetPwnagotchiSubnet
- أعد تشغيل جهاز Windows
.\win_connection_share.ps1 -EnableInternetConnectionSharing
- ابدأ > اكتب "network" > "View network connections"
- انقر بزر الماوس الأيمن على RNDIS الخاص بـ Pwnagotchi > خصائص > تكوين IPv4 > أعد إضافة IP الثابت يدويًا (10.0.0.1، 255.255.255.0، 10.0.0.1، 8.8.8.8)
- انقر بزر الماوس الأيمن على الإيثرنت الرئيسي > خصائص > علامة التبويب "Sharing" > حدد كلا المربعين + اختر المشاركة لـ RNDIS الخاص بـ Pwnagotchi > موافق
- أعد توصيل Pwnagotchi (منفذ البيانات، وليس الطاقة)
- موجه الأوامر >
ssh [email protected] (كلمة المرور = raspberry)
- تأكد من اتصال الإنترنت بعد أن يتم تهيئة Pwnagotchi بالكامل باستخدام
ping google.com
لا يزال لا يوجد إنترنت؟
sudo chattr +i /etc/resolv.conf
sudo nano /etc/resolv.conf
- يجب أن يكون محتوى هذا الملف سطرًا واحدًا فقط:
nameserver 8.8.8.8
كسر المصافحات محليًا (داخل Pwnagotchi نفسه، بدون إنترنت / WPA-sec)
إضافة better_quickdic هي المسؤولة عن ذلك. فقط أضف قوائم الكلمات المخصصة الصغيرة الخاصة بك إلى /home/pi/wordlists/، وسيتم تنفيذ هجوم قاموس دون اتصال باستخدام جميع قوائم الكلمات في هذا الدليل بمجرد التقاط مصافحة صالحة
ملاحظة: قم بتعطيل / إزالة الإضافات aircrackonly و hashie / hashieclean لتحقيق أقصى فعالية. لقد وجدت في بعض اختباراتي أن هذه الإضافات تتخلص أحيانًا حتى من المصافحات الصالحة قبل أن تتمكن better_quickdic من البدء في كسرها
ملاحظة: إذا تم كسر مصافحة باستخدام هذه الإضافة، فلن تظهر على شاشة Pwnagotchi (حتى مع تمكين display-password). ستحتاج إلى التحقق يدويًا من دليل /home/pi/handshakes عن أي ملفات تنتهي بـ .pcap.cracked. إذا كان لديك الكثير من المصافحات هناك، يمكنك استخدام ls /home/pi/handshakes/ | grep crack لتصفية المصافحات المكسورة بسرعة
يمكنك استخدام قائمة كلمات صغيرة بسيطة مثل تلك الموجودة في هذا المستودع على GitHub (دليل "Wordlists"). لقد أنشأت قائمة الكلمات بناءً على أكثر كلمات المرور الافتراضية غير المعقدة شيوعًا التي وجدتها أثناء اختباراتي. قد يختلف هذا في حالتك حسب منطقتك / لغتك / وعيك / متطلباتك / الإعدادات الافتراضية - لذا من الأفضل دائمًا استخدام قوائم كلمات مخصصة متعددة وصغيرة.
الربط عبر البلوتوث (قصير ومختصر)
الدرس التعليمي: https://www.youtube.com/watch?v=cnmrKCBzDRU
استخدام محولات Wi-Fi الخارجية
يمكنك إرفاق محول Wi-Fi خارجي بـ Pwnagotchi لزيادة كبيرة في المدى، أو لدعم 5GHz، أو كليهما.
ملاحظة: لن تتمكن من الاتصال عبر SSH بـ Pwnagotchi الخاص بك عبر USB عند تمكين محول Wi-Fi الخارجي لأن منفذ USB للبيانات يتم تخصيصه لمحول Wi-Fi الخارجي. لذلك، يُوصى بشدة بإعداد وتأكيد عمل الربط عبر البلوتوث أولاً حتى تتمكن من الوصول إلى Pwnagotchi الخاص بك عبر واجهة الويب أو SSH دون الحاجة إلى كابل USB. عندما يكون محول Wi-Fi الخارجي معطلًا، يمكنك الوصول إلى Pwnagotchi الخاص بك بشكل طبيعي باستخدام كابل USB
ملاحظة: توافق محولات Wi-Fi الخارجية يعتمد كليًا على مجموعة الشرائح الخاصة بمحولك. العديد من مجموعات الشرائح مدعومة بشكل جاهز من نظام Linux الأساسي، ولكن البعض الآخر سيتطلب منك تثبيت برنامج تشغيل مجموعة الشرائح يدويًا عبر SSH. أولاً، جرب الخطوات أدناه وتحقق مما إذا كان محولك يعمل مع Pwnagotchi (لا تنس إعادة التشغيل). إذا لم يعمل، قم بتثبيت برامج التشغيل يدويًا
تفعيل محول Wi-Fi الخارجي
- اتصل عبر SSH بـ Pwnagotchi الخاص بك
sudo nano /boot/config.txt
- حدد موقع قسم
[all]
- أزل التعليق عن
dtoverlay=disable-wifi (أزل # من بداية السطر)
- علق على
dtoverlay=dwc2 (أضف # في بداية السطر)
- أعد تشغيل Pwnagotchi مع توصيل محول Wi-Fi (منفذ البيانات، وليس الطاقة)
تعطيل محول Wi-Fi الخارجي
- اتصل عبر SSH بـ Pwnagotchi الخاص بك
sudo nano /boot/config.txt
- حدد موقع قسم
[all]
- علق على
dtoverlay=disable-wifi (أضف # في بداية السطر)
- أزل التعليق عن
dtoverlay=dwc2 (أزل # من بداية السطر)
- أعد تشغيل Pwnagotchi مع فصل محول Wi-Fi (منفذ البيانات، وليس الطاقة)
تخصيصات إضافية
درس تعليمي للوجوه المخصصة لـ Pwnagotchi

قائمة ضخمة من الإضافات (الأسماء، الأوصاف، الروابط، إلخ.)
https://docs.google.com/spreadsheets/d/1os8TRM3Pc9Tpkqzwu548QsDFHNXGuRBiRDYEsF3-w_A
استكشاف الأخطاء وإصلاحها
مشاركة الإنترنت لا تعمل (أو كانت تعمل سابقًا)
- قم بتوصيل Pwnagotchi (منفذ البيانات، وليس الطاقة)
- ابدأ > اكتب "network" > "View network connections"
- انقر بزر الماوس الأيمن على الإيثرنت الأساسي (الإنترنت) > خصائص > علامة التبويب "Sharing" > قم بإلغاء تحديد كلا المربعين > موافق
- انقر بزر الماوس الأيمن على RNDIS الخاص بـ Pwnagotchi > خصائص > تكوين IPv4 > أعد إضافة IP الثابت يدويًا (10.0.0.1، 255.255.255.0، 10.0.0.1، 8.8.8.8) > موافق
- انقر بزر الماوس الأيمن على الإيثرنت الرئيسي > خصائص > علامة التبويب "Sharing" > حدد كلا المربعين + اختر المشاركة لـ RNDIS الخاص بـ Pwnagotchi > موافق
- لا حاجة لإعادة تشغيل أي شيء. تحقق من اتصال الإنترنت باستخدام
ping google.com عبر SSH
لا يمكن الاتصال بالـ 'gotchi عبر الكمبيوتر بعد التبديل إلى المحول الخارجي
ستحتاج إلى تعطيل محول Wi-Fi الخارجي لتوصيل Pwnagotchi الخاص بك بجهاز الكمبيوتر عبر منفذ البيانات.
- قم بتوصيل Pwnagotchi عبر الربط بالبلوتوث (منفذ الطاقة، وليس البيانات)
- اتصل عبر SSH بـ Pwnagotchi الخاص بك (باستخدام تطبيق مثل Termux)
sudo nano /boot/config.txt
- حدد موقع قسم
[all]
- علق على
dtoverlay=disable-wifi (أضف # في بداية السطر)
- أزل التعليق عن
dtoverlay=dwc2 (أزل # من بداية السطر)
- أغلق Pwnagotchi
- قم بتوصيله بجهاز الكمبيوتر عبر كابل USB (منفذ البيانات، وليس الطاقة)
الـ 'gotchi الخاص بي يقوم بعمليات Deauth حتى عند إيقاف تشغيل إضافة "enable_deauth"
يحدث هذا عادةً مع الجلسات الجديدة؛ يبدو أن الـ 'gotchi "ينسى" حالة التمكين/التعطيل عند إيقاف تشغيله. إصلاح بسيط:
- واجهة الويب > الإضافات
- قم بتمكين ثم تعطيل "enable_deauth". سيؤدي هذا إلى تعطيل deauth فورًا، وسيعمل مفتاح الإضافة بفعالية الآن (على الأقل للجلسة الحالية)
الـ 'gotchi الخاص بي يقوم بعمليات Association حتى عند إيقاف تشغيل إضافة "enable_assoc"
يحدث هذا عادةً مع الجلسات الجديدة؛ يبدو أن الـ 'gotchi "ينسى" حالة التمكين/التعطيل عند إيقاف تشغيله. إصلاح بسيط:
- واجهة الويب > الإضافات
- قم بتمكين ثم تعطيل "enable_assoc". سيؤدي هذا إلى تعطيل association فورًا، وسيعمل مفتاح الإضافة بفعالية الآن (على الأقل للجلسة الحالية)
حصلت على نسخة ثلاثية الألوان من شاشة Waveshare، وهي سيئة. ماذا أفعل؟
- أولاً وقبل كل شيء - لقد أخبرتك بذلك
- قم بتوصيل Pwnagotchi (منفذ البيانات، وليس الطاقة)
- واجهة الويب > الإضافات > webcfg
- ابحث عن
ui.fps، وغيّر القيمة إلى 1 أو 2
- انتقل إلى الأعلى، واضغط على "Save and Restart". يجب أن تعمل الشاشة بشكل أفضل نسبيًا الآن
لا أحب الوضع الداكن للواجهة، كيف أجعل الواجهة بيضاء كما في الإعداد الافتراضي؟
- قم بتوصيل Pwnagotchi (منفذ البيانات، وليس الطاقة)
- واجهة الويب > الإضافات > webcfg
- ابحث عن
ui.invert، وغيّر القيمة إلى True
- انتقل إلى الأعلى، واضغط على "Save and Restart"
عناصر memtemp-plus مقطوعة
- إما قم بتغيير القيم التالية في إضافة tweak_view أو أضفها في
/etc/pwnagotchi/tweak_view.json:
"VSS.memtemp_header.xy": "145,82",
"VSS.memtemp_data.xy": "145,95",
"VSS.Lv.xy": "151,72"