OK, donc la console série est configurée avec le même shell limité que le telnet.
Pour le tftp, je parlais dans uboot.
On peut normalement recupérer ce qu'on veut, mais pas envoyer vers le PC (ce serait "tftput" qui n'est pas dans la liste).
Dans uboot, on peut voir quelles sont les commandes de boot (entre autres) avec "printenv".
Il y a plusieurs solutions envisageables :
- Rajouter init=/bin/sh (et éventuellement un argument console, enlever tout éventuel "quiet", ...) sur la ligne de commande kernel, pour avoir un shell.
- Si le réseau fonctionne dans uboot, booter le kernel intégré avec un rootfs qu'on chargerait via tftp.
Dans le premier cas on a le rootfs normal, donc la première chose à faire est "cat /etc/passwd" (et "cat /etc/shadow" s'il existe) : si ça se trouve le mot de passe de root est trivial.
Si les interfaces réseau ne nécessitent pas de firmware et/ou paramétrage spécifique (particulièrement le port 1Gbps), on pourrait configurer le réseau manuellement avec ifconfig / ip;
Dans le cas du boot avec "init=/bin/sh", on peut éventuellement lancer tout ou partie des scripts de démarrage manuellement.
Et ensuite les /dev/mtdX pourraient être transférés via tftp, ftp, curl, nc ou autre selon les commandes disponibles.
On peut aussi lancer un telnet pour donner un accès root sans login, "telnetd -l /bin/sh", qui permettrait de transférer des fichiers de manière détournée en hexa ou base64.