قم باختراق أي كمبيوتر في ثوانٍ بإستخدام
iMoPlant

محمد عبدالعال
16/06/2021


مقدمة
قد يبدو هذا كما لو أنه كابل شحن عادي لجهاز iPhone - (ويعرف أيضًا باسم كابل lightining). حسنًا، الأمر ليس كذلك! يشبه الكابل بالفعل كابل lightiningالأصلي لجهاز iPhone ولكن هذه هي الفكرة من وراء الغرض منه. يمكن لهذا الكابل ، المسمى iMoPlant ، اختراق أي جهاز كمبيوتر في غضون ثوانٍ. العقل المدبر موجود في قابس الموصل لطرف USB-A ، داخل العلبة ، ملحومًا على وسادات USB ، حيث لا يمكن رؤيته أو فصله. خلال هذه المقالة ، سوف أطلعك على كيفية الوصول إلى برمجة iMoPlant لمهاجمة كل من أجهزة الكمبيوتر التي تعمل بنظام التشغيل ماكMacOS و ويندوزWindows
كيف يعمل؟
داخل حاوية قابس USB-A ، يوجد لوحه الكترونيه صغيره تم زرعها. هذه الزرعه عباره عن لوحة الكترونيه من طبقتين ، صغيرة للغاية. تحتوي الطبقة العليا منها على قطع الكترونيه في دائره متكامله ملحومة عليها. و تحتوي الطبقة السفلية على جهات اتصال بأربع وسادات ملحومة على USB. يمكن برمجة اللوحه لتنفيذ برمجيات خبيثة مختلفة. بمجرد توصيل USB بجهاز الكمبيوتر الخاص بالضحيه ، سيتم تشغيل القطعة الإلكترونية وستبدأ في تنفيذ الأوامر المحملة مسبقًا. ببساطة ، تعمل كلوحة مفاتيح. سريعة للغاية. لوحة مفاتيح قادرة على ضخ ضغطات المفاتيح بسرعة البرق. عند توصيله بجهاز كمبيوتر ، سيعرف كابل iMoPlant نفسه على أنه لوحة مفاتيح. في واقع الأمر ، سيعرف نفسه على أنه واجهة جهاز بشري (HID) ، مما يجعل من الممكن محاكاة الماوس أيضًا (اعتمادًا على الكود الذي تم تحميله).

الابعاد
كما ذكرنا أعلاه ، القطعة الإلكترونية عبارة عن لوحة الكترونيه مطبوعة
(PCB) من طبقتين (7.8 مم × 10 مم × 0.6 مم) صغيرة جدا، مع مكونات ملحومة عليها.

أداة التصميم
تم تصميم اللوحه عن عمد لتكون صغيره بما يكفي لتناسب حاوية USB. تم التصميم من خلال EasyEDA. EasyEDA عباره عن أداة إلكترونية على شبكة الإنترنت تتيح لمهندسي الإلكترونيات والمعلمين والطلاب والصناع والمتحمسين تصميم مشاريعهم ومشاركتها. https://easyeda.com
ملاحظة: سأطلق ملفات Gerber التي تتعلق بالتصميم الخاص على حسابي فيGitHub قريبًا.

اللحام
عندما يتعلق الأمر بلحام المكونات الصغيرة ، فمن الأفضل استخدام معجون اللحام والمسدس الحراري. تجنب استخدام مكواة اللحام مع الرصاص (متعب للغايه!).

Zener Diodes
نظرًا لحقيقة أن منفذ USB يوفر جهد بمقدار 5 فولت ، ولا يمكن لخطوط البيانات
(D+ و D-) تحمل هذا الجهد العالي ، فنحن بحاجة إلى إيجاد طريقة لتحويل 5 فولت إلى 3.6 فولت على الأقل ( التي يمكن أن يتحملها D+ و D-). لا يمكننا استخدام منظم الجهد (ضخم جدًا بالنسبة للوحه!). هنا يأتي دور Zener Diodes. إذا قمنا بإعداد اتجاه Zener Diodes في وضع منحاز عكسي ، فسيظل الجهد عبر الصمام الثنائي ثابتًا لمجموعة واسعة من التيارات. دعونا نختبرها.
من الشكل أعلاه ، لنفترض أن مصدر الطاقة 5 فولت يأتي من منفذ USB. إذا أضفنا المقاوم في سلسلة ، والصمام الثنائي ذو 3.3 فولت المنحاز عكسيًا ، فيمكننا تنظيم الجهد عند 3.3 فولت (أقصى اليمين). الأحمال الموازية للدايود سيكون لها نفس الجهد (هذه الأحمال ستكون خطوط بيانات +D / D- الخاصة بنا). على هذا النحو ، قمنا بصنع منظم جهد أسهل وأكثر إحكاما.

النظرة الأولى للّوحة الإلكترونية
بمجرد أن يتم لحام جميع المكونات الضرورية على الطبقة العليا من اللوحه ، فقد حان الوقت الآن أن يتم لحام الطبقة السفلية على الطرف السفلي للـUSB - (انظر للصورةأدناه).
يوضح الشكل أعلاه جانبي اللوحه. الجانب العلوي هو مكان وضع القطع الإلكترونية ، بينما يحتوي الجزء السفلي من اللوحة على أربع وسادات تتطابق تمامًا مع تباعد وسادات الطرف السفلي من (5V D- D+ GND) USB. يتم لحام الجانب السفلي من اللوحه في الطرف السفلي من الـUSB ، كما في الصورةأدناه.
إغلاق اللوحه
يتم توضيح عملية الإدراج في الشكل أدناه.
برمجة iMoPlant
لبرمجة iMoPlant باستخدام الأدوات المتوفرة في GitHub ، ستحتاج إلى اتباع هذه الخطوات على جهاز Kali Linux.

في البداية
قم بتنفيذ ما يلي: قم بتنفيذ الأمر
git clone لتنزيل الأداه

git clone https://github.com/moe-aal/iMoPlant/
ادخل على المجلد

cd iMoPlant
قم بأمر التحديث

apt-get update
قم بتغيير صلاحيات الملف

chmod 777 *.sh
قم بتشغيل ملف التثبيت

./installer.sh
طريقة بناء الـpayload
يجب أن يحتوي ملف الـpayload على أوامر مكتوبة بتنسيق Rubber-Ducky Script. قم بزيارة https://github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads لإلقاء نظرة على خيارات payload المختلفة. يمكنك دائما أن تصنعها بنفسك! يمكنك أيضًا العثور على عدد من payloads الأخرى لنظام التشغيل MacOS. لأغراض العرض التوضيحي ، سأكتب الـpayload الخاصة بي والذي سيفتح نافذة صغيرة في طرف الشاشة على نظام MacOS ٍوأحصل على عنوان IP الخاص بي عن طريق تشغيل ifconfig.
تحميل الـpayload
الآن ، دعونا نرفع الـpayload عن طريق استخدام الأمر التالي

./imoplanter.sh  payload.txt
"سيكون لديك 59 ثانية لتوصيل كابل iMoPlant الخاص بك لتحميل الكود"
في الصورة ادناه قمنا بتوصيل الكابل على جهاز الضحية MacOS
مهاجمة أجهزة MacOS
١. بناء الـpayload استبدل 192.168.8.149 بـ IP الخاص بك.
في جهاز المهاجِم ننفذ الامر

nc -nlvp 443
جهاز الضحية:
ما عليك سوى توصيل الكابل بجهاز كمبيوتر MacOS الخاص بالضحية أو إقناعهم بالقيام بذلك ، وسيقوم جهاز الضحيه بإعادة الاتصال بجهاز المهاجم في غضون ثوانٍ.

تجاوز ملف تعريف مساعدة إعداد لوحة المفاتيح من Apple:
إذا أدخلنا أي أداة HID في كمبيوتر MacOS ليس منتجًا من Apple ، فسيظهر ملف تعريف لوحة المفاتيح ، قبل أن تتاح الفرصة للكابل بتنفيذ الـpayload.
من المفترض أن تكون "مساعدة إعداد لوحة المفاتيح" اداة مساعده ولكنها في الواقع تجعل الأمور أكثر صعوبة. في هذه الحالة ، لا نريد تشكيل ملفات تعريف مفاتيحنا. بدلاً من ذلك ، نريد تنفيذ أوامرنا المبرمجة مسبقًا. السبب في ترحيبنا بمساعدة لوحة المفاتيح هو أن كابل iMoPlant ليس أحد منتجات Apple وبالتالي لا تثق به Apple.
وبالتالي ، تتم مطالبتنا من خلال "مساعدة لوحة المفاتيح" بتوصيف مفاتيح لوحة المفاتيح غير التابعة لشركة Apple. لكننا لا نريد ذلك. يمكننا في الواقع جعل MacOS يعتقد أن iMoPlant هو أحد منتجات Apple.

تحدد Apple المنتجات الخاصة بها من خلال معرف البائع (VID) ومعرف المنتج (PID). ويمكننا تعديل هذه القيم وجعلها تتطابق مع أحد منتجات Apple المشروعة. إذا قمنا بتشغيل برنامج التثبيت من GitHub ، فإنه يعتني بذلك بالفعل بالنسبة لنا. يوضح الشكل أدناه كيف يتم تحديد iMoPlant كمنتج Apple.
لن يتم استدعاء مساعد إعداد لوحة المفاتيح مطلقًا لأن MacOS سيفترض أنه تم التعرف عليه كمنتج من منتجات Apple.
مهاجمة أجهزة Windows
في هذا السيناريو جهاز الضحية Windows
المهاجِم:
1. بناء الـPayload
سنقوم ببناء الـpayload باستخدام msfvenom ثم سنستضيفها على خادم python.
2. الآن نقوم ببناء البرنامج النصي الخاص بنا لبرمجة
الـiMoPlant. يجب أن يكون البرنامج النصي قادرًا على القيام بما يلي:
• ابدأ PowerShell
• يقوم بتنزيل ملف rshell.exe من خادمنا.
• يقوم بتنفيذ ملف rshell.exe
3. قم بتشغيل msfconsole ونفذ امر
use multi/handler
4. تحميل الـpayload إلى iMoPlant
جهاز الضحية:
فقط قم بتوصيل الكبل بجهاز كمبيوتر الضحية الذي يعمل بنظام Windows أو اجعلهم يفعلون ذلك ، وسيقوم البرنامج الخبيث بالاتصال على المهاجم في غضون ثوانٍ.
الخاتمة
في التحليل النهائي ، يمكن تنفيذ كل ما يمكن القيام به باستخدام لوحة المفاتيح بشكل أسرع باستخدام كابل iMoPlant. في الواقع ، يمكنك دائمًا جعل الـpayload أكثر سلاسة،ويمكنك دائمًا أن تكون مبدعًا في الـpayload. على الرغم من أن كتابة برنامج الـpayload الخاص بك أمر سهل ، إلا أن هناك الكثير من خيارات الـpayload المتاحة بالفعل على الإنترنت. توجد أدوات البرامج المصممة لبرمجة iMoPlant على GitHub الخاص بي، وستجعل الحياة أسهل. سأقوم بنشر تكملة لهذه المقالة التي سأصف فيها بالتفصيل كيفية صنع كابل iMoPlant الخاص بك، من البداية.

لمشاركة هذه المدونة
تابعنا
طور مهاراتك من خلال متابعة آخر منشورات فريقنا
مدونات آخرى