Jumping Jack Flash weblog

Hacking Icaro – Centralina GSM: Man in the Middle Attack

Posted in Diario elettrico GreenGo Icaro, GPS, hacking, hardware by jumpjack on 10 luglio 2019

Vedi nuovo articolo: Hacking Icaro – Centralina GSM: Man in the Middle Attack – puntata 3

Un attacco “Man in the middle” è quello che prevede che un hacker si inserisca nel canale di trasmissione tra due dispositivi per intercettare i dati, senza interromperli ma modificandoli, in modo che a entrambi gli interlocutori originali la trasmissione sembri ancora genuina, mentre in realtà qualcosa è cambiato.

E’ quello che ho deciso di fare come nuovo tentativo di “entrare nella testa” della mia Icaro. 🙂

Nella centralina GSM/GPS è infatti presente, come già detto in precedenza, un modulo GSM G600; questo modulo è saldato su un PCB che chiameremo “A”; il PCB è connesso tramite un connettore bianco a un secondo PCB che chiameremo “B”; il PCB “B” è infine connesso alla scheda madre tramite un connettore nero; ed è qui che cercherò di insinuarmi. Se infatti il connettore bianco ha pin talmente microscopici e vicini da non poter essere maneggiati con strumenti manuali, il connettore nero ha invece pin più grossi e distanziati (passo di 2mm); si tratta di un connettore a 44 pin, due dei quali sono sicuramente i TX e RX del modulo GSM, il quale ho già verificato  che comunica con l’MCU tramite semplici comandi AT testuali: è così infatti che sono riuscito a leggere quale IP la centralina cerca di contattare, che purtroppo corrisponde al sito abbandonato etheria.it; quindi, anche se la centralina funziona e tenta di inviare dati, non ricevendo risposta probabilmente non passa mai dalla modalità “handshaking” al vero e prorio invio dati. Però in compenso i server eteria.biz (senza H e con dominio .biz) pare funzionino ancora (così mi hanno detto…).

Il mio tentativo sarà quindi di interrompere fisicamente le due connessioni TX e RX, dirottarle a una mia scheda ESP32, e sostituire ogni chiamata del modem al server sbagliato con una chiamata al server giusto… e vedere cosa succede.

Per farlo, mi serviranno due connettori aggiuntivi: un maschio e una femmina che facciano da interruzione tra GSM e MCU, e al tempo stesso da “dirottatore” verso l’ESP32.

Sfortunatamente questi connettori non hanno il classico passo da 1/10 di pollice (2.54mm), ma da 2.00 mm  1.27mm, quindi non ho niente in “magazzino” che vada bene, dovrò comprare dei connettori specifici.

