Bootloader testing

Support HackTricks

Наступні кроки рекомендуються для модифікації конфігурацій запуску пристроїв та завантажувачів, таких як U-boot:

  1. Доступ до інтерпретатора завантажувача:

  • Під час завантаження натисніть "0", пробіл або інші виявлені "магічні коди", щоб отримати доступ до інтерпретатора завантажувача.

  1. Модифікація аргументів завантаження:

  • Виконайте наступні команди, щоб додати 'init=/bin/sh' до аргументів завантаження, що дозволяє виконання команд оболонки: %%% #printenv #setenv bootargs=console=ttyS0,115200 mem=63M root=/dev/mtdblock3 mtdparts=sflash: rootfstype= hasEeprom=0 5srst=0 init=/bin/sh #saveenv #boot %%%

  1. Налаштування TFTP сервера:

  • Налаштуйте TFTP сервер для завантаження образів через локальну мережу: %%% #setenv ipaddr 192.168.2.2 #локальна IP адреса пристрою #setenv serverip 192.168.2.1 #IP адреса TFTP сервера #saveenv #reset #ping 192.168.2.1 #перевірка доступу до мережі #tftp ${loadaddr} uImage-3.6.35 #loadaddr приймає адресу для завантаження файлу та ім'я файлу образу на TFTP сервері %%%

  1. Використання ubootwrite.py:

  • Використовуйте ubootwrite.py для запису образу U-boot і завантаження модифікованого прошивки для отримання root доступу.

  1. Перевірка функцій налагодження:

  • Перевірте, чи активовані функції налагодження, такі як детальне ведення журналу, завантаження довільних ядер або завантаження з ненадійних джерел.

  1. Обережність при фізичному втручанні:

  • Будьте обережні при підключенні одного контакту до землі та взаємодії з чіпами SPI або NAND flash під час послідовності завантаження пристрою, особливо перед розпакуванням ядра. Консультуйтеся з технічними характеристиками чіпа NAND flash перед коротким замиканням контактів.

  1. Налаштування підробленого DHCP сервера:

  • Налаштуйте підроблений DHCP сервер з шкідливими параметрами для пристрою, щоб він міг їх отримати під час PXE завантаження. Використовуйте інструменти, такі як допоміжний сервер DHCP Metasploit (MSF). Змініть параметр 'FILENAME' на команди ін'єкції, такі як 'a";/bin/sh;#', щоб перевірити валідацію введення для процедур запуску пристрою.

Примітка: Кроки, що передбачають фізичну взаємодію з контактами пристрою (*позначені зірочками), слід виконувати з великою обережністю, щоб уникнути пошкодження пристрою.

Посилання

Support HackTricks

Last updated