Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Starlink-FI — Modchip a iniezione di guasti di tensione per la valutazione di sicurezza black-box dei terminali Starlink, aggirando la verifica della firma del bootloader per eseguire firmware arbitrario. | Kitploit
Strumenti/GitHubGitHub/kuleuven-cosic/starlink-fi
Sicurezza Sistemi EmbeddedExploitReverse EngineeringHacking HardwareSicurezza HardwareAnalisi di BinariAnalisi del Firmware
GitHubkuleuven-cosic/starlink-fi

Starlink-FI

Modchip a iniezione di guasti di tensione per la valutazione di sicurezza black-box dei terminali Starlink, aggirando la verifica della firma del bootloader per eseguire firmware arbitrario.

Vedi Repository
1.0k1363 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Modchip per il terminale utente Starlink

Questo repository accompagna la presentazione intitolata "Glitched on Earth by Humans: A Black-Box Security Evaluation of the SpaceX Starlink User Terminal". Le slide sono disponibili qui, una registrazione della presentazione dovrebbe essere presto disponibile.

La presentazione spiega come siamo riusciti a eseguire codice arbitrario sul terminale utente Starlink utilizzando un modchip personalizzato che esegue un'iniezione di guasto di tensione. Il modchip può essere utilizzato per bypassare la verifica della firma durante l'esecuzione del bootloader ROM System-on-Chip (SoC) (BL1). Questo consente di eseguire codice arbitrario sul SoC a partire da BL2 e permette di esplorare ulteriormente il terminale utente Starlink e l'aspetto di rete del sistema. Forniamo il design del modchip affinché altri ricercatori possano basarsi sul nostro lavoro.

🚨 UTILIZZO A PROPRIO RISCHIO 🚨

Anche se abbiamo testato e utilizzato il design del modchip fornito, è possibile causare danni permanenti a un terminale utente usando questo modchip. Allo stesso modo, lo smontaggio del terminale utente può causare danni permanenti e probabilmente annullerà la garanzia.

Panoramica del design del modchip

Il modchip è controllato da un microcontrollore RP2040 che si attiva sulla linea D0 dell'eMMC e crea due impulsi con ritardo e offset (programmabili) per il driver MOSFET. Uno di questi impulsi controlla il MOSFET del glitch: quando il gate di questo MOSFET viene portato a livello alto, l'alimentazione della tensione del core del SoC viene cortocircuitata a massa. Il secondo impulso generato dal RP2040 consente di controllare due MOSFET che possono abilitare/disabilitare due banchi di condensatori. Questi condensatori sono necessari affinché l'UT si avvii completamente, ma i banchi di condensatori non possono essere abilitati durante il glitch di tensione, poiché ciò impedirebbe di ottenere il guasto desiderato.

Lo schema elettrico e i file gerber per produrre il proprio modchip sono forniti qui.

Panoramica del modchip

Prerequisiti

  • Smonta il tuo UT. Fermati qui se non vuoi annullare la garanzia dell'UT o se non sei disposto a rischiare danni permanenti.
    • diversi video su YouTube mostrano il processo.
  • Leggi il contenuto del chip eMMC. Fai un backup!
    • Il chip eMMC può essere letto in-circuit collegandosi ai punti di test CMD, CLK e D0. Pinout eMMC
    • L'eMMC richiede livelli logici a 1V8!
    • Esistono diversi strumenti per leggere i chip eMMC; una buona opzione ed economica ($12) è l'adattatore eMMC a bassa tensione di exploitee.rs.
  • Dovrai estrarre, patchare e ricompattare i diversi stadi di boot per disabilitare la verifica della firma.
    • Il layout dell'eMMC è documentato nella release GPL di U-Boot nel file spacex_catson_boot.h.
    • Maggiori informazioni sull'estrazione del firmware sono disponibili nel nostro post sul blog.
    • I primi stadi di boot sono tutti basati sul progetto ARM Trusted Firmware-A.
      • Puoi usare TF fiptool per decomprimere i Firmware Image Package nelle parti distinte.
      • Il patching di questi stadi di boot può essere fatto usando Ghidra dopo un po' di analisi statica di base (usa il codice open source di TF-A per guidare i tuoi sforzi).
      • Assicurati di disabilitare la verifica della firma e di riabilitare l'output UART.
      • Aggiorna l'hash del firmware nei certificati. Effettuiamo il glitch della verifica della firma, ma l'hash deve comunque essere valido.
    • Analogamente, dovrai apportare alcune modifiche all'immagine U-Boot per disabilitare la verifica della firma.

