Bootloader testing
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Die folgenden Schritte werden empfohlen, um die Startkonfigurationen und Bootloader wie U-boot zu ändern:
Zugriff auf die Interpreter-Shell des Bootloaders:
Drücke während des Bootvorgangs "0", Leertaste oder andere identifizierte "magische Codes", um auf die Interpreter-Shell des Bootloaders zuzugreifen.
Boot-Argumente ändern:
Führe die folgenden Befehle aus, um 'init=/bin/sh
' zu den Boot-Argumenten hinzuzufügen, was die Ausführung eines Shell-Befehls ermöglicht: %%% #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:
Konfiguriere 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 #Netzwerkzugang überprüfen #tftp ${loadaddr} uImage-3.6.35 #loadaddr nimmt die Adresse, um die Datei zu laden, und den Dateinamen des Bildes auf dem TFTP-Server %%%
ubootwrite.py
verwenden:
Verwende ubootwrite.py
, um das U-boot-Bild zu schreiben und eine modifizierte Firmware zu pushen, um Root-Zugriff zu erhalten.
Debug-Funktionen überprüfen:
Überprüfe, ob Debug-Funktionen wie ausführliches Logging, Laden beliebiger Kernel oder Booten von nicht vertrauenswürdigen Quellen aktiviert sind.
Vorsicht bei Hardware-Interferenzen:
Sei vorsichtig, wenn du einen Pin mit Masse verbindest und mit SPI- oder NAND-Flash-Chips während des Bootvorgangs des Geräts interagierst, insbesondere bevor der Kernel dekomprimiert. Konsultiere das Datenblatt des NAND-Flash-Chips, bevor du Pins kurzschließt.
Rogue DHCP-Server konfigurieren:
Richte einen Rogue DHCP-Server mit bösartigen Parametern ein, die ein Gerät während eines PXE-Boots aufnehmen soll. Verwende Tools wie Metasploit's (MSF) DHCP-Hilfsserver. Ändere den 'FILENAME'-Parameter mit Befehlsinjektionsbefehlen wie 'a";/bin/sh;#'
, um die Eingabevalidierung für die Startverfahren des Geräts zu testen.
Hinweis: Die Schritte, die physische Interaktionen mit den Pins des Geräts beinhalten (*mit Sternchen markiert), sollten mit äußerster Vorsicht angegangen werden, um Schäden am Gerät zu vermeiden.
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)