Bootloader testing

Support HackTricks

Zalecane kroki do modyfikacji konfiguracji uruchamiania urządzenia i bootloaderów, takich jak U-boot:

  1. Dostęp do powłoki interpretera bootloadera:

  • Podczas uruchamiania naciśnij "0", spację lub inne zidentyfikowane "kody magiczne", aby uzyskać dostęp do powłoki interpretera bootloadera.

  1. Modyfikacja argumentów uruchamiania:

  • Wykonaj następujące polecenia, aby dodać 'init=/bin/sh' do argumentów uruchamiania, co pozwoli na wykonanie polecenia powłoki: %%% #printenv #setenv bootargs=console=ttyS0,115200 mem=63M root=/dev/mtdblock3 mtdparts=sflash: rootfstype= hasEeprom=0 5srst=0 init=/bin/sh #saveenv #boot %%%

  1. Konfiguracja serwera TFTP:

  • Skonfiguruj serwer TFTP, aby ładować obrazy przez lokalną sieć: %%% #setenv ipaddr 192.168.2.2 #lokalny adres IP urządzenia #setenv serverip 192.168.2.1 #adres IP serwera TFTP #saveenv #reset #ping 192.168.2.1 #sprawdź dostęp do sieci #tftp ${loadaddr} uImage-3.6.35 #loadaddr przyjmuje adres, do którego ma zostać załadowany plik oraz nazwę pliku obrazu na serwerze TFTP %%%

  1. Wykorzystanie ubootwrite.py:

  • Użyj ubootwrite.py, aby zapisać obraz U-boot i wprowadzić zmodyfikowane oprogramowanie układowe, aby uzyskać dostęp root.

  1. Sprawdzenie funkcji debugowania:

  • Zweryfikuj, czy funkcje debugowania, takie jak szczegółowe logowanie, ładowanie dowolnych rdzeni lub uruchamianie z nieufnych źródeł, są włączone.

  1. Ostrożność przy ingerencji w sprzęt:

  • Bądź ostrożny podczas łączenia jednego pinu z masą i interakcji z chipami SPI lub NAND flash podczas sekwencji uruchamiania urządzenia, szczególnie przed dekompresją jądra. Skonsultuj się z kartą katalogową chipu NAND flash przed skracaniem pinów.

  1. Konfiguracja fałszywego serwera DHCP:

  • Skonfiguruj fałszywy serwer DHCP z złośliwymi parametrami, które urządzenie ma przyjąć podczas uruchamiania PXE. Wykorzystaj narzędzia, takie jak pomocniczy serwer DHCP Metasploit (MSF). Zmodyfikuj parametr 'FILENAME' za pomocą poleceń wstrzykiwania, takich jak 'a";/bin/sh;#', aby przetestować walidację wejścia dla procedur uruchamiania urządzenia.

Uwaga: Kroki związane z fizyczną interakcją z pinami urządzenia (*oznaczone gwiazdkami) powinny być podejmowane z ekstremalną ostrożnością, aby uniknąć uszkodzenia urządzenia.

Referencje

Support HackTricks

Last updated