Ti hanno criptato i file?Non spegnere il computer: stacca solo la rete.Cosa fare nelle prime ore045 511 8550

PEC 2017: come abbiamo fermato il primo ransomware italiano

virus_file_pec

PEC 2017: come abbiamo fermato il primo ransomware italiano

Pubblicato l’8 maggio 2017, riscritto integralmente il 22 agosto 2026. I commenti in fondo sono quelli raccolti all’epoca.

Nella primavera del 2017, mentre il mondo intero guardava WannaCry, in Italia girava per tredici giorni un ransomware molto più piccolo e molto più insidioso: scritto da italiani, in italiano impeccabile, travestito da comunicazione dell’Agenzia delle Entrate e spedito a circa cinquantamila caselle, moltissime di Comuni. Mi ci sono imbattuto per le segnalazioni di alcuni utenti e l’ho affrontato insieme a Claudio Marchesini. La campagna si è fermata mentre eravamo dentro al server degli attaccanti.

Questo caso non l’ho affrontato da solo: l’ho seguito passo per passo con Claudio Marchesini, che l’anno dopo sarebbe diventato il mio socio in Dottor Marc e con cui nel 2022 ho scritto Il Tuo Amico Hacker. Dove più avanti trovate «abbiamo», è perché eravamo in due davanti allo stesso schermo.

Di questa storia, nel 2017, abbiamo raccontato pubblicamente solo una parte. A nove anni di distanza posso mettere in fila tutto: come funzionava, come ci sono arrivato, perché è finita e che cosa dovrebbe ancora insegnarci. È il caso su cui torno più spesso quando spiego che cos’è davvero un attacco mirato.

Maggio 2017: tutti guardavano dall’altra parte

Il 12 maggio 2017 WannaCry si propaga da solo in centocinquanta paesi e ferma ospedali, fabbriche e ferrovie. È una notizia enorme, e giustamente occupa tutto lo spazio disponibile. L’ho raccontata anche io.

Nelle stesse settimane, in Italia, stava succedendo qualcosa di completamente diverso. Nessun worm, nessuna propagazione automatica, nessun titolo internazionale: solo email, mandate a mano a bersagli scelti, scritte così bene che nessuno le cestinava.

WannaCry ha colpito trecentomila macchine nel mondo con un pugno di righe di codice e zero fantasia. Questa campagna ne ha colpite molte meno, ma di ogni singola vittima sapeva chi era, che lavoro faceva e quale bugia le avrebbe fatto aprire l’allegato.

Delle due, quella che mi ha tolto il sonno è la seconda.

Perché la PEC era il canale perfetto

Chi diffonde ransomware ha un problema solo: convincerti ad aprire l’allegato. Tutto il resto — la cifratura, la richiesta, l’incasso — è tecnica risolta da anni, comprabile a poco prezzo, spesso addirittura affittabile da altri. Il collo di bottiglia sei tu che decidi se fidarti.

La posta elettronica certificata risolve quel problema meglio di qualunque altro travestimento, perché in Italia la PEC ha valore legale. Non è un dettaglio tecnico, è un dettaglio culturale: se arriva una PEC, arriva qualcosa di ufficiale. Un professionista o un impiegato comunale che riceve una comunicazione dall’Agenzia delle Entrate non si chiede se sia autentica. Si chiede che problema abbia, e la apre subito — perché ignorarla sarebbe il vero rischio.

È esattamente la leva su cui era costruito questo attacco, ed è la ragione per cui lo trovo ancora oggi il più interessante fra quelli che mi sono passati per le mani. Non sfruttava l’ingenuità delle vittime: sfruttava il loro rispetto delle regole. Chi ha aperto quegli allegati non è stato disattento. È stato diligente.

Le esche: cinque testi, un bersaglio per ciascuno

Le email arrivavano dal dominio agenzia-entrate.com — non dal .gov.it reale — con indirizzi del tipo nevia.ferrara@agenzia-entrate.com, e si presentavano come «Agente della Risossione Equitalia S.p.A.».

