Newsgroup: it.comp.os.linux.sys
Titolo: Apache bucato

Mi sono ritrovato con un bel bot irc installato in /tmp fatto così:
===========
ls /tmp/.n/
total 832
-rw-r--r--  1 www-data www-data      5 Oct 30  2006 "?
drwxr-xr-x  3 www-data www-data   4096 Oct 12 12:13 .
drwxrwxrwt  9 root     root      16384 Oct 12 16:15 ..
-rw-r--r--  1 www-data www-data    155 Oct 12 16:00 10.0.100.254.user
-rw-r--r--  1 www-data www-data    155 Oct 12 16:00 10.0.100.254.user2
-rw-r--r--  1 www-data www-data    155 Oct 12 12:13 192.168.100.254.user
-rw-r--r--  1 www-data www-data    155 Oct 12 12:13
192.168.100.254.user2
-rw-r--r--  1 www-data www-data    155 Oct 12 12:13 192.168.101.254.user
-rw-r--r--  1 www-data www-data    155 Oct 12 12:13
192.168.101.254.user2
-rw-r--r--  1 www-data www-data    155 Oct 12 16:00 192.168.170.109.user
-rw-r--r--  1 www-data www-data    155 Oct 12 16:00
192.168.170.109.user2
-rw-r--r--  1 www-data www-data      0 Oct 12 16:10 Anda.seen
-rw-r--r--  1 www-data www-data      0 Oct 12 12:13 Gabriela.seen
-rw-r--r--  1 www-data www-data      0 Oct 12 16:10 Giulia.seen
-rw-r--r--  1 www-data www-data      0 Oct 12 12:13 Ileana.seen
-rw-r--r--  1 www-data www-data    214 Oct 12 12:19 LinkEvents
-rw-r--r--  1 www-data www-data      0 Oct 12 16:10 Monica.seen
-rw-r--r--  1 www-data www-data      0 Oct 12 12:13 Sandra.seen
-rwxr-xr-x  1 www-data www-data    317 Oct 30  2006 autorun
-rwx------  1 www-data www-data 492135 Oct 30  2006 bash
-rw-r--r--  1 www-data www-data     41 Oct 12 15:25 cron.d
-rw-r--r--  1 www-data www-data     70 Oct 12 16:10 giulia.seen
-rwxr-xr-x  1 www-data www-data   4865 Sep 26 11:17 inst
-rwxr-xr-x  1 www-data www-data  22882 Oct 30  2006 m.help
-rw-r--r--  1 www-data www-data   1043 Oct 12 16:00 m.lev
-rw-------  1 www-data www-data      5 Oct 12 12:14 m.pid
-rw-r--r--  1 www-data www-data   2116 Oct 12 16:00 m.ses
-rw-r--r--  1 www-data www-data   5954 Sep 26 12:00 m.set
-rw-r--r--  1 www-data www-data      8 Oct 12 15:25 mech.dir
-rwxr-xr-x  1 www-data www-data 165596 Sep 25 16:29 pico
drwxr-xr-x  2 www-data www-data   4096 Oct 30  2006 r
-rwxr-xr-x  1 www-data www-data     29 Oct 30  2006 run
-rwxr-xr-x  1 www-data www-data    813 Apr 13 03:21 start
-rwxr--r--  1 www-data www-data    151 Oct 12 15:25 update
-rw-r--r--  1 www-data www-data     61 Sep 26 12:00 vhosts
-rwxr-xr-x  1 www-data www-data  28489 Oct 30  2006 xh
Le connessioni attive sono:
===========
sudo netstat -anp | grep bash
tcp        0      0 
192.168.150.103:45960
 
194.109.20.90:6667
ESTABLISHED6056/bash
tcp        0      0 
192.168.150.103:45943
 
194.109.20.90:6660
ESTABLISHED6056/bash
tcp        0      0 
192.168.150.103:45934
 
195.47.220.2:6667
ESTABLISHED6056/bash
tcp        0      1 
192.168.100.254:49357
 
193.109.122.67:6667
SYN_SENT   6056/bash
tcp        0      1 
192.168.101.254:49359
 
129.27.9.248:6667
SYN_SENT   6056/bash
tcp        0      0 
192.168.150.103:45933
 
195.197.175.21:6667
ESTABLISHED6056/bash
tcp        0      1 
192.168.100.254:49358
 
195.144.12.5:6667
SYN_SENT   6056/bash
tcp        0      1 
192.168.101.254:49360
 
195.197.175.21:6667
SYN_SENT   6056/bash
udp        0      0 
0.0.0.0:40489
           0.0.0.0:*
