{U-Boot ou U-Boot pas ?}
Un introduction à U-Boot
Drahoxx
1
U-Boot c'est quoi ?
2
U-Boot ou U-Boot pas WU du challenge de l'interIUT
3
Sous-Marin WU du challenge du FCSC
Drahoxx
U-Boot qu'est-ce que c'est ?
# U-Boot ou U-Boot pas ~ HitchHack2023
Unterseeboot
Drahoxx
U-Boot qu'est-ce que c'est ?
# U-Boot ou U-Boot pas ~ HitchHack2023
Universal Boot(loader)
Embarqué dans les fusées Falcon
- ARM, RISC-V, PowerPC, MIPS, etc.
- Open-Source
- Initialise le matériel et lance l'OS
Drahoxx
U-Boot qu'est-ce que c'est ?
# U-Boot ou U-Boot pas ~ HitchHack2023
Power-On
BIOS/UEFI
Grub
Linux
Windows Boot Manager
Windows
Power-On
U-Boot
Linux
# Chaine de boot classique
# Chaine de boot embarquée
Drahoxx
U-Boot qu'est-ce que c'est ?
# U-Boot ou U-Boot pas ~ HitchHack2023
U-Boot
Stage 1
U-Boot
Stage 2
Initialisation du hardware
Configuration de la mémoire
Lancement de la phase 2
Démarrage de la console
Démarrage de l'OS
Capacités réseau
Drahoxx
U-Boot ou U-Boot pas -- CTF interIUT
# U-Boot ou U-Boot pas ~ HitchHack2023
- CTF InterIUT 2023
Docker
Drahoxx
Par défaut démarre sur /init qui shutdown la machine
U-Boot ou U-Boot pas -- CTF interIUT
# U-Boot ou U-Boot pas ~ HitchHack2023
1) Accéder au shell U-Boot
2) Les variables d'environnement $ printenv
Drahoxx
U-Boot ou U-Boot pas -- CTF interIUT
# U-Boot ou U-Boot pas ~ HitchHack2023
$ ./toto "Hello world!" Arg2
init= [KNL] Format: <full_path> Run specified binary instead of /sbin/init as init process.
What about the Kernel ?
Drahoxx
U-Boot ou U-Boot pas -- CTF interIUT
# U-Boot ou U-Boot pas ~ HitchHack2023
3) Modifier les paramètres de boot
4) Démarrer Linux
$ setenv bootargs rootwait root=/dev/vda console=ttyAMA0 init=/bin/sh
$ boot
5) Flag 🤑
$ cat flag.txt
Drahoxx
Sous-Marin -- FCSC
# U-Boot ou U-Boot pas ~ HitchHack2023
Docker
Drahoxx
Sous-Marin -- FCSC
# U-Boot ou U-Boot pas ~ HitchHack2023
1) Accéder au shell U-Boot
2)Les variables d'environnement$ ksd\x01\x39M|"
=> Erreur d'implémentation
1) On inverse les 0 en 1 2) Rotate à gauche
Drahoxx
Sous-Marin -- FCSC
# U-Boot ou U-Boot pas ~ HitchHack2023
3) Essayer de modifier les arguments Kernel ?
4) Download le firmware
Honteusement volé à CypElf
$ sf probe; sf read $kernel_addr_r 0 9bc8b; $ md.b $kernel_addr_r 0x9bc8b;
Drahoxx
Sous-Marin -- FCSC
# U-Boot ou U-Boot pas ~ HitchHack2023
$ sf probe; sf read $kernel_addr_r 0 9bc8b; $ md.b $kernel_addr_r 0x9bc8b;
$ mmc write addr blk# cnt
Drahoxx
-> Décompression du Kernel -> Analyse du FS
Who am I ?
# U-Boot ou U-Boot pas ~ HitchHack2023
4A Cyberdéfense ~ ENSIBS
# Quelques ressources
U-BootOuU-BootPas
By Léo Chaigneau (Drahoxx)
U-BootOuU-BootPas
- 377