Risossione, con due esse. E in un’altra ondata, «Trasmissione Denuncia Dissesto Sradale». Sono gli unici due refusi in messaggi per il resto scritti in italiano perfetto, ed è il dettaglio che uso ancora quando spiego come si riconosce una comunicazione falsa: quasi mai è il testo intero a essere sbagliato. È un particolare, ed è quasi sempre nel punto in cui chi scriveva stava pensando ad altro — l’oggetto, il nome del mittente, il nome dell’allegato.

La campagna girava con cinque testi diversi, ognuno costruito su una categoria precisa di destinatari:

Vale la pena leggere per intero la lettera indirizzata ai Comuni, perché spiega da sola perché ha funzionato:

Con la presente desidero inoltrare denuncia per grave danneggiamento del manto stradale. Tale danneggiamento mette in grave pericolo soprattutto la circolazione di chi utilizza le due ruote […]. Le pessime condizioni della strada hanno provocato un grave incidente in cui sono stata coinvolta personalmente con il mio scooter.

Cittadino arrabbiato, buca nell’asfalto, allegato con la documentazione. È esattamente la posta che un ufficio protocollo riceve ogni settimana dell’anno. Uno studio professionale apre i curriculum, un Comune apre le denunce: chi ha costruito questa campagna sapeva benissimo a chi stava scrivendo, e in che ordine.

Il Centro Ricerche Anti-Malware di TG Soft, che le intercetta e le documenta il 3 maggio dando alla famiglia il nome di CryptoPEC, arriva alla stessa conclusione: nelle mail non ci sono errori grossolani né traduzioni automatiche, e persino i nomi degli allegati sono coerenti con il testo. L’unico indizio è il mittente — perché è davvero improbabile che un funzionario dell’Agenzia delle Entrate mandi una candidatura personale dalla casella dell’ufficio.

Paolo Dal Checco, che di ransomware si occupa da sempre, ne ha ricevuta una anche lui e ha notato la stessa cosa da un’altra angolazione: quelle email superavano i filtri antispam grazie all’italiano curato e alla scelta accorta dei server di invio. Tecnicamente non c’era nulla da segnalare come anomalo.

Anatomia dell’allegato

Questo è il documento, aperto su una macchina di prova.

Il documento armato di CryptoPEC aperto in Word: un curriculum Europass e la finestra di richiesta di aggiornamento dei collegamenti
Il finto curriculum aperto in Word. In alto il nome del file, al centro la finestra che chiede di aggiornare i collegamenti: è quel «Yes» a far partire tutto.

Ci sono almeno quattro cose da guardare, e nessuna è quella che ci si aspetta.

Il nome del file. In alto si legge something.rtf, in Compatibility Mode. Non è un documento Word: è un RTF che si comporta da documento Word. È il formato tipico di questo tipo di attacco, perché permette di infilare dentro al file un oggetto collegato a una risorsa esterna.

Il contenuto. Un curriculum Europass, con tanto di logo ufficiale e fotografia. La biografia è dettagliata: maturità classica nel 1994, laurea in lingue all’Orientale di Napoli, corso da direttore tecnico di agenzia viaggi, attestato da webmaster, corso da wedding planner, diploma di recitazione al Teatro Totò. È credibile a colpo d’occhio e non regge alla seconda lettura — quella non è la carriera di un’analista contabile. Ma la seconda lettura arriva dopo aver aperto il file, e a quel punto è tardi.

La fotografia. È il volto di una persona reale, quasi certamente presa da qualche altra parte senza che ne sapesse niente. Non la ritaglio e non la metto in evidenza, ma non la nascondo: fa parte del racconto. In una campagna del genere le vittime non sono solo quelle che perdono i file.

E la finestra al centro. «This document contains links that may refer to other files. Do you want to update this document with the data from the linked files?» Sembra una richiesta amministrativa, noiosa, di quelle che si chiudono con «Yes» per andare avanti. Ed è lì che si apre la porta.

Attenzione, perché è il punto che quasi tutti sbagliano a raccontare: quella non è la barra gialla delle macro. Non c’è nessun «Abilita contenuto» da premere. Tutta la formazione aziendale costruita negli anni sulla frase «non abilitare mai le macro» — corsi, poster, email interne — su questo attacco non serviva a niente. La domanda era un’altra, sembrava innocua, e la risposta giusta non l’aveva insegnata nessuno.

