2010-05-25 17 views
6

Recentemente abbiamo ricevuto una chiamata da uno dei nostri clienti, lamentando che il loro sito ha un "codice dall'aspetto strano" nella parte inferiore della pagina. Abbiamo controllato il codice sorgente e scoperto che circa 800 byte di codice javascript dannoso erano stati aggiunti al file templates/master, dopo il tag </html>. Non posterò detto codice perché sembrava particolarmente cattivo.Malware sul sito Web di un cliente - Idee?

Per quanto posso dire, non ci sarebbe alcun modo per questo file da modificare in alcun modo, a meno che qualcuno ha avuto accesso diretto al server e/o FTP password. Il file stesso è stato modificato, in modo da escludere qualsiasi tipo di attacco SQL. Oltre a una persona che guadagna fisicamente le credenziali e modifica a mano questo file, ci sarebbe qualche altra spiegazione logica per quello che è successo? Qualcun altro ha avuto esperienza con qualcosa di simile?

risposta

7

I posti che avevo controllare sono:

  • tempi di modifica del file (per vedere quando è successo)
  • log del server HTTP per i segni di params buffi GET (ad esempio, ?foo=exec('...'))
  • log del server FTP
  • log SSH (qualcosa di simile è accaduto a me una volta, ed era perché qualcuno ha dato la loro parola d'ordine)

Inoltre, mi piacerebbe limitare immediatamente l'accesso in scrittura a tutti i file del sito, solo per essere al sicuro dalla stesso attacco (naturalmente, il vettore è ancora aperto, ma è meglio di niente).

3

Se l'attaccante non ha altro accesso ai file, è probabile che ci sia un exploit nel codice da qualche parte che permette all'utente di eseguire codice arbitrario. L'uso di passthru(), exec() ed eval() sono problemi comuni qui. Se c'è FTP in esecuzione sulla stessa macchina, in genere è anche un forte vettore di attacco.

Non sono sicuro di voler escludere categoricamente un attacco SQL (soprattutto uno riflesso combinato con gli exploit precedenti), ma non è chiaro che lo sarebbe anche uno.


Alla tua domanda, potrebbe essere automatizzato o indirizzato personalmente, è difficile dire con il livello di dettaglio fornito. Come altri hanno già detto, cambia il maggior numero possibile di password, limita l'accesso al server, quindi inizia a controllare i registri per vedere dove sono andate le cose. Ciò avrà più successo che distruggere l'app stessa.

+3

L'altra opzione comune è che un computer su cui è in esecuzione un client ftp è stato compromesso e le credenziali sono state sniffate. – Quentin

+0

La ragione per cui non dico SQL è perché il file fisico è stato modificato. Richiederebbe all'utente malintenzionato di indovinare la posizione dei nostri file modello (concessi, non particolarmente oscuri). Potrebbe trattarsi di una sorta di attacco automatico, o sarebbe molto probabilmente mirato personalmente? – Jeriko

1

credenziali Quasi certamente compromessi che permettono a qualcuno di modificare il codice in modalità remota. Il server si trova sul sito?

+0

No, è geograficamente a circa 50 km da noi. Ciò è accaduto su due dei tre sottodomini per il dominio di questo cliente. Immagino che la mia preoccupazione principale sia se cambiare le password FTP, o assolutamente strappare il sito a parte testarlo .. – Jeriko

+1

Perché non fare entrambe le cose? Cambia le password e altrimenti limita l'accesso il più lontano possibile, quindi mettiti all'opera per capire cosa è successo. –

+0

Se ftp è stato posseduto una volta, è probabile che cambiare la password non causi al tuo hacker qualcosa di più di un inconveniente. Vedere la mia risposta, rimuovere FTP e utilizzare SFTP – Cruachan

3

Non si specifica, ma se non si deve utilizzare FTP su un server di produzione in ogni caso perché è intrinsecamente non sicuro (tra le altre cose trasmette credenziali in testo in chiaro, rendendo facilmente preda di un attacco di sniffing). Usa sempre SFTP.

Se si utilizza FTP pianura questo è più probabile il vettore di attacco, in particolare per quanto modificando i file è tutto ciò che come è successo. Se la tua macchina fosse stata completamente penetrata, mi sarei aspettato di vederne di più.

1

Ecco come la vedo io. Utilizzo di un programma FTP? I tuoi file di log ftp che memorizzano le password, i percorsi ecc .. vengono afferrati. Le password vengono decodificate.

Cercare di non memorizzare password FTP nel client FTP. Oppure fai come sopra, usa SFTP. Abbiamo avuto un problema simile e sembra provenire da un computer con un insieme di accessi FTP. Inoltre, questo computer ha avuto molti problemi insoliti con esso. Javascript non funzionerebbe correttamente, timeout di sessione dispari o semplicemente rimosso. Quale per me indica che questo computer aveva qualcosa in esso.

0

Assicurati di trovare e rimuovere tutti i file sospetti nel tuo sito web. Se avessero accesso all'FTP, molto probabilmente lasciavano uno script backdoor da qualche parte che consentisse loro di caricare/modificare file sul tuo sito web tramite un URL specifico anche dopo aver cambiato la password FTP o aver scelto di utilizzare SFTP.

Provare a eseguire lo script trovato here se si utilizza PHP.

0

Per rilevare un codice dannoso esistente, si consiglia di utilizzare un buon motore di scansione anti-malware sul server per rilevare il codice dannoso sui file del sito Web. Molte volte, il server non è vulnerabile, ma il sito Web è! Per evitare ciò, usa un Web Application Firewall che può dare un'occhiata ad ogni richiesta per rilevare e bloccare un tentativo di attacco.

Problemi correlati