Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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
Starlink-FI — Modchip à injection de fautes de tension pour l'évaluation de sécurité en boîte noire des terminaux Starlink, contournant la vérification de signature du bootloader pour exécuter un firmware arbitraire. | Kitploit
Outils/GitHubGitHub/kuleuven-cosic/starlink-fi
Sécurité des Systèmes EmbarquésExploitationRétro-ingénierieHacking MatérielSécurité MatérielleAnalyse de BinairesAnalyse de Micrologiciel
GitHubkuleuven-cosic/starlink-fi

Starlink-FI

Modchip à injection de fautes de tension pour l'évaluation de sécurité en boîte noire des terminaux Starlink, contournant la vérification de signature du bootloader pour exécuter un firmware arbitraire.

Voir le dépôt
1.0k136il y a 3 ansVérifié par Kitploit

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

Modchip pour terminal utilisateur Starlink

Ce dépôt accompagne la présentation intitulée « Glitched on Earth by Humans: A Black-Box Security Evaluation of the SpaceX Starlink User Terminal ». Un jeu de diapositives est disponible ici, un enregistrement de la présentation devrait bientôt être disponible.

La présentation explique comment nous avons réussi à exécuter du code arbitraire sur le terminal utilisateur Starlink à l'aide d'un modchip personnalisé qui effectue une injection de faute par tension. Le modchip peut être utilisé pour contourner la vérification de signature lors de l'exécution du chargeur de démarrage ROM (BL1) du System-on-Chip (SoC). Cela permet d'exécuter du code arbitraire sur le SoC à partir de BL2 et permet d'explorer davantage le terminal utilisateur Starlink et le côté réseau du système. Nous fournissons la conception du modchip afin que d'autres chercheurs puissent poursuivre nos travaux.

🚨 UTILISATION À VOS PROPRES RISQUES 🚨

Même si nous avons testé et utilisé la conception du modchip fournie, il est possible de causer des dommages permanents à un terminal utilisateur avec ce modchip. De même, le démontage du terminal utilisateur peut entraîner des dommages permanents et annulera probablement votre garantie.

Aperçu de la conception du modchip

Le modchip est contrôlé par un microcontrôleur RP2040 qui se déclenche sur la ligne eMMC D0 et crée deux impulsions avec un délai et un décalage (programmables) pour le pilote de MOSFET. L'une de ces impulsions contrôle le MOSFET de glitch ; lorsque la grille de ce MOSFET est portée à l'état haut, l'alimentation en tension du cœur du SoC est court-circuitée à la masse. La deuxième impulsion générée par le RP2040 permet de contrôler deux MOSFET qui peuvent activer/désactiver deux bancs de condensateurs. Ces condensateurs sont nécessaires pour que le terminal UT démarre complètement, mais les bancs de condensateurs ne peuvent pas être activés pendant le glitch de tension, car cela empêcherait d'obtenir la faute souhaitée.

Les schémas et les fichiers Gerber pour fabriquer votre propre modchip sont fournis ici.

Aperçu du modchip

Prérequis

  • Démontez votre terminal UT. Arrêtez-vous ici si vous ne voulez pas annuler la garantie de votre UT ou si vous n'êtes pas prêt à risquer des dommages permanents.
    • plusieurs vidéos sur YouTube montrent le processus.
  • Lisez le contenu de la puce eMMC. Faites une sauvegarde !
    • La puce eMMC peut être lue en circuit en connectant les points de test CMD, CLK et D0. Brochage eMMC
    • L'eMMC nécessite des niveaux logiques de 1V8 !
    • Plusieurs outils existent pour lire les puces eMMC ; une bonne option bon marché (12 $) est l'adaptateur eMMC basse tension d'exploitee.rs.
  • Vous devrez extraire, patcher et réempaqueter les différents étages de démarrage pour désactiver la vérification de signature.
    • La disposition de l'eMMC est documentée dans la version GPL d'U-Boot dans le fichier spacex_catson_boot.h.
    • Plus d'informations sur l'extraction du firmware se trouvent dans notre article de blog.
    • Les premiers étages de démarrage sont tous basés sur le projet ARM Trusted Firmware-A.
      • Vous pouvez utiliser TF fiptool pour désassembler les Firmware Image Packages en leurs parties distinctes.
      • Le patch de ces étages de démarrage peut être effectué avec Ghidra après une analyse statique de base (utilisez le code open source TF-A pour orienter vos efforts).
      • Assurez-vous de désactiver la vérification de signature et de réactiver la sortie UART.
      • Mettez à jour le hash du firmware dans les certificats. Nous glitchons la vérification de signature, mais le hash doit toujours être valide.