Dietro c’era CVE-2017-0199, una vulnerabilità di Office e WordPad che permetteva l’esecuzione di codice arbitrario tramite un documento costruito ad arte. Interessava Office 2007 SP3, 2010 SP2, 2013 SP1 e 2016, oltre a Windows Vista SP2, Server 2008 SP2, Windows 7 SP1 e Windows 8.1: in pratica, il parco macchine di qualunque ufficio italiano dell’epoca. Confermando il «sì», Word andava a prendere il vero payload dalla rete, lo scaricava nella cartella temporanea dell’utente e lo eseguiva.

Da lì partiva la cifratura. I file venivano rinominati aggiungendo l’estensione .pec in coda a quella originale — preventivo.pdf diventava preventivo.pdf.pec — su tutti i dischi raggiungibili, quindi anche sulle cartelle di rete e sui dischi esterni collegati.

Un ultimo dato, che è quello che fa più male: Microsoft aveva corretto quella vulnerabilità l’11 aprile 2017. La campagna è partita a fine aprile. Due settimane e mezzo dopo la patch.

Anatomia della richiesta di riscatto

A cifratura conclusa, in ogni cartella toccata compariva un file HTML chiamato AIUTO_COME_DECIFRARE_FILE.html. Questo:

La richiesta di riscatto di PEC 2017: istruzioni in italiano per acquistare il software PEC CLEANER
La richiesta di riscatto. La chiave di sblocco della vittima è oscurata.

Guardatela come guardereste la pagina di un prodotto, perché è quello che è.

C’è un marchio: «PEC 2017», in verde, con una gerarchia di titoli ordinata. C’è un argomento tecnico di vendita: «I tuoi file sono stati cifrati dal sistema PEC 2017 con crittografia AES 256». C’è la chiusura di ogni alternativa: «PEC non è decifrabile da nessun software e da nessun antivirus». C’è un prodotto con un nome, PEC CLEANER — altrove chiamato anche PEC DECRYPTOR — e una procedura d’acquisto ordinata, con un indirizzo di contatto su ProtonMail.

E soprattutto, sotto la voce «Avvertenze», c’è questo:

Non utilizzare alcun software antivirus o di decrypt, in quanto non solo non efficaci, ma potrebbero compromettere per sempre il recupero dei dati.

Tradotto: non chiedete aiuto a nessuno. È travestito da consiglio tecnico premuroso, ed è la parte più cattiva di tutta la pagina — perché arriva nel momento esatto in cui la vittima sta decidendo se chiamare qualcuno o pagare in silenzio. Ne ho parlato più diffusamente quando ho spiegato perché pagare il riscatto è quasi sempre la scelta sbagliata: l’isolamento della vittima è parte del modello di business, non un effetto collaterale.

Le condizioni economiche erano queste:

I termini del riscatto di CryptoPEC
Importo 1 bitcoin, allora circa 1.600 euro
Entro 120 ore dalla cifratura
Oltre il termine l’importo raddoppia
Dopo 30 giorni nessuna transazione più possibile
Consegna software disponibile «entro 24 ore dal pagamento»

Condizioni documentate dal C.R.A.M. by TG Soft il 3 maggio 2017.

Milleseicento euro erano parecchio sopra la media dell’epoca: le campagne internazionali chiedevano spesso un quinto di quella cifra. Qui il conto era tarato su chi riceveva la mail — uno studio, un’azienda, un ente — non sul privato.

Ma la riga che mi interessa davvero è l’ultima. «Entro 24 ore dal pagamento». Le operazioni industriali di quegli anni consegnavano la chiave in automatico, in pochi minuti, perché la transazione sulla blockchain era verificabile da un programma senza che nessuno alzasse un dito. Ventiquattro ore significa che qualcuno doveva accorgersene, controllare e rispondere a mano.

Non era un’industria. Erano poche persone, con un progetto ben confezionato e un pannello dietro.

Come ci siamo arrivati

