Analyse switch ubiquiti us-8-150w et US-24-250W – 2026 – FEB
J’ai récupéré un switch Ubiquiti US-8-150W. Malheureusement, il ne fonctionne plus. et nouveau switch US-24-250W Ubiquiti US-8-150W : boot U-Boot, extraction du kernel et debug avancé Suite à notre analyse initiale du switch Ubiquiti US-8-150W , nous avons poursuivi le reverse engineering et obtenu des avancées significatives. Cette mise à jour détaille : le mapping complet de la flash le boot manuel via U-Boot l’extraction et le chargement d’un kernel le contrôle du middleware Ubiquiti Ces techniques permettent désormais un contrôle quasi complet du processus de boot. Mapping mémoire flash du US-8-150W Le mapping de la flash SPI est maintenant entièrement identifié : 0x000000000000-0x0000000c0000 : "u-boot" 0x0000000c0000-0x0000000d0000 : "u-boot-env" 0x0000000d0000-0x0000000e0000 : "shmoo" 0x0000000e0000-0x000000fe0000 : "kernel0" 0x000000fe0000-0x000001ef0000 : "kernel1" 0x000001ef0000-0x000001ff0000 : "cfg" 0x000001ff0000-0x000002000000 : "EEPROM" Tip : La présence de kernel0 et kernel1 indique un mécanisme de mise à jour avec rollback automatique. Forcer le boot sur kernel0 avec U-Boot Il est possible de bypass le boot par défaut et de charger directement kernel0 : sf probe sf read 0x1000000 0xe0000 0xf00000 bootm 0x1000000 0xe0000 : offset de kernel0 0xf00000 : taille (~15 MB) Attention : une mauvaise adresse ou taille peut provoquer un crash ou un boot invalide. Extraction du kernel depuis un firmware Ubiquiti Identifier le kernel avec binwalk binwalk US.MULT.US8_7.2.123+16565.251002.1348.bin 448410 0x6D79A uImage header Extraction du kernel dd if=US.MULT.US8_7.2.123+16565.251002.1348.bin \ of=ubi-kernel.img \ bs=1 skip=448410 count=15583836 status=progress Astuce : le header uImage permet de booter directement avec bootm sans modification. Chargement du kernel via UART (YMODEM) Sur le PC : picocom -b 115200 --send-cmd "sb -vv" /dev/ttyUSB0 Dans U-Boot : loady Puis : Ctrl-A → S → sélectionner ubi-kernel.img Boot du kernel bootm 0x1000000 Le kernel est chargé et exécuté sans flash. Analyse du boot Linux Image Type: ARM Linux Kernel Image (uncompressed) Load Address: 00018000 Entry Point: 00018000 Le chargement à 0x18000 confirme un format uImage standard ARM. Bloquer le reset automatique du switch Après connexion ( ubnt / ubnt ), exécuter immédiatement : killall -STOP switch killall -STOP app Important : cette étape doit être réalisée rapidement sinon le système reprend le contrôle et reconfigure le switch. Debug du middleware Ubiquiti /sbin/switchdrvr Permet de relancer manuellement le driver et d’observer le comportement du dataplane. Tip : utile pour analyser les interactions avec l’ASIC sans watchdog actif. Résultats et possibilités Boot de kernel sans écriture en flash Reverse engineering facilité Contrôle du cycle de boot Debug du système réseau interne Base pour firmware custom Perspectives Modification du root filesystem Injection de configuration personnalisée Reverse du protocole interne Ubiquiti Contrôle avancé de l’ASIC switch Conclusion Ces avancées transforment le switch Ubiquiti US-8-150W en une plateforme entièrement contrôlable pour le reverse engineering et l’expérimentation. Le contrôle du boot via U-Boot, combiné à l’extraction et au chargement de kernels, ouvre la voie à des firmwares personnalisés et à une compréhension fine du fonctionnement interne du switch. Mots-clés : Ubiquiti US-8-150W, U-Boot, reverse engineering, firmware, kernel extraction, binwalk, switch hacking, embedded Linux L’article Analyse switch ubiquiti us-8-150w et US-24-250W – 2026 – FEB est apparu en premier sur LABORATOIRE OUVERT VILLEURBANNAIS .