OWNED: Servidor en desarrollo - Userlinux.net

Uno de nuestros servidores de desarrollo ha sido hackeado como decía hace un rato por twitter. Imagino la cara del intruso al ver cuan sencilla era la contraseña. Empecemos por el principio, las máquinas de desarrollo no están abiertas "al público", son tan solo eso, máquinas con código en pre-producción…

OWNED: Servidor en desarrollo

r0sk 31.Dec.2009 7 Comentarios 474 Lecturas
Uno de nuestros servidores de desarrollo ha sido hackeado como decía hace un rato por twitter. Imagino la cara del intruso al ver cuan sencilla era la contraseña.

Empecemos por el principio, las máquinas de desarrollo no están abiertas "al público", son tan solo eso, máquinas con código en pre-producción en las que trabaja el equipo de desarrollo con lo que la seguridad está bastante descuidada (aún sabiendo que el 90% de los ataques provienen desde dentro, yo me fío de mis compañeros).

Con bastantes frentes abiertos, la verdad ni se me ocurrió repasar todos esos puntos que debería haber repasado -si, entono el mea culpa- antes de abrir el equipo a La Red para que un compañero pudiera acceder desde remoto.

Resultado: a las 4 horas el equipo había sido comprometido por un intruso, se había instalado un emech y, a través de IRC, se controlaba la máquina.

¿Cómo me entero?, la buena costumbre que tiene uno de leer logs y pegarle un repaso visual a todas las herramientas de monitorización que hay en cada máquina. Había conexiones abiertas a varios servidores de IRC:
bash      13666        root    1u     IPv4    1160909                 TCP 192.168.22.12:48391->208.83.20.130:ircd (ESTABLISHED)
bash      13666        root    4u     IPv4    1160915                 TCP 192.168.22.12:54876->194.109.20.90:ircd (ESTABLISHED)
bash      13666        root    7u     IPv4    1158474                 TCP 192.168.22.12:44264->208.83.20.130:ircd (ESTABLISHED)
Viendo el pid (13666) compruebo que hay un bash bastante sospechoso saliendo de /dev/shm/.a/.oracle... así que poco más puedo hacer que parar ese proceso, desconectar la red y hacer algo de análisis forense.

El emech estaba bastante avanzado, se cargó el crontab y en su lugar había algo tal que:
* * * * * /dev/shm/.a/.oracle/update >/dev/null 2>&1
Osea que intentaba conectar permanentemente al IRC desde donde -presumiblemente- se controlaba la máquina. Todavía estoy sacando conclusiones de esta experiencia por lo que tampoco diré mucho más.

Así que tened mucho cuidado a la hora de abrir vuestras máquinas a La Gran Red (y más en fin de año), porque los scripts no entienden de vacaciones.

Comentarios


gravatar
31.Dec.2009
Openvpn + Netfilter = WIN

gravatar
31.Dec.2009
Hace un año más o menos me pasó exactamente lo mismo. En mi caso la máquina estaba abierta a Internet y pequé en dos cosas: SSH en puerto estándar y una cuenta que en principio iba a ser temporal creada con una clave débil. Revisando logs vi el mismo caso que el tuyo, un directorio " " en /dev/shm y dentro un bot de IRC que se conectaba a un canal creo recordar que de Undernet. Cuando entré al canal para echar un vistazo, el tío tenía varios zombis a su disposición pero con el mio al menos no llegara a hacer nada.

Así que formateé y reinstalación, preferí ser algo paranoico a que se me escapase algo y dejar el boquete en la empresa. Desde aquella, todos los servicios menos FTP en puertos no estándar, cuentas de FTP sin acceso SSH y filtros para "blacklistear" los bots de ataque por diccionario a los X intentos de conexión.

Aun conservo por ahí una imagen del disco juakeado, pero no creo que lo revise. Lo malo de estos juankeos "tan cutres" es que te hacen ser más precavido pero ofrecen poca diversión xP

