Algunos de los sitios con los que trabajo se pusieron en peligro hace un tiempo, solicité los registros de FTP de la empresa de alojamiento y ellos me proporcionaron esto:
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:02 -0400] - - "STOR //t2TdyX8f.gif (/somesite.com/public/t2TdyX8f.gif)" - - "226" "10" "0.176"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:02 -0400] - - "DELE //t2TdyX8f.gif (/somesite.com/public//t2TdyX8f.gif)" - - "250" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:03 -0400] - - "DELE //t2TdyX8f.gif (/somesite.com/public//t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:04 -0400] - - "DELE //t2TdyX8f.gif (/somesite.com/public//t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:04 -0400] - - "DELE //t2TdyX8f.gif (/somesite.com/public//t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:05 -0400] - - "DELE //t2TdyX8f.gif (/somesite.com/public//t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:06 -0400] - - "DELE //t2TdyX8f.gif (/somesite.com/public//t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:06 -0400] - - "DELE //t2TdyX8f.gif (/somesite.com/public//t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:07 -0400] - - "STOR //images/t2TdyX8f.gif (/somesite.com/public/images/t2TdyX8f.gif)" - - "226" "0" "0.163"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:07 -0400] - - "DELE //images/t2TdyX8f.gif (/somesite.com/public//images/t2TdyX8f.gif)" - - "250" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:08 -0400] - - "DELE //images/t2TdyX8f.gif (/somesite.com/public//images/t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:08 -0400] - - "DELE //images/t2TdyX8f.gif (/somesite.com/public//images/t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:09 -0400] - - "DELE //images/t2TdyX8f.gif (/somesite.com/public//images/t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:09 -0400] - - "DELE //images/t2TdyX8f.gif (/somesite.com/public//images/t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:10 -0400] - - "DELE //images/t2TdyX8f.gif (/somesite.com/public//images/t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:10 -0400] - - "DELE //images/t2TdyX8f.gif (/somesite.com/public//images/t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:11 -0400] - - "STOR //pdf/t2TdyX8f.gif (/somesite.com/public/pdf/t2TdyX8f.gif)" - - "226" "0" "0.165"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:12 -0400] - - "DELE //pdf/t2TdyX8f.gif (/somesite.com/public//pdf/t2TdyX8f.gif)" - - "250" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:12 -0400] - - "DELE //pdf/t2TdyX8f.gif (/somesite.com/public//pdf/t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:13 -0400] - - "DELE //pdf/t2TdyX8f.gif (/somesite.com/public//pdf/t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:13 -0400] - - "DELE //pdf/t2TdyX8f.gif (/somesite.com/public//pdf/t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:14 -0400] - - "DELE //pdf/t2TdyX8f.gif (/somesite.com/public//pdf/t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:14 -0400] - - "DELE //pdf/t2TdyX8f.gif (/somesite.com/public//pdf/t2TdyX8f.gif)" - - "550" "-" "-"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:15 -0400] - - "DELE //pdf/t2TdyX8f.gif (/somesite.com/public//pdf/t2TdyX8f.gif)" - - "550" "-" "-"
.
.
.
.
.
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:40 -0400] - - "RETR //index.phtml (/somesite.com/public/index.phtml)" - - "226" "531" "0.234"
ftp.somesite.com 64.29.xxx.xxx 87.236.xxx.xxx[09/Jul/2012:13:37:41 -0400] - - "STOR //index.phtml (/somesite.com/public/index.phtml)" - - "226" "757" "0.173"
Como puede ver en los registros, el intruso primero intenta cargar un archivo, luego intenta borrarlo 7 veces, la primera vez que se elimina el archivo, el servidor devuelve 250, las siguientes veces consecutivas devuelve 550.
Lo hace 3 veces, creo que está probando algo o tal vez explotando una vulnerabilidad en el servidor FTP.
Luego comienza a descargar un montón de archivos, y cuando descarga index.phtml, lo modifica, lo carga y lo sobrescribe.
Coloca un código javascript, en index.phtml, y se mueve al siguiente sitio que alojamos en ese servidor.
Así que está claro que el intruso tiene algún tipo de acceso ftp al servidor, hay al menos dos posibilidades,
1- El servidor ftp tiene una vulnerabilidad
2- Él conoce nuestras contraseñas, ¿tal vez está olfateando datos de nuestra red o ha pirateado una de nuestras computadoras aquí o algo así?
Usé nmap para intentar encontrar la versión y el tipo del servidor ftp, aquí están los resultados:
nmap -A -p 21 ftp.somesite.com
Starting Nmap 5.51 ( http://nmap.org ) at 2012-09-06 11:52 EDT
Nmap scan report for ftp.somesite.com (64.29.xxx.xxx:)
Host is up (0.058s latency).
rDNS record for 64.29.xxx.xxx: websixxxxsc2x.xarxxxxxx.com
PORT STATE SERVICE VERSION
21/tcp open ftp ProFTPD 1.2.8 - 1.2.9
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_Can't get directory listing: ERROR
Service Info: OS: Unix
Busqué las posibilidades de seguridad de ProFTPD 1.2.8 y encontré esto , aparte de esto en este momento no tengo idea de cómo proceder, para asegurarse de que esto no vuelva a suceder.