Attenzione! Stai navigando il vecchio sito
Vai alla nuova homepage »
Impegni permettendo sto rinnovando il sito. Le informazioni che trovi in questo vecchio sito sono obsolete e mano a mano verranno rimpiazzate.

Warning: Undefined variable $PORTFOLIO_SERVIZI in /web/htdocs/www.marcopanichi.com/home/vecchio-sito/wp-content/themes/fawola4/entry-portfolio.php on line 113

Recupero portale regionale - sito Drupal hackerato

attacco hacker portale web sportivo
Lavoro svolto da: Marco Panichi
Completato: Febbraio 2014
Cliente: Portale regionale
Sede: Umbria

Il Cliente mi contatta perché il suo portale, che si rivolge all’intera regione Umbria, realizzato su piattaforma Drupal7 ha subito un attacco hacker.

Il sintomo “esterno” è stato l’avviso anti-malware di Google Chrome rivolto a coloro che volessero visitare il sito in questione. Aggirando l’avviso, per controllare la situazione, scopro che tutti i link dell’homepage dirigono verso siti compromettenti contenenti materiale pornografico e vendita di farmaci online.

Il sito aveva ricevuto oltretutto un messaggio in Google Webmaster Tools che avvertiva della vulnerabilità riscontrata.

Immediatamente pongo il sito in manutenzione e comincio i lavori di sanificazione.

Rilevo la situazione iniziale

Il sito si presenta con queste caratteristiche iniziali:

  • Drupal 7.9
  • Moduli “core”: Block, Contextual links, Database logging, Field, Field SQL storage, Field UI, File, Filter, Image, List, Locale, Menu, Node, Number, Options, Overlay, Path, PHP Filter, RDF, System, Taxonomy, Text, Toolbar, User
  • CCK: Multiselectd
  • CHAOS TOOL SUITE: Chaos tools
  • DATA/ORA: Calendar, Date, Date API, Date Popup, Date views
  • FIELDS: Email, Field permission, Link
  • OTHER: Google Plus One +1, Pathauto, Token, Weight
  • SHARING: Share this, Share this block
  • TAXONOMY MENU: Taxonomy menu
  • VIEWS: Views, Views PDF Display, Views PHP, Views UI
  • Altri moduli: CKEDITOR, VIEWS_SLIDESHOW, IMCE, DOMPDF, PRINT, WYSIWIG

Analizzando lo spazio web rilevo varie anomalie

  • Molti files strani nello spazio FTP: mainma3.php (questo file era in tutte le cartelle!), functoins.php, sum75.html, wlc.html, aol.zip, chase.zip, chaseverification.zip, 501830549263.php, wp-conf.php e tutta una serie di files wtmXXXXn.php (dove X = numero) rinvenuti nella root.
  • Il file install.php aveva il codice tutto modificato: una sola lunghissima riga di codice
  • A TUTTI i files javascript era stata aggiunta la seguente riga di codice, in fondo: ;document.write(”);

Alerts nel log di Drupal

Dal log di Drupal ho rilevato decine di messaggi “strani”, ripetuti decine di volte a distanze ravvicinatissime (il dominio è oscurato con “—–“):

> wtm4698n.php?showimg=1&cookies=1 > pagina non trovata

> http://—–/user?destination=node/add > Tentativo di accesso fallito per shadowke

> http://—–/user?destination=node/add > Tentativo di accesso fallito per Elovogue

> fhd42i3d.html > pagina non trovata

> calendar/week/2012-W19?year=2011&mini=2012-12 > pagina non trovata

> misc/]};P.optgroup=P.option; …ecc… > pagina no trovata