gravatar
31.Dec.2009
¿Te importaría comentar que logs has revisado y comandos para ello? Así sería útil para otras personas que queramos verificar si tenemos el mismo problema.

gravatar
01.Jan.2010
Que levante la mano a quien no le hayan 0wn3ado alguna máquina descuidada y sin mucha vigilancia debido a la carga de trabajo. Bueno, supongo que no a todo el mundo, pero sí a mucha gente. ¿Se puede justificar una owneada? Supongo que en realidad no, pero a veces sirve también como espoletazo para que a uno le tomen en serio cuando intenta dar la alarma ante ciertas prácticas y se rien en su cara. Yo recuerdo una vez que, conforme llegué a la oficina (era en 2004), me dijeron algo tipo 'te estábamos esperando, parece que han entrado en el HUEVO'. El HUEVO era un server de desarrollo, totalmente fuera de ningún mantenimiento ni monitorización, dejadísimo de la mano de $DEITY. Vamos, se juntaban en él todas las malas prácticas posibles. Mi respuesta fue 'joder, ya era hora'. Si la gente quiere acceso desde fuera, como ya han comentado, VPN.

gravatar
02.Jan.2010
Un nx tambien sirve...

gravatar
02.Jan.2010
Buah! esa movida nos la instalaron en una máquina con un phplist sin actualizar (no recuerdo bien, pero me parece que fue por el exploit del XML-RPS... para más vergüenza -- conste que esa máquina no era mi responsabilidad).

Al final lo de echar ojo a /tmp, /var/tmp y /dev/shm es buena idea. Tuviste suerte que fuera un script kiddie sin más, porque ese [i]toolkit[/i] nos lo instalaron por web (estaba en el crontab de apache, por ejemplo).

gravatar
03.Jan.2010
Pues me toca a mi entonces. A mi me paso hace algunos meses, al igual que a reidrac, via web (un roundcube con un agujero asin [------------------] de gordo) y lo tipico, un directorio /var/tmp/.,. y dentro toda una variedad de .ICE-UNIX, .ICE-KDE y cosas asi.



En mi caso lo descubri por que utilizaron la maquina para un ataque DOS (o eso parecia) y un proceso perl se comia todo el ancho de banda disponible en el server. Tras matar el proceso perl (mal hecho, lo se, pero era eso o me apagaban la maquina en el ISP) e investigar un poco, descubri donde estaba todo el petate.

Roundcube fuera (por supuesto) y por si las moscas algo de limpieza (facil por que estaba limitado al user www) y cambio de todas las claves de los usuarios del sistema (por si las moscas).

En cuanto al acceso, VPN esta bien, si no quieres tanto lio, tuneles SSH y a correr; o si usas *BSD monta PF y authpf y filtras con un simple acceso SSH los puertos abiertos a cada usuario, echa un ojo aqui: http://www.openbsd.org/faq/pf/authpf.html yo lo uso para autenticar a usuarios para que puedan conectar a Inet a traves de mis aps wifi y para que los desarrolladores puedan acceder al TRAC en los servers de desarrollo.

Escribe un comentario

Nick
Email
URL

Buscar

Cargando...

Categorías

Últimos comentarios

  • BartlettLilly20
  • r0sk
  • coder
  • argordmel
  • uveic
  • MarcosBL
  • quemada
  • alexander
  • Hakky111
  • tramel
  • hoyadas
  • hoyadas
  • hoyadas
  • Anubys
  • Arturo

Tagcloud

lugo freebsd seguridad futbol iphone mysql champions userlinux alemania_2006 copa bsd cakephp rfilms deportes meme blogs conciertos bake debian macosx apple humor programación música games 2008 beers tip lucux cake sysadmin ssh ibook films cumpleaños bash league barça soccer mundial frases opinion felicidades hack php juegos cms personal 2007 ubuntu ds mac sidenotes openbsd linux blogsfera rsidenotes blog nintendo san_froilan

Archivo

Social

Twitter

Enlaces

Enlaces de interés