6056/bash
Nel log di apache ho trovato:
===========
sudo cat /var/log/apache/access_vhosts.log | grep '194.109'
[12/Oct/2007:11:54:58 +0200] 81.208.113.151 194.109.21.230 - - "POST
http://194.109.153.5:11111/
 HTTP/1.0" 405 299
[12/Oct/2007:11:54:58 +0200] 81.208.113.151 194.109.21.230 - - "CONNECT
194.109.153.5:11111
 HTTP/1.0" 405 302
[12/Oct/2007:11:55:09 +0200] 81.208.113.151 194.109.21.230 - - "\x04\x01
+g\xc2m\x99\x05" 501 -
[12/Oct/2007:11:55:09 +0200] 81.208.113.151 194.109.21.230 - - "\x05
\x01" 501 -
[12/Oct/2007:12:18:56 +0200] 81.208.113.151 194.109.21.230 - - "CONNECT
194.109.153.5:11111
 HTTP/1.0" 405 302
[12/Oct/2007:12:18:56 +0200] 81.208.113.151 194.109.21.230 - - "POST
http://194.109.153.5:11111/
 HTTP/1.0" 405 299
[12/Oct/2007:12:19:07 +0200] 81.208.113.151 194.109.21.230 - - "\x05
\x01" 501 -
[12/Oct/2007:12:19:07 +0200] 81.208.113.151 194.109.21.230 - - "\x04\x01
+g\xc2m\x99\x05" 501 -
[12/Oct/2007:12:20:12 +0200] 81.208.113.151 194.109.21.230 - - "POST
http://194.109.153.5:11111/
 HTTP/1.0" 405 299
[12/Oct/2007:12:20:12 +0200] 81.208.113.151 194.109.21.230 - - "CONNECT
194.109.153.5:11111
 HTTP/1.0" 405 302
[12/Oct/2007:12:20:23 +0200] 81.208.113.151 194.109.21.230 - - "\x05
\x01" 501 -
[12/Oct/2007:12:20:23 +0200] 81.208.113.151 194.109.21.230 - - "\x04\x01
+g\xc2m\x99\x05" 501 -
Uso Debian Sarge 3.1 aggiornata.
Cosa posso fare per capire cosa è successo ? Prima di piallare tutto,
vorrei capire ...
-- 
DiesiS

Diesis ha scritto:

quelli direi che sono i log a bot già installato.
A occhio hai un programma (in perl o php) con alcuni problemini.. non è che 
hai una versione vecchia di phpBB2 ?
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
Real programmers don't bring brown-bag lunches.  If the vending machine
doesn't sell it, they don't eat it.  Vending machines don't sell
quiche.

 hai una versione vecchia di phpBB2 ?
Joomla, Wordpress e chi sa cos'altro ... dato che non ci lavoro solo io
su questa macchina...
Anche io sono convinto di questa cosa, ma vai a trovare lo script
incriminato ...
Qualcuno ha qualche link dove leggere di qualche metodologia di analisi
riferita a questo tipo di problemi ?
-- 
Diesis

 Prima fai una copia di tutti i log, poi spiana tutto e poi verifica meglio.
Stà già bzippando i log.
Si è pure installato una cron entry per tenere sempre il bot vivo::
sudo -u www-data crontab -l
* * * * * /tmp/.n/update >/dev/null 2>&1
sudo cat /tmp/.n/update
#!/bin/sh
if test -r /tmp/.n/m.pid; then
pid=$(cat /tmp/.n/m.pid)
if $(kill -CHLD $pid >/dev/null 2>&1)
then
exit 0
fi
fi
cd /tmp/.n
./run &>/dev/null
sudo cat /tmp/.n/run
#!/bin/sh
export PATH=.
bash
-- 
Diesis

 bash
e basta?
e chi lo scrive m.pid?
ma i file in .n/ li puoi leggere o sono binari compilati??

 ma i file in .n/ li puoi leggere o sono binari compilati??
Alcuni sono script ed altri binari.
Qualcosa di quello che fa si capisce, però vorrei capire come è stato
caricato ...
-- 
Diesis

 riferita a questo tipo di problemi ?
rm * -fR o giu' di li'.
Comunque: front-end apache che sia reverse proxy verso N apache non
privilegiati, uno per ogni applicazione e che girano, quest'ultimi, non
privilegiati e con un utente specifico ed univoco per ogni applicazione. 
Modsecurity sul reverseproxy.
In alternativa openvz o qualsiasi altra soluzione di virtualizzazione, con
una macchina virtuale per ogni applicazione.
-- 
Per rispondermi, sostituisci a nomecognome il mio nome e cognome
To reply me, substitute nomecognome with my real name and surname