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.

## Come lavoriamo

- ### 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.

## Cosa troviamo di solito

### 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.

Casi reali, anonimizzati

### Webshell dentro un modulo PrestaShop

Su un negozio abbiamo trovato codice malevolo dentro un modulo di terze parti non più mantenuto. Il modulo è stato messo in quarantena, il codice rimosso e tutte le credenziali ruotate. Lo stesso modulo è poi ricomparso su un altro negozio che seguivamo, e lì l'abbiamo riconosciuto in mezz'ora.

### Malware e spam SEO su WordPress

Sito con redirect condizionali che si attivavano solo per i visitatori provenienti da Google. Le stringhe malevole non uscivano dalle ricerche nel database, perché erano dentro la cache serializzata del page builder, invisibile alle query normali. Trovate lì, il sito è tornato pulito.

### Audit dopo la bonifica

In più di un caso, ripulendo il sito abbiamo trovato chiavi Stripe e credenziali di servizi di posta scritte in chiaro nei file. Non erano il modo in cui erano entrati, ma sarebbero stati il danno successivo.

## Piattaforme

Interveniamo su [PrestaShop, WooCommerce, Magento e Shopify](/assistenza-ecommerce.html), e sui siti WordPress che stanno accanto al negozio. La logica non cambia, cambiano i posti dove guardare: i moduli e la tabella di configurazione su PrestaShop, i plugin e le opzioni serializzate su WordPress, le estensioni e la cache su Magento.

## Domande frequenti

Devo mettere il sito offline?

Dipende da cosa fa il malware. Se ruba dati dal checkout o serve pagine di phishing, sì, subito. Se inietta spam SEO invisibile ai clienti, di solito il sito resta online mentre lavoriamo, così non perdi ordini.

Basta reinstallare il sito da un backup?

Quasi mai. Il backup spesso contiene già il codice malevolo, perché l'infezione è più vecchia di quanto sembri. E se non trovi la porta d'ingresso, chi è entrato rientra.

Quanto ci vuole?

La rimozione della parte attiva richiede in genere poche ore. Ricostruire come sono entrati, ruotare le credenziali e chiudere il buco richiede più tempo, e va fatto: è la parte che evita la seconda infezione.

Il sito è stato tolto da Google o segnalato dal browser. Si recupera?

Sì. Dopo la pulizia si chiede la revisione dai pannelli per i webmaster e le segnalazioni cadono. Prima della richiesta serve che il sito sia davvero pulito, altrimenti la penalizzazione si allunga.

Il dominio è finito in blacklist e la posta non arriva più.

Succede quando il sito compromesso è stato usato per inviare spam. Dopo la bonifica si chiede la rimozione dalle blacklist e si sistemano SPF, DKIM e DMARC. Il [controllo gratuito della posta](/strumenti/posta) dice a che punto sei.

## Raccontaci cosa succede

Scrivi il dominio, cosa hai notato e da quando. Se hai già gli accessi al server o al pannello a portata di mano, dillo: si parte prima.

Vedi anche

- [Difesa dai bot](/protezione-bot-ecommerce.html)

- [Assistenza e-commerce](/assistenza-ecommerce.html)

- [SEO tecnico](/seo-ecommerce.html)

- [Strumenti gratuiti](/strumenti/)