Montaggio del modchip sul PCB dell'UT Starlink

  • Assicurati che il modchip assemblato funzioni prima di provare a saldarlo in posizione.

  • Rimuovi i condensatori di disaccoppiamento all'interno dei quadrati rossi; questi sono normalmente usati per stabilizzare l'alimentazione della tensione del core del SoC. Condensatori di disaccoppiamento

  • Allinea il modchip assemblato sul PCB dell'UT e saldalo in posizione utilizzando i fori castellati. Assicurati di non creare cortocircuiti tra l'alimentazione del core e la massa.

    • I fori castellati all'estrema destra non sono nella posizione corretta. Puoi ridisegnare il PCB o semplicemente mascherare i pad esposti sul PCB dell'UT e collegare i fori castellati a un pad di massa vicino (vedi immagine).
  • Collega il punto di test marcato UT RST al pin di enable del regolatore di tensione del core.

  • Collega il punto di test marcato 12V a una sorgente 12V vicina sul PCB dell'UT.

  • Collega il pad del jumper all'estrema destra (sotto il pulsante) al punto di test D0 dell'eMMC.

    • Abbiamo dovuto farlo a causa di un aggiornamento del firmware che ha disabilitato l'output UART.
  • Collega il punto di test marcato 1V8 a una sorgente 1.8V vicina sul PCB dell'UT (c'è un condensatore di disaccoppiamento accanto all'eMMC collegato a 1V8).

Ora dovresti essere a posto per iniziare a fare glitch, buona fortuna! La cartella Python contiene un esempio che dimostra come puoi iniziare a usare il modchip per la sperimentazione.

Modchip montato sull'UT.

Problemi noti e limitazioni

  • Il modchip è stato progettato prima che SpaceX introducesse un aggiornamento del firmware che ha bruciato un fusibile per disabilitare tutto l'output UART. Il modchip era stato inizialmente progettato per attivarsi sull'output UART, ma può essere adattato per attivarsi sul segnale D0 dell'eMMC. In una revisione più recente sarebbe utile avere la capacità di leggere l'output UART e di attivarsi sui dati D0 dell'eMMC. L'UART può essere riabilitato in BL2 e può fornire un modo semplice per verificare che il glitch sia riuscito.
  • Il modchip è stato progettato per il terminale utente circolare; lo stesso attacco dovrebbe funzionare sul terminale utente quadrato, ma richiederà di creare un nuovo design del PCB.
  • Una sezione dei fori castellati è nella posizione sbagliata. Presta attenzione quando usi il design così com'è e segui di conseguenza le istruzioni di montaggio.
  • Scollegare il modchip dal PC di controllo dopo che il glitch è riuscito può causare il riavvio della parabola. Ciò è probabilmente dovuto a un resistore di pull-down mancante sul pin IN A del driver MOSFET MCP1405.
  • Il firmware fornito richiede un PC di controllo esterno per orchestrare i tentativi di iniezione del guasto. Dovrebbe essere piuttosto semplice trasformarlo in un modchip autonomo usando il secondo core Cortex-M0 del RP2040 (attualmente inutilizzato).

FAQ

  • Non vendiamo modchip già pronti
  • Non forniamo firmware (patchato) del terminale utente Starlink
  • Non forniamo i parametri esatti del glitch. Le slide della presentazione contengono vari suggerimenti e i parametri varieranno a seconda di come patchate il firmware.
Scarica lo strumento
  • Puoi anche aumentare il parametro bootdelay.
  • Il Flattened uImage Tree può essere decompresso usando dumpimage, fornito come parte del progetto U-Boot.
    • Apporta le modifiche che desideri e ricompatta.
  • Scrivi il firmware patchato sul chip eMMC.