Bootloader testing
Die folgenden Schritte werden empfohlen, um Geräte-Startup-Konfigurationen und Bootloader wie U-Boot zu modifizieren:
Zugriff auf die Interpreter-Shell des Bootloaders:
Drücken Sie während des Bootvorgangs "0", Leerzeichen oder andere identifizierte "magische Codes", um auf die Interpreter-Shell des Bootloaders zuzugreifen.
Boot-Argumente ändern:
Führen Sie die folgenden Befehle aus, um '
init=/bin/sh
' den Boot-Argumenten anzuhängen, um die Ausführung eines Shell-Befehls zu ermöglichen: %%% #printenv #setenv bootargs=console=ttyS0,115200 mem=63M root=/dev/mtdblock3 mtdparts=sflash: rootfstype= hasEeprom=0 5srst=0 init=/bin/sh #saveenv #boot %%%
TFTP-Server einrichten:
Konfigurieren Sie einen TFTP-Server, um Bilder über ein lokales Netzwerk zu laden: %%% #setenv ipaddr 192.168.2.2 #lokale IP des Geräts #setenv serverip 192.168.2.1 #TFTP-Server-IP #saveenv #reset #ping 192.168.2.1 #Netzwerkzugriff überprüfen #tftp ${loadaddr} uImage-3.6.35 #loadaddr nimmt die Adresse zum Laden der Datei und den Dateinamen des Bildes auf dem TFTP-Server %%%
ubootwrite.py
verwenden:
Verwenden Sie
ubootwrite.py
, um das U-Boot-Image zu schreiben und eine modifizierte Firmware zu übertragen, um Root-Zugriff zu erhalten.
Debug-Funktionen überprüfen:
Überprüfen Sie, ob Debug-Funktionen wie ausführliche Protokollierung, Laden beliebiger Kernel oder Booten von nicht vertrauenswürdigen Quellen aktiviert sind.
Vorsicht bei Hardware-Interferenz:
Seien Sie vorsichtig, wenn Sie einen Pin mit Ground verbinden und während der Geräte-Boot-Sequenz mit SPI- oder NAND-Flash-Chips interagieren, insbesondere bevor der Kernel dekomprimiert wird. Konsultieren Sie das Datenblatt des NAND-Flash-Chips, bevor Sie Pins kurzschließen.
Rogue DHCP-Server konfigurieren:
Richten Sie einen Rogue DHCP-Server mit bösartigen Parametern ein, die ein Gerät während eines PXE-Boots aufnimmt. Verwenden Sie Tools wie den DHCP-Hilfsserver von Metasploit (MSF). Ändern Sie den 'FILENAME'-Parameter mit Befehlseinspritzungsbefehlen wie
'a";/bin/sh;#'
, um die Eingabevalidierung für Geräte-Startup-Prozeduren zu testen.
Hinweis: Die Schritte, die eine physische Interaktion mit Gerätestiften erfordern (*mit einem Stern markiert), sollten mit äußerster Vorsicht angegangen werden, um das Gerät nicht zu beschädigen.
Referenzen
Last updated