Abbiamo cominciato dall’unica porta che chi estorce deve per forza lasciare aperta: l’indirizzo di contatto nella richiesta di riscatto. Un attaccante può nascondere tutto, ma non può nascondersi da chi vuole pagarlo. Se lo facesse, non incasserebbe.

Abbiamo scritto. Ci hanno risposto, e nella risposta c’era l’indirizzo di un sito raggiungibile solo con Tor.

Lì dentro c’era un pannello web — ancora una volta in italiano corretto, ancora una volta ordinato — che offriva alla vittima la decifratura di prova di un file: carichi un documento cifrato, te lo restituiscono in chiaro, ti convinci che la chiave esiste davvero e paghi. È lo stesso meccanismo di rassicurazione che usano quasi tutte le famiglie, ed è indispensabile: senza, quasi nessuno pagherebbe.

Ed è esattamente lì che si sono fatti male. Quel pannello, per funzionare, doveva accettare file da perfetti sconosciuti. E li accettava senza controllarli davvero.

Abbiamo caricato un file. Da quel caricamento siamo arrivati al controllo del server.

Con quel controllo abbiamo fatto tre cose: abbiamo interrotto l’invio dello spam, cioè la campagna stessa; abbiamo ottenuto il programma di decifratura; e abbiamo trovato i dati che stavano dietro all’operazione — la struttura della campagna, l’elenco dei bersagli (quasi cinquantamila indirizzi, quasi tutti italiani, moltissimi Comuni), i portafogli bitcoin e alcune tracce su chi ci fosse dietro. Su uno di quei portafogli c’era una sola transazione.

Qui ci fermiamo, e non è modestia. Dico la categoria di errore — un caricamento di file non filtrato su un servizio esposto — perché è utile a chiunque gestisca un sito che riceve file dagli utenti, ed è ancora oggi uno dei difetti più comuni che troviamo nei collaudi. Non dico come è stato fatto, cosa conteneva quel file né in che ordine sono andate le cose. Quello che serve a difendersi si racconta; quello che serve solo a rifare la stessa cosa, no. È la stessa regola che applico quando trovo una vulnerabilità nel software di qualcun altro: la segnalo a chi lo sviluppa, e diventa pubblica soltanto dopo la correzione.

Il 10 maggio

Il 10 maggio 2017, dopo tredici giorni di attività, CryptoPEC ha chiuso. Il link che portava alle istruzioni per il pagamento è stato sostituito da una pagina con due sole cose: la scritta «Pec Project Closed» e un collegamento per scaricare gratuitamente lo strumento di decifratura.

A TG Soft, che lo documentò due giorni dopo, quella chiusura sembrò incomprensibile: perché mai una banda che ha appena costruito una campagna così curata dovrebbe smettere e regalare il decryptor?

Quando me lo chiese La Stampa, risposi: «Forse hanno capito che qualcosa nel loro sistema non era così sicuro e hanno avuto paura». Era una risposta vera, ma prudente. In quel momento c’erano ancora valutazioni in corso e non era il caso di dire altro.

La spiegazione, oggi, posso darla per intera: la campagna non si è fermata da sola. Si è fermata perché il server non era più soltanto loro, lo spam non partiva più e il programma di decifratura era già in mano nostra e già in uso. Chiudere e pubblicare il decryptor non è stato un gesto di redenzione: è stato l’unico modo che avevano per uscirne prima che la situazione peggiorasse.

Tredici giorni, in ordine

La cronologia della campagna
11 aprile 2017 Microsoft pubblica la correzione per CVE-2017-0199
fine aprile partono le prime email; la vulnerabilità è già corretta da due settimane e mezzo
3 maggio il C.R.A.M. di TG Soft documenta le esche e battezza la famiglia CryptoPEC
9 maggio il servizio di recupero gratuito è già operativo: sul blog rispondo a una vittima chiedendole di caricare la richiesta di riscatto
10 maggio «Pec Project Closed»: la campagna si interrompe
12 maggio TG Soft analizza il pecdecrypt.exe rilasciato dagli autori. Nel mondo, lo stesso giorno, esplode WannaCry
18 maggio La Stampa pubblica l’inchiesta sulla prima campagna di estorsioni digitali made in Italy
nei mesi seguenti il servizio de Le Iene, e dopo la messa in onda la collaborazione con le autorità

