Todos tenemos nuestros router y ordenadores conectados permanentemente a internet con una dirección publica, estos equipos son susceptibles a recibir ataques sobre vulnerabilidades propias de los mismos. Por lo general pensamos que a nadie le interesa perder el tiempo y recursos para vulnerar nuestra seguridad, ya que no tenemos nada interesante a ofrecer. Pero en realidad existen ataques que se realizan automáticamente sin intervención humana, son botnets o redes de ordenadores infectados con software malicioso con la única función de escanear todos los servicios publicados por cualquier equipo conectado a internet y descubrir si este es susceptible a ser vulnerable para comprometer esos equipos y extraer la mayor información posible o usarlos para fines ilegales sin tu autorización.
Todos estos ataques son capaces por si mismos de saltarse servicios con vulnerabilidades ya conocidas y explotarlas a favor del administrador de la botnet.
El propósito de este articulo es demostrar que estos ataques existen y que todos estamos expuestos a ellos minuto a minuto, para ello voy a publicar en internet lo que se hace llamar como Tarro de Miel o HoneyPot, en este caso voy a usar Modern Honey Network instalado en un Ubuntu 14.04 LTS.
Lo que vamos a conseguir con ello es simular ser un ordenador conectado a internet con varios servicios activos y aparentemente vulnerables, aunque en realidad no existan, de esta forma nuestro atacante muerde el anzuelo y se convierte en nuestra victima pudiendo analizar todos los pasos que esta realizando para intentar comprometer la seguridad de un servicio aparentemente real.
Instalar Modern Honey Pot Network
Primero de todo deberemos tener instalado Ubuntu 14.04 LTS sin ningún componente adicional ni entorno de escritorio, es decir, una instalación limpia.
Una vez instalado nuestro Ubuntu accedemos mediante SSH como usuario root y una vez logueado nos vamos a dirigir al directorio /opt/
cd /opt/
Para instalar MHN necesitamos instalar los siguientes paquetes:
- Sudo
- GIT
- Ppython 2.6
- GCC
- Automake
Antes de empezar la instalación debemos instalar estos paquetes en el sistema, siempre y cuando no los tengas ya en tu Ubuntu:
apt-get install sudo git python gcc automake -y
Una vez instalados todos los paquetes procedemos a descargar una copia de MHN desde github.com mediante GIT:
git clone https://github.com/threatstream/mhn.git
Nos posicionamos en la carpeta nhm/scripts:
cd mhn/scripts/
Y a continuación ejecutamos los scripts de instalación necesarios para instalar MHN:
sudo ./install_hpfeeds.sh
sudo ./install_mnemosyne.sh
sudo ./install_honeymap.sh
Por ultimo vamos ejecutar el script que nos va ayudar a instalar y a configurar el servidor:
sudo ./install_mhnserver.sh
Se iniciara el asistente de instalación de MHN y lo configuraremos con los parámetros siguientes:
Pide si queremos ejecutar en modo depuración, seleccionamos No
Pide poner dos veces la contraseña de acceso
Pide que URL queremos que tome como base para acceder mediante web, lo dejamos por defecto
Pide la URL del mapa a tiempo real como base para acceder mediante web, también lo dejamos por defecto
El servidor de correo, por defecto localhost
El puerto del servidor de correo, por defecto el 25
En la opción de usar TLS para el correo, seleccionamos No
En la opción de usar SSL para el correo, seleccionamos No
Dejamos en blanco el usuario del servidor de correo
Dejamos en blanco la contraseña del servidor de correo
Dejamos la ruta del fichero mhn.log por defecto
Una vez confirmados los datos de configuración va a tardar unos minutos en cargar todas las reglas en la base de datos…
Una vez finalizada toda la configuración se reiniciara el servidor web nginx.
Una vez instalado podemos comprobar si Nginx el Supervisor y MHN están corriendo, ejecutando los siguientes comandos:
sudo /etc/init.d/nginx status
sudo /etc/init.d/supervisor status
sudo supervisorctl status
Si todo funciona correctamente ya podemos acceder mediante el navegador web a la URL indicada en la configuración y autenticarnos mediante el correo y contraseña seleccionados durante la misma.
El concepto de los Sensores
Es muy importante entender que el sensor es una aplicación externa al Managementent de MHN, este sensor se puede instalar en el propio servidor de Modern Honey Pot, pero a la vez también podemos ir desplegando «Sensores» en otros servidores remotos, de esta forma vamos a poder desplegar tantos HoneyPot como queramos y todos los datos se van a cruzar en la consola de administración central, pudiendo filtrar no solo la procedencia y el tipo de ataque que reciben los sensores, sino que ademas podremos filtrar por destinos. En el caso de instalar sensores en varios servidores VPS por diferentes países, también vamos a tener una idea de que países o proveedores de redes son los mas susceptibles a ser atacados y no solo eso, también la información de que tipo de ataques se hacen en cada zona geográfica, aparte de que tipo de ataques son mas comunes dependiendo de la procedencia de los mismos. En verdad es muy divertido ver todo esto en directo, por lo que os animo a emplazar el máximo de «Sensores» que os sea posible.
Instalar el Sensor
En este ejemplo voy a mostrar como desplegar el sensor en el mismo servidor donde instalamos el MHN, para ello accedemos dentro de la administración y dentro de ella en la seccion «Deploy»
En este caso vamos a desplegar un sensor basado en Dionaea, este sensor simula abrir puertos comunes susceptibles a ser atacados, los puertos abiertos por Dionaea son:
Puerto | Servicio | Descripción |
80 | http | Servidor Web |
443 | https | Servidor web seguro |
69 | tftp | Transferencia de archivos |
21 | FTP | Transferencia de archivos |
445 | SMB/CIFS | Compartición de ficheros e impresoras |
5060 | sip | Comunicación de voz sobre ip |
1433 | mssql | Servidor de base de datos de Microsoft |
3306 | mysql | Servidor de base de datos de MySQL |
Para ejecutar el sensor seleccionamos en el desplegable «Ubuntu – Dionaea» nos va a generar un script que debemos insertar en el interprete de comandos de nuestro Ubuntu.
Pegamos el script en el interprete de comandos de Ubuntu y se instalara el sensor que volcara los datos en nuestro panel de control.
Una vez instalado el sensor, volvemos a la administración web, accedemos a «Sensors» >> «View Sensors» y observamos que efectivamente se ha creado correctamente el enlace a nuestro sensor, con todos los datos para identificarlo, la etiqueta Name es totalmente personalizable y a la derecha observamos el numero de veces que ha recibido ataques, lo normal es 0 cuando el sensor es nuevo, pues deberemos esperar unos minutos para empezara ver intentos de intrusión.
Lo mas divertido de Modern HoneyPot Network, es el mapa interactivo, que si lo dejamos abierto durante unos minutos nos aparecen a tiempo real todos los ataques que se están realizando hacia nuestros sensores, los puntos amarillos indican la posición de nuestros sensores y los rojos la situación de los atacantes, cuando dos puntos parpadean significa que hay un atacante (rojo) accediendo a un sensor o victima (amarillo).
Instalar sensores adicionales
Podemos desplegar sensores en cualquier lugar, por ejemplo contratando un servidor VPS o instalando un PC con Ubuntu en tu casa o en la oficina, emplazándolo en la zona DMZ de tu router o firewall.
La base es la misma, necesitamos un Ubuntu 14.04 LTS sin ningún componente adicional ni entorno de escritorio, es decir, una instalación limpia.
Primero de todo vamos a actualizar el repositorio de apt.
apt-get update
Una vez actualizado vamos a instalar todos los paquetes necesarios para desplegar el Sensor.
apt-get install sudo git python gcc automake software-properties-common python-software-properties -y
Para desplegar el nuevo Sensor accedemos a la administración web y dentro de ella en la seccion «Deploy» y seleccionamos en el desplegable «Ubuntu – Dionaea» esto nos va a generar un script que debemos insertar en el interprete de comandos de nuestro Ubuntu remoto que actuara como un sensor adicional.
Para ello copiamos el script, lo pegamos en el interprete de comandos de Ubuntu y se instalara el sensor que volcara los datos en nuestro panel de control.
Si el sensor se instala satisfactoriamente nos saldrá el siguiente resultado por pantalla: «dionaea: added process group»
Una vez instalado el sensor, volvemos a la administración web, vamos a «Sensors» >> «View Sensors» y observamos que efectivamente se ha creado un segundo sensor, con todos los datos relacionados al servidor, la etiqueta Name se puede personalizar.
Podemos crear una red de sensores
No hay limite, podemos añadir tantos sensores como queramos. En mi caso he desplegado 4 sensores repartidos geográficamente.
- Servidor de OVH situado en Francia con Ubuntu (MHN Server)
- VM en mi casa con Ubuntu, situada en la zona DMZ del router.
- VPS de host1plus situado en Reino Unido con Ubuntu.
- VPS de OVH situado en Canada con Ubuntu.
Este es el resultado de mi despliegue:
Observando los resultados
Después de dejar varias horas los sensores obteniendo datos de todas las conexiones recibidas cuando accedemos a la pagina principal de MHN Manager muestra un resumen de los ataques recibidos en las ultimas 24 horas.
Para ver detalladamente todas las conexiones, accedemos a la sección «Attacks» donde se van archivando todos los intentos de intrusión por sensor, país, ip origen, puerto atacado y protocolo utilizado.
Todos estos datos se pueden filtrar por varios criterios para rastrear y cruzar los datos de los ataques recibidos.
En mi caso, después de 24 horas, puedo advertir que mi conexión a internet particular, ha recibido mas de 1400 ataques, no soy una empresa ni una organización, tan solo un particular, como comenté al principio del articulo, no hace falta que seas alguien importante para que quieran acceder a tus sistemas. Es importante ser precavido.
Si disponéis de las herramientas y conocimientos para seguir esta guía, os animo que hagáis esta prueba por vuestra cuenta, me gustaría mucho conocer vuestra experiencia.
Os dejo la URL del mapa en vivo de mi Modern HoneyPot Network:
http://37.187.112.84:3000/
Si lo dejáis abierto unos minutos veréis como se van registrando los ataques.
No se por cuanto tiempo voy a mantener el servicio operativo por lo que es posible que deje de funcionar en unas semanas.
Actualizado 20/12/2014: He dado de baja mi Modern HoneyPot, podéis ver otro en vivo en este enlace: http://map.honeynet.org/ (Un proyecto de HoneyNet.org)
Marcelo dice
Muy bueno, gracias.
kuse dice
Muchas gracias, muy instructivo y entendedor para empezar.
Salut!
Nota: por cierto, mi abuelo tenia tu mismo apellido :p