Di ransomware, cioè di trojan che prendono in ostaggio i dati del PC infetto chiedendo un riscatto pecuniario per riaverli indietro, se ne parla oramai da svariati anni. Di trojan che infettano il MBR per bloccare l’avvio del sistema, tuttavia, se ne parla da meno, esattamente dalla fine del 2010, quando fu isolato il primo trojan capace di sovrascrivere il MBR con del proprio codice e di bloccare l’avvio del sistema operativo se non ottenendo la password di sblocco.

La prima variante di questo trojan, denominata MBRLock, salvava una copia del MBR originale in un altro settore del disco fisso e sovrascriveva il settore 0 con il proprio codice. Chiedeva poi una password di sblocco che si poteva ottenere pagando una specifica cifra online tramite una pagina web. Una mia analisi più dettagliata di questa prima variante è disponibile in inglese a questo indirizzo.

In questi giorni è stata isolata una nuova variante di questo trojan. Questa volta però non chiede più di effettuare un pagamento tramite pagine web, bensì di chiamare un numero telefonico per ottenere il codice di sblocco. Il trojan è criptato con un packer proprietario al fine di offuscare il codice originale del trojan, anche se decifrare il codice è un compito relativamente facile. I veicoli di infezione sono i soliti: siti di crack, warez e siti web contenenti exploit. Per poter essere eseguito richiede diritti di amministratore (in caso di Windows Vista/7, se l’UAC è abilitato, richiede l’accettazione del messaggio di avviso di Windows).

La particolarità di questo trojan è che non utilizza un singolo numero telefonico, ma contiene una lista di numeri telefonici a pagamento specifica per diverse nazioni. Il trojan analizza la lingua utilizzata dal sistema operativo che sta infettando utilizzando l’API di Windows GetUserDefaultUILanguage. Se il PC risulta essere localizzato in Italia, Austria, Belgio, Svizzera, il trojan contiene una lista di numeri a pagamento specifici per ognuna di queste nazioni. Se, altrimenti, si tratta di un altro stato, viene utilizzato un numero unico internazionale localizzato in Liechtenstein. Per quanto riguarda il numero italiano, si tratta di un numero 899, una numerazione a valore aggiunto.

Una volta che il trojan ha infettato il sistema operativo, attende due minuti ed effettua un riavvio forzato del sistema, così che l’utente si trova immediatamente davanti al seguente messaggio:

MBR ransomware

I numeri utilizzati sono i seguenti:

Italia
899 021 233

Svizzera
0906-000 172
0906-000 169
0906-000 173

Belgio
0907 480 52
0907 480 46

Austria
0930 823 833

Liechtenstein
+423 877 0158

Contrariamente a quanto scritto nel messaggio in inglese, i dati non sono stati in realtà criptati, né vi è un numero massimo di tentativi per sbloccare il computer. Anzi, la procedura di sblocco è molto più semplice del previsto poiché non vi è da parte del trojan un controllo preciso della password, bensì solamente della sua lunghezza. In altre parole, qualsiasi stringa di 14 caratteri andrà bene al fine di sbloccare il trojan, ad esempio “12345678901234“.

Una volta sbloccato, il trojan rimuoverà qualsiasi traccia di sé e permetterà l’avvio immediato del sistema così come era stato lasciato precedentemente all’infezione.

Grazie al pronto intervento del Centro Nazionale Anticrimine Informatico per la Protezione delle Infrastrutture Critiche e la collaborazione con la polizia internazionale, si sta procedendo alla chiusura di tali numeri telefonici.