Quel 9 maggio, per me, resta la data più significativa di tutte. È il giorno prima della chiusura: la campagna era ancora viva, le vittime stavano ancora arrivando, e il recupero gratuito funzionava già.

L’errore di progettazione che ha reso tutto possibile

Quando TG Soft ha analizzato il pecdecrypt.exe pubblicato dagli autori, ha trovato una cosa che vale più di qualunque altra considerazione tecnica su questa famiglia: il programma partiva premendo START, senza chiedere alcun codice di sblocco. Nessun «Decrypt Code», nessun identificativo della vittima. Cercava su tutti i dischi i file con struttura <nome>.<estensione>.PEC e li riportava in chiaro.

Il che significa una cosa sola: c’era una chiave sola per tutte le vittime.

È l’errore che separa i dilettanti dai professionisti del settore, ed è il motivo per cui esistono decryptor gratuiti per alcune famiglie e non per altre. Le operazioni serie generano una chiave diversa per ogni infezione e tengono le chiavi private su un server sotto il loro controllo: se cade una vittima, non cadono le altre, e chi recupera un caso non recupera niente per gli altri. Qui invece bastava mettere le mani su un’unica chiave per liberare chiunque.

Il loro strumento aveva anche un limite pratico, che vale la pena di ricordare a chi si trova nella stessa situazione oggi: cercava soltanto i file che avevano ancora l’estensione .PEC in coda. Chi nel panico aveva rinominato i propri file non veniva più riconosciuto. È un consiglio che do sempre e che nasce da qui: dopo un attacco non toccate niente, non rinominate, non «riordinate». Ogni modifica che fate è informazione che togliete a chi dovrà provare a recuperare.

Dati tecnici dello strumento rilasciato dagli autori

Nome file: pecdecrypt.exe — dimensione: 73.728 byte — MD5: 12FD58BE32487B1745E0734CE01F519F. Esecuzione tramite pulsante START, nessun codice richiesto, scansione di tutte le unità locali alla ricerca di file <nome>.<estensione>.PEC, decifratura in sovrascrittura senza copia di sicurezza.

Fonte: C.R.A.M. by TG Soft, 12 maggio 2017.

Un’ultima raccomandazione che TG Soft diede allora e che sottoscrivo ancora: prima di lanciare un qualsiasi strumento di decifratura, mettete al sicuro una copia compressa dei file cifrati. Quasi tutti questi programmi lavorano in sovrascrittura. Se qualcosa va storto a metà, senza una copia non si torna indietro.

Il decryptor, gratis

A quel punto avevamo un metodo funzionante per recuperare i file .pec. La scelta su cosa farne, sinceramente, non è stata una scelta.

C’erano aziende e uffici pubblici italiani con i dati bloccati e davanti la prospettiva di versare milleseicento euro a dei criminali, seguendo istruzioni che dicevano loro di non farsi aiutare da nessuno. Vendere il recupero sarebbe stato legittimo, e sarebbe stato anche molto redditizio: eravamo gli unici ad averlo.

Abbiamo pubblicato il recupero gratuitamente, con una pagina dove chiunque poteva caricare un file cifrato e riaverlo indietro in pochi minuti. Né ai criminali, né a noi.

Quella pagina, per la cronaca, è ancora online dopo nove anni. Non serve più a nessuno, ma non ho nessuna intenzione di spegnerla.

L’eco, e il seguito

La vicenda ha avuto una risonanza che non ci aspettavamo. La Stampa l’ha ricostruita il 18 maggio in un’inchiesta sulla prima campagna di estorsioni digitali tutta made in Italy. Poi ci hanno contattati Matteo Viviani e la redazione de Le Iene, che hanno realizzato un servizio andato in onda in prima serata su Italia 1: ci siamo io e Claudio, insieme ad altri periti forensi e alle testimonianze di alcune vittime. Si può ancora vedere qui.

Dopo la messa in onda è cominciata la parte di cui non parlo: la collaborazione con le autorità per il proseguimento della vicenda. Il racconto pubblico si ferma qui, e va bene così.

