Scansione del Database per individuare Dati Malevoli

3 gen 2011, 16:04:38
Visualizzazioni: 32.6K
Voti: 5

Dopo che il sito di un amico è stato hackerato, gli ho consigliato di ripulire tutto e ricominciare da zero così da essere sicuro che nessun file sia stato alterato.

Potrei scansionare il sito per lui con strumenti come grep e simili (Per iniziare: Grep e altri strumenti) ma mi sono chiesto come scansionare il database. E se qualche hacker avesse inserito del payload all'interno del database? Potrebbe essere qualcosa di semplice come XSS o addirittura codice PHP nel caso ci sia ancora qualche eval in esecuzione nel core (o c'era al momento dell'attacco).

Avete suggerimenti? Ho pensato di utilizzare query SQL con la funzione di confronto LIKE oppure è possibile utilizzare anche le REGEX. Ma forse qualcuno ha già fatto questo tipo di operazione o vuole farlo e ha alcune idee da condividere.

2
Commenti

Ho notato, circa 2 settimane fa, che il traffico su Google Analytics per il mio sito WordPress è diminuito drasticamente. Alla fine ho capito che qualche hacker era riuscito ad accedere e il mio blog veniva reindirizzato forzatamente verso una serie di siti spam. Oggi ho esaminato attentamente il codice sorgente e ho scoperto che la pagina richiamava 2 script JavaScript che non riconoscevo. Sono entrato nel mio file manager e ho scoperto che le date di quei 2 file erano state modificate proprio nel giorno in cui il mio sito era stato violato. Ho analizzato il mio sito con lo scanner malware gratuito consigliato sopra, http://sucuri.net/ e anche quello ha identificato questi...

User User
25 set 2011 18:14:47

@Pamela per favore non utilizzare le risposte per discussioni. Potrai lasciare commenti quando avrai accumulato una certa reputazione sul sito.

Rarst Rarst
25 set 2011 18:22:50
Tutte le risposte alla domanda 2
2

Ho letto che scaricare il database come file di testo e cercare al suo interno è un buon metodo. Puoi cercare con phpMyAdmin, ma è limitato. Dipende dalle dimensioni del database e da un buon editor di testo, ma puoi eliminare le revisioni di articoli/pagine prima di scaricare il database per ridurne le dimensioni. Oppure puoi scaricare poche tabelle alla volta.

3 gen 2011 16:55:00
Commenti

Eliminare le revisioni prima della scansione mi sembra una buona strategia. Chiederò all'amico se ne ha ancora bisogno o meno. Hai qualche consiglio per le stringhe di ricerca effettive? Ma prima di chiedere, penso che dovrei fare i miei compiti e cercare su Google vulnerabilità note, devo averne anche linkate alcune dal mio blog.

hakre hakre
4 gen 2011 12:39:41

Guarderei le solite stringhe eval(base64_decode. E se visualizzi il sorgente del sito e vedi link spam, cerca quelli. http://sucuri.net/ tiene traccia delle stringhe di malware relative a WordPress

markratledge markratledge
4 gen 2011 20:28:36
0

I miei siti su un account sono stati tutti infettati da uno script Decode_Base64 che ha contagiato molti file php, e nonostante abbia ripulito un sito, operazione che ha richiesto ore, è stato reinfettato poche ore dopo.

Alla fine ho scaricato la cartella wp-content/uploads e qualsiasi altro file aggiornato manualmente utilizzando una connessione ftp sicura.

Ho anche preso appunti/backup dei temi, plugin e altre personalizzazioni che avrei dovuto riapplicare.

Poi ho cambiato tutte le password dell'account/ftp, ho modificato manualmente le password del database/utente utilizzando phpMyAdmin, per negare l'accesso quando i siti sarebbero tornati online.

Successivamente ho cancellato TUTTO il codice Wordpress da TUTTI i siti e ho caricato invece un semplice file index.html che comunicava che i siti erano in manutenzione.

Ho controllato le cartelle WP-content/uploads per qualsiasi elemento che non fosse un'immagine o contenuto mio, cercando in particolare script (che non dovrebbero esserci).

Poi, ho scaricato l'ultima versione di WP, l'ho configurata per il database esistente con una nuova password e l'ho caricata sul server.

Ho effettuato l'accesso al sito, che a questo punto avrà solo Akismet attivo. Ho controllato e cancellato tutto ciò che non doveva esserci (pagine, post, link ecc.).

Ho installato un plugin di backup per assicurarmi di avere backup del database/cartelle.

Ho installato il plugin Bulletproof-Security (o simile) che crea file .htaccess protetti per te e ti indica come proteggere i tuoi file/cartelle. Ho seguito le sue raccomandazioni.

Infine, ho riapplicato gradualmente le mie personalizzazioni.

Se hai più domini, ripeti l'operazione per ciascuno.

Nel mio caso, stavo effettivamente pianificando di passare a un nuovo host, quindi dopo aver fatto tutto questo, ho salvato tutto sito per sito e li ho ricreati sul nuovo host, una volta sicuro che la vecchia versione ricostruita fosse pulita.

Buona fortuna e spero che questo possa esserti d'aiuto.

23 feb 2012 16:12:38