Rimuoviamo il codice malevolo da e-commerce e siti WordPress, poi ricostruiamo da dove sono entrati. La seconda parte conta quanto la prima: un sito ripulito senza chiudere la porta d'ingresso viene reinfettato nel giro di giorni.
Contenimento
Decidiamo se il sito va messo offline o può restare in piedi. Se il malware tocca il checkout o i dati dei clienti si stacca subito, altrimenti si lavora a sito attivo per non perdere ordini.
Fotografia dello stato
Copia forense dei file e del database prima di toccare qualsiasi cosa. Serve come prova, e serve a noi per confrontare i file con quelli originali della piattaforma.
Ricerca del codice
Confronto con i sorgenti ufficiali, ricerca di webshell e backdoor nei moduli e nei plugin, controllo dei task pianificati, degli utenti amministratore e delle chiavi SSH. Il database va guardato con la stessa attenzione dei file: lo spam SEO vive lì.
Punto d'ingresso
Log del web server, log di accesso al pannello, cronologia FTP e SSH, versioni di moduli e plugin con vulnerabilità note. Senza questa risposta la bonifica è provvisoria.
Pulizia e ripristino
Rimozione del codice, sostituzione dei file del core con quelli originali, ripristino mirato dei contenuti dal backup più pulito. Non si reinstalla alla cieca da un backup: spesso l'infezione è più vecchia della copia che si sta usando.
Rotazione e chiusura
Cambio di tutte le credenziali toccate: database, pannello, FTP, SSH, API dei gateway di pagamento, chiavi dei servizi esterni. Aggiornamento della piattaforma e messa in sicurezza di quello che ha ceduto.
Verifica e reputazione
Controllo che il sito sia pulito, richiesta di revisione ai motori di ricerca e ai servizi di blacklist, rimozione degli avvisi del browser. Poi qualche giorno di osservazione dei log, perché le reinfezioni si vedono lì per prime.
Webshell nei moduli
Un file PHP nascosto dentro un modulo di terze parti, che accetta comandi via HTTP e riapre l'accesso ogni volta che viene toccato.
Spam SEO nel database
Link e testi iniettati nei contenuti, visibili ai motori di ricerca e nascosti ai clienti. Vivono nelle tabelle, non nei file.
Utenti amministratore fantasma
Account creati dall'attaccante, spesso con nomi che somigliano a quelli veri, e chiavi SSH aggiunte al server.
Credenziali nel codice
Chiavi dei gateway di pagamento e delle API scritte in chiaro dentro i file. Se il sito è stato letto, vanno considerate compromesse e ruotate.