Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Linksys-WRT54GL-Exploitation — Du Solder au Shell : Exploitation complète du matériel du routeur Linksys WRT54GL (CVE-2022-43973) | Kitploit
Outils/GitHubGitHub/umbertodellamonica/linksys-wrt54gl-exploitation
Sécurité des Systèmes EmbarquésSécurité IoTAnalyse des VulnérabilitésExploitationRétro-ingénierieDébogueursTests d'IntrusionSécurité MatérielleAnalyse de Binaires

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Apprentissage et Éducation
Développement de Charges Utiles
Analyse de Micrologiciel
GitHubumbertodellamonica/linksys-wrt54gl-exploitation

Linksys-WRT54GL-Exploitation

Du Solder au Shell : Exploitation complète du matériel du routeur Linksys WRT54GL (CVE-2022-43973)

Voir le dépôt
2216il y a 4 moisPas encore vérifié

De la Soudure au Shell : Exploitation Matérielle Complète du Routeur Linksys WRT54GL (CVE-2022-43973)

Un parcours de recherche en sécurité embarquée en 10 phases — de la découverte des broches JTAG à l'exécution de code à distance sur un routeur grand public basé sur MIPS.

AuteurUmberto Della Monica
RôleÉtudiant MSc en Cybersécurité — Chercheur en Sécurité Embarquée
DateMai 2026
DépôtLinksys-WRT54GL-Exploitation

Avertissement : Cette recherche a été menée à des fins éducatives et de recherche uniquement sur du matériel que je possède personnellement. Aucun système non autorisé n'a été accédé. Toutes les techniques décrites ici ne doivent être reproduites que sur des appareils que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de tester. L'auteur décline toute responsabilité en cas d'utilisation abusive des informations présentées. Respectez toujours les lois, réglementations et pratiques de divulgation responsable applicables.


Table des matières

  • Résumé Exécutif
  • Aperçu de l'Appareil Cible
  • Phases 1–2 : Reconnaissance Matérielle et Découverte des Broches
  • Phases 3–4 : Débogage JTAG et Extraction du Firmware
  • Phases 5–6 : Analyse et Émulation du Firmware
  • Phase 7 : Recherche de Vulnérabilité — CVE-2022-43973
  • Phase 8 : Développement de la Charge Utile — Shell Inversé MIPS
  • Phase 9 : Livraison de l'Exploit et Shell Root
  • Phase 10 : Analyse Réseau et de Session
  • Outils et Technologies
  • Points Clés
  • Références
  • Documentation Détaillée
  • Licence

Résumé Exécutif

  • Cible : Linksys WRT54GL v1.1 — un routeur grand public largement déployé basé sur le chipset Broadcom BCM5352 (architecture MIPS 32 bits)
  • Vulnérabilité : CVE-2022-43973 — Exécution de Code à Distance via injection de commandes dans l'interface de gestion HTTP
  • Portée : Chaîne d'exploitation complète du matériel au logiciel en 10 phases, de l'accès physique JTAG au shell root à distance
  • Résultat : Shell root distant complet obtenu via une charge utile de shell inversé MIPS personnalisée
  • Outils : JTAGulator, Attify Badge, OpenOCD, Ghidra, binwalk, FirmAE, Docker avec chaîne de compilation croisée Broadcom MIPS

Linksys WRT54GL v1.1


Aperçu de l'Appareil Cible

Le Linksys WRT54GL est l'un des routeurs grand public les plus emblématiques jamais produits. Son support du firmware open source en a fait un favori des passionnés et des chercheurs. Malgré son âge, il reste largement utilisé dans le monde, ce qui en fait une cible pertinente pour la recherche en sécurité embarquée.

SpécificationValeur
ChipsetBroadcom BCM5352
Fréquence CPU200 MHz
ArchitectureMIPS 32 bits (Little Endian)
Mémoire Flash4 Mo NOR (mappée en mémoire à 0xbfc00000)
RAM16 Mo
Sans filIEEE 802.11b/g, 54 Mbps
Réseau4x LAN + 1x WAN, pare-feu NAT avec SPI
OSLinux (BusyBox)
BootloaderCFE (Common Firmware Environment)

Architecture Interne


Phases 1–2 : Reconnaissance Matérielle et Découverte des Broches

La première étape de toute évaluation de sécurité matérielle est l'inspection physique. Après avoir ouvert le boîtier de l'appareil, j'ai identifié deux interfaces de débogage sur le circuit imprimé :

  • Un connecteur JTAG 12 broches (non soudé) pour le débogage au niveau matériel
  • Un port série (UART) 10 broches fonctionnant à des niveaux TTL 3,3V

Comme le connecteur JTAG n'était pas soudé, j'ai soudé un connecteur broche temporaire pour accéder à l'interface de débogage. À l'aide d'un multimètre, j'ai identifié les lignes de masse et Vcc et confirmé que la cible fonctionne à des niveaux logiques 3,3V — crucial pour éviter d'endommager le chipset.

Découverte des Broches JTAG avec JTAGulator

Pour cartographier les signaux JTAG, j'ai utilisé un JTAGulator de Grand Idea Studio — un outil matériel conçu pour identifier automatiquement les interfaces de débogage en testant toutes les combinaisons de broches possibles.

Le JTAGulator a identifié avec succès le brochage JTAG suivant :

board: wrt54gl_v1.1
device: Linksys WRT54GL v1.1
pins:
  TCK: PA3
  TMS: PA4
  TDI: PA1
  TDO: PA2
  TRST: NC
  SRST: PB0
notes: "Header JP3 — vérifié logique 3,3V."

Port JTAG en gros plan

Découverte de broches JTAGulator

Connexion physique : Linksys vers JTAGulator


Phases 3–4 : Débogage JTAG et Extraction du Firmware

Une fois les broches JTAG identifiées, j'ai connecté un Attify Badge — un outil open source d'évaluation de sécurité matérielle (GNU GPL v3.0) équipé d'une puce FTDI FT2232H — au connecteur JTAG du routeur.

J'ai lancé OpenOCD (Open On-Chip Debugger) avec une configuration personnalisée adaptée à la cible BCM5352, car les configurations officielles étaient incompatibles avec cette révision matérielle spécifique.

Disposition de la Mémoire Flash

La configuration OpenOCD personnalisée définit la disposition des partitions flash du routeur :

PartitionDescriptionAdresse de débutTaille
CFEBootloader0xbfc00000256 Ko
FirmwareNoyau + Système de fichiers racine0xbfc40000~3,7 Mo
NVRAMConfiguration0xbfff000064 Ko

Vidage du Firmware

Après avoir arrêté le CPU, j'ai effectué un vidage complet de 4 Mo de la flash NOR mappée en mémoire :

> target halt
> dump_image ./dumps/wrt54gl.bin 0xbfc00000 0x00400000

Attify Badge

Extraction du firmware OpenOCD


Phases 5–6 : Analyse et Émulation du Firmware

Analyse Statique avec binwalk

À l'aide de binwalk, j'ai analysé le vidage du firmware pour identifier les systèmes de fichiers intégrés, les segments compressés et l'image du noyau :

Télécharger l’outil