Dopo una settimana di ricerche sui siti più disparati (www.distrelec.it, www.farnell.it, www.mouser.it, www.tme.eu, https://it.rs-online.com), mi sono fatto una discreta cultura sui possibili modi di realizzare una connessione a 44 fili tra i due PCB; ho individuato varie possibilità:

  1. Cavo preassemblato
  2. Cavo autocostruito
  3. Connettori saldati su piastra millefori, connessi tramite fili singoli
  4. Ponticelli dupont

Ognuno ha i suoi pro e i suoi contro:

  1. il cavo preassemblato sarebbe ovviamente la scelta migliore, ma fra costi netti, tasse e spedizioni, un cavo a 40 poli finisce per costare fra i 40 e i 50 euro!
  2. il cavo autocostruito, comprando una piattina e due connettori IDC, finirebbe per costare solo 5-10 euro in meno di un cavo preassemblato.
  3. inizialmente avevo pensato di costruirmi un  “cavo” saldando due connettori maschio e femmina a due pezzi di piastra millefori, e poi collegarli tra loro tramite fili volanti, ma sarebbe un lavoro troppo approssimativo e disordinato

 

Ecco uno schema di massima di come dovrebbe avvenire il collegamento “clandestino” tra modulo GSM e motherboard: IMMAGINE ERRATA! Vedere nuovo articolo

cavo intercettazione centralina GSM/GPS icaro

Cavo intercettazione centralina GSM/GPS icaro

Il cavo ideale sarebbe il TCSD-22-T-03.00-01,o l’omologo  TCMD-22-T-03.00-01 FFSD-25-D-03.00-01-N-R, ma è possibile arrangiarsi con varie altre possibilità, come descritto in figura; l’importante è che il codice finisca con -R o con -O, che significa che il connettore finale  è capovolto (-R se sono 2 connettori, -O se sono 3 in daisy-chain, nel qual caso prima della “O” ci sarebbe anche una “Dxx”, con xx distanza tra connettore 2 e connettore 3); in caso contrario, quando si va a piegare a “U” il cavo, vanno a invertirsi le due file di pin! Il cavo deve invece restare disteso, quindi i due connettori alle due estremità devono avere versi opposti:

TCMD3

Il sito https://www.toby.co.uk forse non è “fintamente inglese” comei vari mouser, farnell ecc. che in realtà spediscono dalla Cina o dall’America, quindi è possibile che ordinando qui il materiale arrivi nel giro di una settimana invece che di 3-4 mesi.

Anche il sito https://www.enrgtech.co.uk/ sembra inglese autentico.

Ecco alcuni possibili codici di cavi validi:

  • TCSD-22-01
  • TCSD-22-01-F
  • TCSD-22-01-L-N
  • TCSD-22-01-N-P01

Nota:  essendo lo strip-pin sulla motherboard non protetto da un case, qualunque connettore femmina con più di 22 pin si può adattare, quindi per esempio anche TCSD-25-01 e successivi. Il limite ovviamente è la larghezza massima disponibile all’interno dello scatolotto della centralina. Foto del connettore maschio sulla motherboard:

connettore GSM nero con righello e pin

 

Sul sito Samtec c’è anche un configuratore 3d che permette di vedere in tempo reale come cambia il cavo al cambiare delle opzioni del suo part number, sia per la famiglia FFSD che FFMD:

Samtec TCSD IDC 3d configurator

Samtec TCSD IDC 3d configurator

 

Qui di seguito riporto invece gli esiti delle mie ricerche precedenti alla decisione finale di comprare ponticell dupont.

Cavi preassemblati

Ho trovato due soli produttori per cavi piatti con connettori con passo (“pitch”) da 2.0mm e a 44 pin: Samtec e 3M; questi sono due esempi di datasheet dei loro prodotti:

La Samtec usa questa nomenclatura

xxxD-22-T-LL.LL-01-N-R

  • xxx: famiglia del cavo (v. sotto) – FFMD = maschio, FFSD = femmina
  • D: doppia fila di pin
  • 22: numero di pin per fila
  • T:  connettore di sesso opposto  all’altra estremità del cavo (invece di fili liberi); S = fili liberi, D = connettore identico all’altro
  • LL.LL: lunghezza in pollici del cavo
  • 01: numero fisso
  • N: presente solo se è presente prima la “T”, e significa “notch polarization”)
  • R: verso invertito del connettore; O = verso invertito del connettore finale se i connettori sono 3 (daisy-chain)

 

Famiglia del cavo

  • TCSD 2.00 mm  – Tigereye Cable Socket Double – IDC Ribbon Cable Assembly, Socket
  • TCMD 2.00 mm – Tigereye Cable Male Double – IDC Ribbon Cable Assembly,
  • FFSD: passo 1.27 mm, femmina
  • FFMD: passo 1.27 mm, maschio
  • Terminal
  • EHT 2.00 mm Shrouded IDC Ejector Header
  • STMM 2.00 mm Shrouded Terminal Strip, Cable Mate
  • ZSTMM 2.00 mm Shrouded Variable Stack Height Terminal Strip, Cable Mate
  • ETMM 2.00 mm Shrouded Terminal Strip For Strain Relief for TCSD

(ho cancellato le famiglie non adatte al mio caso)

Qui la pagina Samtec per la ricerca visuale.

Alcune note:

  • il “passo” in inglese si chiama “pitch”
  • IDC significa “Insulation-Displacement Connector” (“connettore a spestamento di guaina”): significa che i fili non sono connessi ai pin tramite saldatura, ma grazie a delle affilate “microforcelle” presenti sul loro retro; l’apertura della forcella è poco più larga del diametro del conduttore di rame interno al filo, quindi quando si inserisce il filo nella forcella, questa taglia e sposta la guaina, andando a toccare il conduttore e garantendo un contatto elettrico stabile e addirittura a tenuta d’aria:

IDC connection, Torq-Tite patent

IDC connection, Torq-Tite patent

  • Nel datasheet c’è un’immagine un po’ fuorviante, che potrebbe far credere che in certi connettori i pin sono sfalsati; in realtà l’immagine di sinistra nella figura qui sotto mostra il connettore visto dal lato opposto dei pin, che invece sono disposti a griglia come mostrato a destra, in altra immagine tratta dallo stesso datahseet:

Connettore femmina da PCB

—-

Connettore maschio da PCB


 

Tutte le foto del modulo GSM:

connettore GSM nero con righello e pin

Connettore lato SIM con pinout marziale

connettore GSM nero con righello

2 Risposte

Subscribe to comments with RSS.

  1. […] Una settimana di studi e teorie non sono valsi l’avere i pezzi tra le mani… […]

  2. selidori said, on 14 luglio 2019 at 16:59

    come sempre interessantissime ed avvincenti queste spiegazioni e riflessioni in tempo reale di hacking.
    grazie per aver condiviso!


Puoi inserire un commento qui sotto; diventerà visibile dopo la moderazione dell'amministratore

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: