Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.0k136223 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.
      • 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.

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.

Scarica lo strumento