Bootloader testing
Les étapes suivantes sont recommandées pour modifier les configurations de démarrage des appareils et les chargeurs de démarrage comme U-boot :
Accéder à l'interpréteur de shell du chargeur de démarrage :
Pendant le démarrage, appuyez sur "0", espace ou d'autres "codes magiques" identifiés pour accéder à l'interpréteur de shell du chargeur de démarrage.
Modifier les arguments de démarrage :
Exécutez les commandes suivantes pour ajouter '
init=/bin/sh
' aux arguments de démarrage, permettant l'exécution d'une commande shell : %%% #printenv #setenv bootargs=console=ttyS0,115200 mem=63M root=/dev/mtdblock3 mtdparts=sflash: rootfstype= hasEeprom=0 5srst=0 init=/bin/sh #saveenv #boot %%%
Configurer un serveur TFTP :
Configurez un serveur TFTP pour charger des images sur un réseau local : %%% #setenv ipaddr 192.168.2.2 #IP locale de l'appareil #setenv serverip 192.168.2.1 #IP du serveur TFTP #saveenv #reset #ping 192.168.2.1 #vérifier l'accès au réseau #tftp ${loadaddr} uImage-3.6.35 #loadaddr prend l'adresse pour charger le fichier et le nom du fichier de l'image sur le serveur TFTP %%%
Utiliser
ubootwrite.py
:
Utilisez
ubootwrite.py
pour écrire l'image U-boot et pousser un firmware modifié pour obtenir un accès root.
Vérifier les fonctionnalités de débogage :
Vérifiez si des fonctionnalités de débogage telles que le journalisation verbose, le chargement de noyaux arbitraires ou le démarrage à partir de sources non fiables sont activées.
Interférence matérielle prudente :
Soyez prudent lorsque vous connectez une broche à la terre et interagissez avec les puces flash SPI ou NAND pendant la séquence de démarrage de l'appareil, en particulier avant la décompression du noyau. Consultez la fiche technique de la puce flash NAND avant de court-circuiter les broches.
Configurer un serveur DHCP malveillant :
Configurez un serveur DHCP malveillant avec des paramètres malveillants pour qu'un appareil les ingère lors d'un démarrage PXE. Utilisez des outils comme le serveur auxiliaire DHCP de Metasploit (MSF). Modifiez le paramètre 'FILENAME' avec des commandes d'injection de commande telles que
'a";/bin/sh;#'
pour tester la validation des entrées pour les procédures de démarrage de l'appareil.
Remarque : Les étapes impliquant une interaction physique avec les broches de l'appareil (*marquées d'astérisques) doivent être abordées avec une extrême prudence pour éviter d'endommager l'appareil.
Références
Last updated