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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
firmware-analysis-toolkit — مجموعة أدوات لمحاكاة البرامج الثابتة وتحليلها بحثًا عن الثغرات الأمنية | Kitploit
أدوات/GitHubGitHub/attify/firmware-analysis-toolkit
أمان الأنظمة المدمجةأمان إنترنت الأشياءتحليل الثغرات الأمنيةالهندسة العكسيةتحليل الملفات الثنائيةالتعلم والتعليمتحليل البرامج الثابتة
GitHubattify/firmware-analysis-toolkit

firmware-analysis-toolkit

مجموعة أدوات لمحاكاة البرامج الثابتة وتحليلها بحثًا عن الثغرات الأمنية

عرض المستودع
1.6k283منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

مجموعة أدوات تحليل البرامج الثابتة

FAT هي مجموعة أدوات تم بناؤها لمساعدة باحثي الأمن على تحليل وتحديد الثغرات في البرامج الثابتة لأجهزة إنترنت الأشياء والأجهزة المضمنة. تُستخدم هذه المجموعة أيضًا في تدريب "استغلال ثغرات إنترنت الأشياء الهجومي" الذي تقدمه Attify.

ملاحظة:

  • في الوقت الحالي، هو مجرد نص برمجي لأتمتة Firmadyne وهي أداة تستخدم لمحاكاة البرامج الثابتة. في حالة وجود أي مشاكل مع المحاكاة الفعلية، يرجى نشر مشاكلك في مشاكل firmadyne.

  • في حالة مواجهتك لمشاكل، يمكنك تجربة AttifyOS الذي يحتوي على مجموعة أدوات تحليل البرامج الثابتة وأدوات أخرى مثبتة مسبقًا وجاهزة للاستخدام.


مجموعة أدوات تحليل البرامج الثابتة (FAT من الآن فصاعدًا) مبنية على Firmadyne مع بعض التغييرات. يستخدم Firmadyne قاعدة بيانات PostgreSQL لتخزين المعلومات حول الصور المُحاكاة. ولكن فقط للوظيفة الأساسية أي محاكاة البرامج الثابتة، فإن PostgreSQL ليست ضرورية حقًا. لذلك لا تستخدمها FAT.

تعليمات الإعداد

تم تطوير FAT باستخدام Python 3. ومع ذلك، يجب أن يكون لديك كل من Python 3 و Python 2 مثبتين لأن أجزاء من Firmadyne وتبعياته تستخدم Python 2. يُوصى بشدة بتثبيت FAT داخل جهاز افتراضي.

للتثبيت، ما عليك سوى استنساخ المستودع وتشغيل النص البرمجي ./setup.sh.

root@kitploit:~
git clone https://github.com/attify/firmware-analysis-toolkit
cd firmware-analysis-toolkit
./setup.sh

بعد اكتمال التثبيت، قم بتحرير ملف fat.config وقم بتوفير كلمة مرور sudo كما هو موضح أدناه. يتطلب Firmadyne صلاحيات sudo لبعض عملياته. يتم توفير كلمة مرور sudo لأتمتة العملية.

root@kitploit:~
[DEFAULT]
sudo_password=attify123
firmadyne_path=/home/attify/firmadyne

تشغيل FAT

root@kitploit:~
$ ./fat.py <ملف البرنامج الثابت>
  • قم بتوفير اسم ملف البرنامج الثابت كوسيطة للنص البرمجي.

  • سيعرض النص البرمجي عناوين IP المخصصة لواجهات الشبكة المُنشأة. قم بتدوينها.

  • أخيرًا، سيقول أن المحاكاة قيد التشغيل. اضغط على ENTER وانتظر حتى يتم تشغيل البرنامج الثابت. قم بتنفيذ ping على عنوان IP الذي ظهر في الخطوة السابقة، أو افتحه في المتصفح.

تهانينا! تمت محاكاة البرنامج الثابت بنجاح.

لإزالة جميع صور البرامج الثابتة التي تم تحليلها، قم بتشغيل الأمر التالي:

root@kitploit:~
$ ./reset.py

مثال 1