Montage du modchip sur le PCB du terminal UT Starlink

  • Assurez-vous que le modchip que vous avez assemblé fonctionne avant d'essayer de le souder en place.

  • Retirez les condensateurs de découplage dans les carrés rouges ; ceux-ci servent normalement à stabiliser l'alimentation en tension du cœur du SoC. Condensateurs de découplage

  • Alignez le modchip assemblé sur le PCB de l'UT et soudez-le en place en utilisant les trous crénelés (castellated holes). Veillez à ne créer aucun court-circuit entre l'alimentation en tension du cœur et la masse.

    • Les trous crénelés les plus à droite ne sont pas à la bonne position. Vous pouvez redessiner le PCB ou simplement masquer les plages exposées sur le PCB de l'UT et connecter les trous crénelés à une plage de masse voisine (voir l'image).
  • Connectez le point de test marqué UT RST à la broche d'activation du régulateur de tension du cœur.

  • Connectez le point de test marqué 12V à une source 12V voisine sur le PCB de l'UT.

  • Connectez le plot de cavalier le plus à droite (sous le bouton) au point de test eMMC D0.

    • Nous avons dû faire cela à cause d'une mise à jour du firmware qui a désactivé la sortie UART.
  • Connectez le point de test marqué 1V8 à une source 1,8 V voisine sur le PCB de l'UT (il y a un condensateur de découplage à côté de l'eMMC qui est connecté au 1V8).

Vous devriez maintenant être prêt à commencer le glitching, bonne chance ! Le dossier Python contient un exemple qui montre comment commencer à utiliser le modchip pour l'expérimentation.

Modchip monté sur l'UT.

Problèmes connus et limitations

  • Le modchip a été conçu avant que SpaceX n'introduise une mise à jour du firmware qui a grillé un fusible pour désactiver toute sortie UART. Le modchip a été initialement conçu pour se déclencher sur la sortie UART, mais il peut être adapté pour se déclencher sur le signal eMMC D0. Dans une révision plus récente, il serait utile de pouvoir lire la sortie UART tout en se déclenchant sur les données eMMC D0. L'UART peut être réactivé dans BL2 et peut fournir un moyen simple de vérifier que le glitch a réussi.
  • Le modchip a été conçu pour le terminal utilisateur circulaire ; la même attaque devrait fonctionner sur le terminal utilisateur carré, mais nécessitera de créer une nouvelle conception de PCB.
  • Une section de trous crénelés est au mauvais emplacement. Soyez prudent si vous utilisez la conception telle quelle et suivez les instructions de montage en conséquence.
  • Débrancher le modchip du PC de contrôle après la réussite du glitch peut entraîner un redémarrage de l'antenne. Cela est probablement dû à l'absence d'une résistance de rappel à la masse sur la broche IN A du pilote de MOSFET MCP1405.
  • Le firmware fourni attend qu'un PC de contrôle externe orchestre les tentatives d'injection de faute. Il devrait être assez simple de transformer cela en modchip autonome en utilisant le second cœur Cortex-M0 du RP2040 (actuellement inutilisé).

FAQ

  • Nous ne vendons pas de modchips finis.
  • Nous ne fournissons pas de firmware (patché) pour terminal utilisateur Starlink.
  • Nous ne fournissons pas les paramètres de glitch exacts. Les diapositives de la présentation contiennent diverses indications et les paramètres varieront selon la façon dont vous patchez le firmware.
Télécharger l’outil
  • De même, vous devrez apporter quelques modifications à l'image U-Boot pour désactiver la vérification de signature.
    • Vous pouvez également augmenter le paramètre bootdelay.
  • L'arbre uImage aplati peut être désassemblé à l'aide de dumpimage, fourni dans le cadre du projet U-Boot.
    • Effectuez les modifications souhaitées et réempaquetez.
  • Réécrivez le firmware patché sur la puce eMMC.