Cerca


stampa pdf
Server in stato Semi Hack parte 2 dal 29/09/2004

Che cosa si intende con "Semi"? Significa che la macchina non deve essere reinstallata, poiché l'hacker non è riuscito a collegarsi alla root della macchina. E' quindi possibile arrischiarsi a pensare che, dato che l'hacker non si collegato in root, allora non ha effettuato modifiche al sistema.

Perchè 'dal 29/09/2004'?
Semplicemente perchè quel giorno, le macchine hackerate hanno effettuato attacchi da 1GB verso destinatari che hanno subito diversi problemi.

Come verificarlo ?


# ls -aul /proc/*/exe 2>/dev/null | grep deleted
lrwxrwxrwx 1 nobody nobody 0 sep 29 11:24 /proc/5910/exe -> /tmp/upxCKRKOKLAPA4 (deleted)


oppure

# find /proc -name exe -ls 2>/dev/null | grep deleted



Possiamo vedere la presenza di un processo attivo, lanciato dall'utente nobody, dal gruppo nobody, il cui originale binario è stato cancellato. Se l'uso di questo comando non restituisce alcun risultato, molto probabilmente il server non è stato hackerato. Tuttavia, è possibile che OVH abbia già provveduto ad effettuare alcune correzioni e rimosso gli utenti non autorizzati. Potete provare a reinviare al grep i log di Apache per verificare.


# cat /proc/5910/cmdline
/usr/local/apache/bin/httpd


L'astuzia dell'hacker sta nel fatto che ha rieletto il suo processo in '/usr/local/apache/bin/httpd' per non essere individuato.

L'attacco è stato effettuato dall'IP:
# host 210.169.91.66
66.91.169.210.in-addr.arpa is an alias for 66.64.91.169.210.in-addr.arpa.
66.64.91.169.210.in-addr.arpa domain name pointer january.medical9.gr.jp.



Per identificare lo script all'origine del difetto di sicurezza, potete lanciare un grep di questo IP sui vostri log di Apache (attenzione, alcune macchine sono state hackerate molto tempo prima (log con estensione .gz)).

Nota: se sono già stati effettuati interventi di pulizia e manutenzione, solo il percorso dei log permetterà di recuperare tracce dell'attacco.

Difetti originali

Gli hacker sfruttano errori di programmazione di Php. Un comando 'include' richiede come parametro il file da includere. 'include' cercherà quindi l'archivio per eseguirlo sul server. Il difetto si verifica nel fatto che Php permette anche di cercare il file tramite una URL (nota: difetto non vuol dire bug). L'errore di programmazione sta nel fatto che il file è una variabile, che può essere "riempita" a partire dalle informazioni ricevute in occasione della chiamata della pagina. L'hacker semplicemente inserisce nella variabile il link verso un suo script su un altro sito, che gli darà quindi accesso al server.

Interventi

Per intervenire correttamente, riferitevi alla guida Server in stato Semi Hack.