root@kitploit:~
$ ./fat.py DIR-601_REVB_FIRMWARE_2.01.BIN 

                               __           _   
                              / _|         | |  
                             | |_    __ _  | |_ 
                             |  _|  / _` | | __|
                             | |   | (_| | | |_ 
                             |_|    \__,_|  \__|                    
                    
                Welcome to the Firmware Analysis Toolkit - v0.3
    Offensive IoT Exploitation Training http://bit.do/offensiveiotexploitation
                  By Attify - https://attify.com  | @attifyme
    
[+] Firmware: DIR-601_REVB_FIRMWARE_2.01.BIN
[+] Extracting the firmware...
[+] Image ID: 1
[+] Identifying architecture...
[+] Architecture: mipseb
[+] Building QEMU disk image...
[+] Setting up the network connection, please standby...
[+] Network interfaces: [('br0', '192.168.0.1')]
[+] All set! Press ENTER to run the firmware...
[+] When running, press Ctrl + A X to terminate qemu

عرض Asciicast

asciicast

مثال 2

root@kitploit:~
$ ./fat.py DIR890A1_FW103b07.bin --qemu 2.5.0

                               __           _
                              / _|         | |
                             | |_    __ _  | |_
                             |  _|  / _` | | __|
                             | |   | (_| | | |_
                             |_|    \__,_|  \__|

                Welcome to the Firmware Analysis Toolkit - v0.3
    Offensive IoT Exploitation Training http://bit.do/offensiveiotexploitation
                  By Attify - https://attify.com  | @attifyme

[+] Firmware: DIR890A1_FW103b07.bin
[+] Extracting the firmware...
[+] Image ID: 2
[+] Identifying architecture...
[+] Architecture: armel
[+] Building QEMU disk image...
[+] Setting up the network connection, please standby...
[+] Network interfaces: [('br0', '192.168.0.1'), ('br1', '192.168.7.1')]
[+] Using qemu-system-arm from /home/attify/firmware-analysis-toolkit/qemu-builds/2.5.0
[+] All set! Press ENTER to run the firmware...
[+] When running, press Ctrl + A X to terminate qemu

ملاحظات إضافية

  • في الوقت الحالي، لا تعمل نواة firmware الخاصة بـ ARM مع أحدث إصدار من Qemu (2.11.1) المتاح في المستودع الرسمي لـ Ubuntu 18.04. ومع ذلك، فإن Qemu (2.5.0) على Ubuntu 16.04 يعمل. بدلاً من ذلك، يمكنك أيضًا استخدام Qemu المرفق (2.5.0) المقدم مع firmadyne كما هو موضح في المثال 2.

  • إذا لم يتم اكتشاف أي واجهات شبكة، حاول زيادة قيمة المهلة من 60 في scripts/inferNetwork.sh كما هو موضح أدناه

    root@kitploit:~
    echo "Running firmware ${IID}: terminating after 60 secs..."
    timeout --preserve-status --signal SIGINT 60 "${SCRIPT_DIR}/run.${ARCH}.sh" "${IID}"
    

المشاكل المعروفة

  • لا تعمل FAT على Ubuntu 20.04. السبب الرئيسي وراء ذلك هو أن بعض تبعيات Firmadyne (خاصة binwalk) تتطلب Python 2. ما لم يتم إصلاح هذا في المنبع، التزم بـ Ubuntu 18.04 أو أقل. Ubuntu 20.04 مدعوم الآن. الإصدار الحالي من FAT يقوم بتصحيح نص تثبيت binwalk لتجاوز المشكلة.

بناء Qemu ثابت

يتضمن المستودع بالفعل بناءات ثابتة لـ qemu 2.0.0 و 2.5.0 و 3.0.0 (في الإصدارات) ولكن إذا كنت تريد بناء خاصتك، اتبع الخطوات أدناه.

على جهاز افتراضي نظيف Ubuntu 16.04، قم بتشغيل. (من المهم استخدام 16.04، الإصدارات الأحدث بها مشاكل مع التجميع الثابت).

Qemu 2.0.0

root@kitploit:~
sudo apt update && sudo apt build-dep qemu -y
wget https://download.qemu.org/qemu-2.0.0.tar.bz2
tar xf qemu-2.0.0.tar.bz2
mkdir qemu-2.0.0-build
cd qemu-2.0.0
./configure --prefix=$(realpath ../qemu-2.0.0-build) --static --target-list=arm-softmmu,mips-softmmu,mipsel-softmmu --disable-smartcard-nss --disable-spice --disable-libusb --disable-usb-redir
make
make install

يمكن العثور على الملفات الثنائية المترجمة في دليل qemu-2.0.0-build.

Qemu 2.5.0

root@kitploit:~
sudo apt update && sudo apt build-dep qemu -y
wget https://download.qemu.org/qemu-2.5.0.tar.bz2
tar xf qemu-2.5.0.tar.bz2
mkdir qemu-2.5.0-build
cd qemu-2.5.0
./configure --prefix=$(realpath ../qemu-2.5.0-build) --static --target-list=arm-softmmu,mips-softmmu,mipsel-softmmu --disable-smartcard --disable-libusb --disable-usb-redir
make 
make install

يمكن العثور على الملفات الثنائية المترجمة في دليل qemu-2.5.0-build.

Qemu 3.0.0

root@kitploit:~
sudo apt update && sudo apt build-dep qemu -y
wget https://download.qemu.org/qemu-3.0.0.tar.bz2
tar xf qemu-3.0.0.tar.bz2
mkdir qemu-3.0.0-build
cd qemu-3.0.0
./configure --prefix=$(realpath ../qemu-3.0.0-build) --static --target-list=arm-softmmu,mips-softmmu,mipsel-softmmu --disable-smartcard --disable-libusb --disable-usb-redir
make 
make install

يمكن العثور على الملفات الثنائية المترجمة في دليل qemu-3.0.0-build.

ملاحظة: يجب أن يكون من الممكن أيضًا تجميع qemu بشكل ثابت على نظام alpine ولكن لم يتم اختبار ذلك. بشكل عام، يُفضل التجميع على alpine بدلاً من Ubuntu لأن الأول يأتي مع musl libc وهو أفضل في الربط الثابت من glibc على Ubuntu.

تنزيل الأداة