Che cosa ci ha insegnato

Il canale conta più del contenuto. La stessa identica email, arrivata da un indirizzo qualunque, sarebbe finita nel cestino. Arrivata dentro un canale che per legge fa fede, è stata aperta. Quando valuto il rischio di un’organizzazione la domanda non è soltanto «riconoscono un messaggio falso?», ma «quali canali considerano affidabili per definizione, e cosa succede il giorno in cui qualcuno li imita?». Vale per la PEC, vale per la chat interna aziendale, vale per le notifiche del gestionale.

La formazione va aggiornata sull’attacco vero, non su quello dell’anno prima. Nel 2017 tutti insegnavano a non abilitare le macro, e questa campagna passava da una finestra che con le macro non c’entrava niente. Chi aveva imparato la regola a memoria era indifeso esattamente come chi non ne sapeva nulla, con in più la convinzione di essere al sicuro.

Gli attacchi localizzati funzionano molto meglio, e ormai costano niente. Per anni la nostra difesa migliore è stata l’italiano tradotto male: le campagne internazionali si riconoscevano dalla lingua. CryptoPEC ha chiuso quella stagione con anni di anticipo, ma per farlo serviva ancora qualcuno che scrivesse bene in italiano e conoscesse la burocrazia comunale. Oggi, con la generazione automatica dei testi, quel requisito non esiste più. Chi forma ancora il personale a «riconoscere l’italiano sbagliato» sta insegnando una difesa che non funziona.

Una vulnerabilità corretta resta pericolosa per anni. CVE-2017-0199 era stata chiusa da Microsoft prima che la campagna partisse. Ha funzionato lo stesso, perché tra il rilascio di una correzione e la sua effettiva installazione passa quasi sempre molto più tempo di quanto ne serva a un attaccante. È la stessa, identica ragione per cui in quelle settimane WannaCry fermava gli ospedali inglesi.

E la lezione che porto con me da nove anni. Anche chi attacca deve esporre qualcosa: una casella per farsi contattare, un pannello per convincere, un portale per incassare. Quel qualcosa è un servizio come tutti gli altri, scritto in fretta, ed è pieno degli stessi difetti banali che troviamo nei siti che collaudiamo per lavoro. Non finisce sempre così — nella maggior parte dei casi non c’è niente da fare e sarebbe disonesto sostenere il contrario. Ma vale sempre la pena di guardare, prima di dire a qualcuno che i suoi dati sono persi.

Come si riconosce oggi una comunicazione falsa

Le esche sono cambiate, il meccanismo no. Questi sono i controlli che chiedo di fare, in ordine di utilità reale:

Se è già successo, le prime tre cose sono sempre le stesse: scollega la macchina dalla rete per fermare la cifratura delle cartelle condivise, non riavviare e non spegnere, non rinominare né cancellare niente — compresi i file cifrati e la richiesta di riscatto, che spesso è l’unico modo per identificare la variante. Poi si chiama qualcuno. Prima di pagare, comunque: le opzioni si valutano dopo aver capito cosa vi ha colpito, non prima.

Il quadro completo delle famiglie che si sono succedute in questi anni, quelle recuperabili e quelle no, è in dieci anni di ransomware.

E se ti incuriosisce quanto sia vero di ciò che si vede nelle serie, in Mr. Robot: le tecniche vere dietro la serie ho passato in rassegna gli strumenti che compaiono in scena e quelli che userebbe davvero chi fa questo mestiere.

Condividi questo post

Commenti (2)

  • Mark Rispondi

    Confermo, peraltro non si sa neanche se davvero decrittano il file

    9 maggio 2017 a 13:56
    • Enrico Marcolini Rispondi

      Salve,
      potrebbe caricare sul sito anche la richiesta di riscatto da parte del virus? E’ il file chiamato AIUTO_COME_DECIFRARE_FILE.html
      Tenteremo il recupero con il metodo che abbiamo elaborato che funziona nel 99% dei casi. In caso di successo il file di prova correttamente recuperato le verrà inviato in pochi minuti.
      Grazie e buona giornata.

      9 maggio 2017 a 14:12

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *