
مجموعة أدوات لهجمات زرع الأجهزة في إنترنت الأشياء
IoT-Implant-Toolkit هو إطار عمل من الأدوات المفيدة لأبحاث زرع البرامج الضارة في أجهزة إنترنت الأشياء. وهو مجموعة أدوات تتكون من برامج أساسية لتعديل البرامج الثابتة (firmware) وتصحيح أخطاء المنافذ التسلسلية وتحليل البرامج وعملاء تجسس مستقرين. بفضل بيئة تشبه الصدفة سهلة الاستخدام وقابلة للتوسع، يُعد IoT-Implant-Toolkit مجموعة أدوات شاملة تبسط العملية المعقدة لزرع البرامج الضارة في أجهزة إنترنت الأشياء.
في بحثنا، نجحنا في زرع أحصنة طروادة في ثمانية أجهزة تشمل مكبرات صوت ذكية وكاميرات ومسجلات قيادة ومترجمين محمولين باستخدام IoT-Implant-Toolkit.
فيديو توضيحي أدناه:

تأكد من تثبيت git و python3 و setuptools.
لمعالجة الصوت وتشغيله، يجب تثبيت alsa (مدمج في لينكس) و sox و ffplay. على Ubuntu 18.04:
$ sudo apt install sox ffmpeg
قم بتنزيل الكود المصدري من مستودعنا على Github:
$ git clone https://github.com/arthastang/IoT-Implant-Toolkit.git
قم بإعداد البيئة وتثبيت التبعيات:
$ cd IoT-Implant-Toolkit/
$ python3 setup.py install
قم بتشغيل المجموعة:
$ python3 -B IoT-Implant-Toolkit.py
_____ _______ _____ _ _ _______ _ _ _ _
|_ _| |__ __| |_ _| | | | | |__ __| | | | (_) |
| | ___ | |______| | _ __ ___ _ __ | | __ _ _ __ | |_ ______| | ___ ___ | | | ___| |_
| | / _ \| |______| | | '_ ` _ \| '_ \| |/ _` | '_ \| __|______| |/ _ \ / _ \| | |/ / | __|
_| || (_) | | _| |_| | | | | | |_) | | (_| | | | | |_ | | (_) | (_) | | <| | |_
|_____\___/|_| |_____|_| |_| |_| .__/|_|\__,_|_| |_|\__| |_|\___/ \___/|_|_|\_\_|\__|
| |
|_|
IoT-Implant-Toolkit
-------------------------------------------------------------
A Framework for IoT implantation research.
by Marvel Team
Command:
list - List all tools
run - Run a specific tool
exit - Exit
[Implant-Toolkit]>
ثلاثة أوامر مدعومة: list - عرض جميع الإضافات run - تشغيل إضافة معينة باستخدام "run [plugin] [parameters]" exit - خروج
تعمل كل أداة برمجية كإضافة يمكن إضافتها بسهولة إلى الإطار.
هناك أكثر من عشر إضافات في أربع فئات، تغطي مواضيع تصحيح أخطاء المنافذ التسلسلية، وتجميع وفك تجميع البرامج الثابتة، وتحليل البرامج، وبرامج التجسس المزروعة.
الإضافات الحالية في إطارنا:
هيكل الكود:
--IoT-Implant_toolkit.py #Startup script
--outputs/ #Default folder of outputs
--toolkit/
|---core/
|---basic/ #Basic plugin class defination
|---cli/ #Shell-like cli defination
|---toollist/ #Auto updating toollist of plugins
|---plugins/
|---firmware/ #Plugins for firmware modification
|---implant/ #Plugins for generate spy programs
|---serialport/ #Plugins for serial port debugging
|---software/ #Plugins for software analysis especially for Android
|---tools/ #Other tools
قم بإنشاء [newplugin].py في المجلد المناسب (الفئة) وحدد الخصائص الأولية (init attributes) لإضافة إضافة جديدة إلى IoT-Implant-Toolkit. سيكتشف الإطار الإضافة الجديدة تلقائياً عند بدء التشغيل.
الأدوات المادية الأساسية لأبحاث زرع البرامج الضارة. انظر الصور في مجلد HardwareTools/.
لم نقم بإضافة إضافات أخرى بسبب ضيق الوقت.
الجدول أدناه عبارة عن أدوات لا تتناسب مع إطارنا، لكنها قد تكون مفيدة.
نأمل أن تصبح IoT-Implant-Toolkit مجموعة أدوات أساسية في زرع البرامج الضارة.
| التصنيف | الأدوات | الوصف | المرجع |
|---|
| تصحيح أخطاء المنفذ التسلسلي | pyserial | برنامج للتحكم بالمودم ومحاكاة الطرفية | https://github.com/pyserial/pyserial |
| تصحيح أخطاء المنفذ التسلسلي | baudrate.py | العثور على معدل الباود الصحيح | https://github.com/devttys0/baudrate |
| تجميع وفك تجميع البرامج الثابتة | mksquashfs | إنشاء واستخراج نظام ملفات Squashfs | https://github.com/plougher/squashfs-tools |
| تجميع وفك تجميع البرامج الثابتة | mkbootimg_tools | فك وإعادة تجميع boot.img لأندرويد | https://github.com/xiaolu/mkbootimg_tools |
| تجميع وفك تجميع البرامج الثابتة | cramfs | إنشاء نظام ملفات cramfs | https://sourceforge.net/projects/cramfs/files/cramfs/1.1/ |
| تجميع وفك تجميع البرامج الثابتة | mountimg | تثبيت وفك تثبيت أنظمة ملفات ext4 لملفات system.img و data.img لأندرويد | على مستودعنا في Github |
| تحليل البرامج | setools-android | setools لأندرويد مع sepolicy-inject | https://github.com/xmikos/setools-android |
| تحليل البرامج | crosscomplie | سلسلة أدوات الترجمة المتقاطعة لمعمارية ARM | على مستودعنا في Github لاحقاً |
| تحليل البرامج | odex unpack | تحويل Odex إلى Smali لأندرويد | على مستودعنا في Github |
| زرع البرامج الثنائية | spy client&server | عميل وخادم تجسس مستقران، مع الكود المصدري والملفات الثنائية المعدة مسبقاً | على مستودعنا في Github |
| زرع البرامج الثنائية | denoise tool | أداة إزالة الضوضاء لمعالجة الصوت | على مستودعنا في Github |
| الاسم | الوصف |
|---|
| مكواة لحام | أدوات اللحام |
| سلك لحام | أدوات اللحام |
| معجون لحام | أدوات اللحام |
| فتيل لحام | أدوات اللحام |
| مسدس هواء ساخن | أدوات اللحام |
| أداة إعادة التجميع | أداة إعادة تشكيل الكرات |
| usb to ttl | كابل تصحيح/وحدة تحكم |
| سلك دوبونت | سلك كهربائي |
| مبرمج EPROM Burner | مبرمج |
| التصنيف | الأدوات | الوصف | المرجع |
|---|
| تحليل البرامج الثابتة | binwalk | أداة سريعة وسهلة لتحليل وهندسة عكسية واستخراج صور البرامج الثابتة | https://github.com/ReFirmLabs/binwalk |
| تعديل البرامج الثابتة | firmware mod kit | مجموعة من النصوص والأدوات لاستخراج وإعادة بناء صور البرامج الثابتة المبنية على لينكس | https://github.com/rampageX/firmware-mod-kit |
| المترجم المتقاطع | buildroot | سلسلة أدوات ترجمة متقاطعة لمعماريات ARM و MIPS و PowerPC | https://buildroot.org/ |