> misc/)h.html(f?c( > pagina non trovata

> mail.htm > pagina non trovata

> wp-conf.php?t2471n=1 > pagina non trovata

> index.php?q=ckeditor/xss > Notice: Undefined offset: 5 in eval() (linea 29 di /web/htdocs/—–/home/modules/php/php.module(74) : eval()’d code(1) : eval()’d code).

Errori commessi

Per implementare alcune funzioni (e risolvere problemi del codice stesso) è stato modificato il codice di vari moduli, per cui gli stessi non sono mai stati aggiornati nel timore di perdere il lavoro effettuato ed “inceppare” il sito.

Altro problema (che forse ha innescato il tutto) è stato il fatto che i dati di accesso erano in possesso anche del Cliente il quale potrebbe aver lavorato da una postazione poco sicura se non già infettata da malware.

Non esisteva una copia del backup del sito precedente all’attacco.

Cura dell’attacco hacker

Rilevata la situazione ho provveduto a risolvere l’attacco hacker effettuando i seguenti steps:

  1. Messo in manutenzione il sito (error503.php + .htaccess allegati al presente post), lasciando aperto solo al mio IP Address;
  2. Scaricato tutto il sito in locale e poi ho cancellato la copia online;
  3. Cercati e rimossi files strani > ne ho trovati una quarantina;
  4. Cercati files contenenti le seguenti parole chiave [con freeware AGENT RANSACK]: eval(base64_decode($_POST[“php”])), eval(, eval (, base64_, document.write, iframe, unescape, var div_colors, var _0x, CoreLibrariesHandler, pingnow, serchbot, km0ae9gr6m, c3284d, upd.php, *timthumb*. > ne ho trovati a centinaia, li ho esaminati TUTTI e agito in uno di questi modi: a) sostituito eval con php_eval() (la versione sicura di drupal); b) segnato il modulo come “sospetto”; c) confronto con il modulo scaricato fresco; d) rimosso il codice malevolo (nel caso dei javascript sopracitati);
  5. Cercate modifiche al filesystem [con freeware WINMERGE] tra la copia nuova e quella vecchia > non ho trovato risultati utili perchè le copie erano già differenti di suo;
  6. Individuati moduli sospetti, a partire dalla lista stilata al punto 4 e grazie a ricerche su google ( security issue, hacked, etc…). Dopo ho scoperto che potevo guardare anche nel sito Secunia;
  7. Analizzato mio computer: Avast in modalità temporanea, Spybot Search&Destroy, Malwarebytes Antimalware > Non sono stati rilevati virus o spyware!
  8. Cambiata la login d’accesso ai servizi del dominio;
  9. Ricaricato tutto il sito;
  10. Rimossi tutti i moduli risultati sospetti: CKEDITOR, VIEWS_SLIDEWHOW, PRINT, DOMPDF, IMCE, CAPTCHA, WYSIWIG, WEBFORM;
  11. Modificato .htaccess affinchè bloccasse gli IP dai quali provenivano le richieste strane rilevate nel log di Drupal (precauzione inutile, cambia sempre);
  12. Contattata l’assistenza del provider (richiesto log server, log http, spiegazioni).

Il sito torna a funzionare dopo alcuni giorni di lavoro.

Informativa
Noi e terze parti usiamo strumenti di tracciamento (cookie e tecnologie affini) per finalità tecniche e, con il tuo consenso, anche per altre finalità specificate nella Cookie Policy. In qualsiasi momento puoi liberamente prestare, revocare o rifiutare tale consenso. Per ulteriori informazioni vedi: Privacy Policy - Cookie Policy
X
Personalizza il tuo consenso
Da qui puoi esprimere le tue preferenze rispetto i cookie e le tecnologie che usiamo per le varie finalità. Ricordati che in qualsiasi momento puoi liberamente modificare queste preferenze. Per ulteriori informazioni vedi: Privacy Policy - Cookie Policy
Strumenti di tracciamento di terze parti INFO
Cookie o strumenti di tracciamento gestiti da terze parti. Essi sono strettamente necessari per garantire il funzionamento e la fornitura del servizio richiesto dall'utente e quindi non richiedono il suo consenso.
Miglioramento dell'Esperienza INFO
Cookie utili per fornire un'esperienza utente migliore e personalizzata, tramite la gestione delle impostazioni personali e l'interazione con piattaforme di terzi e network.
Misurazione INFO
Strumenti per misurare il traffico e analizzare il comportamento degli utenti con l'obiettivo di migliorare il servizio.
Targeting e Pubblicità INFO
Strumenti per fornire contenuti commerciali personalizzati in base al comportamento dell'utente e per gestire, diffondere e tracciare annunci pubblicitari.
X