Underc0de - Hacking y seguridad informática

[In]Seguridad Informática => Seguridad web y en servidores => Mensaje iniciado por: blackdrake en Octubre 06, 2017, 06:28:17 pm

Título: Desplegando Honeypot (Kippo)
Publicado por: blackdrake en Octubre 06, 2017, 06:28:17 pm
Antes de comenzar, debemos empezar por lo básico, ¿qué es un honeypot?  La función de un honeypot consiste en atraer y analizar los ataques recibidos. Es importante tener claro, que nuestro sistema simulará una vulnerabilidad (o varias) para obtener información del atacante y obviamente, lo que buscamos, es, que para el atacante esto sea indetectable.

Como es lógico, hay bastantes honeypots que son open source, además, los hay que integran varios servicios y algunos que no, por ejemplo, uno puede emular sólo SSH y otro SSH y TELNET etc...

Entendido este concepto, quiero dejar claro que en cada entrada, voy a explicar paso por paso como desplegar un honeypot (open source)  de los muchos que hay disponibles en internet.

Si queréis obtener más información sobre los honeypots, os recomiendo leer nuestra entrada en hacking de 0: https://underc0de.org/hacking/honeypot.html

(https://i.imgur.com/kzS8Ere.png)

¿Qué es Kippo?

Kippo es un sistema que ha sido desarrollado utilizando Python y Twisted, una potente librería. Kippo permite emular servicios de Secure Shell (SSH).

Desplegando Kippo

Puesto a que Kippo emulará SSH, lo primero que tenemos que hacer, será cambiar de puerto nuestro SSH, ya que, lo suyo, es que Kippo apunte al 22 (puerto por defecto), donde gran cantidad de bots atacarán, sin si quiera detectar, el real.

Para ello, editaremos el fichero de configuración alojado en /etc/ssh/sshd_config

(https://i.imgur.com/uZFaqyr.png)

Yo he elegido el Puerto 55, pero vosotros podéis escoger otro.


(https://i.imgur.com/JxHkfBx.png)

Reiniciamos el servicio SSH para que comience a escuchar en el puerto que queremos.

(https://i.imgur.com/STRUBZu.png)

Instalamos las dependencias necesarias para ejecutar Kippo:

(https://i.imgur.com/r4S8mTz.png)

Código: Bash
  1. apt-get install python-dev openssl python-openssl python-pyasn1 python-twisted

Crearemos un usuario sin privilegios para ejecutar Kippo:

(https://i.imgur.com/9hkUdw9.png)

Código: Bash
  1. useradd -d /home/kippo -s /bin/bash -m kippo

Descargamos kippo del repositorio oficial de github:

(https://i.imgur.com/QGffYEH.png)

En mi caso, voy a comenzar a configurarlo desde el fichero de "backup" que nos viene por defecto, para ello, renombramos kippo.cfg.dist por kippo.cfg

(https://i.imgur.com/RklTOJ4.png)

A continuación, explico los valores más importantes que debéis tener en cuenta a la hora de configurar kippo:

(https://i.imgur.com/quGFQkc.png)

(https://i.imgur.com/isYQUcB.png)


(https://i.imgur.com/EAU5POo.png)
(https://i.imgur.com/4T9w4D2.png)


(https://i.imgur.com/89ram9q.png)


(https://i.imgur.com/vFTUEpv.png)


Hay muchas opciones interesantes, como interact_enabled e interact_port  que permiten acceder a las sesiones del atacante en tiempo real. Por defecto está desactivado.

(https://i.imgur.com/JYKGxQC.png)

Además, podemos guardar todos los logs en nuestra base de datos, la configuración se encuentra en el mismo fichero:

(https://i.imgur.com/MvV4pbz.png)

Si ya tenemos configurado nuestro kippo, pasamos a editar el fichero start.sh dejándolo de esta manera:

(https://i.imgur.com/IgJgDlI.png)

Código: Bash
  1. authbind --deep twistd -y kippo.tac -l log/kippo.log --pidfile kippo.pid

Puesto que queremos instalar la versión web de Kippo (Kippo Graph), tenemos que instalar las siguientes dependencias:

(https://i.imgur.com/vneFxs8.png)

Código: Bash
  1. apt-get install libapache2-mod-php5 php5-mysql php5-gd php5-curl

Descargamos la última versión en su página oficial: http://bruteforce.gr/wp-content/uploads/kippo-graph-1.5.1.tar.gz

(https://i.imgur.com/FVFHtad.png)

Empezamos a configurar kippo graph, para ello, damos permisos a los gráficos y editamos su fichero de configuración.

(https://i.imgur.com/99VHslL.png)

Le introducimos los datos de la DB conforme lo hemos hecho anteriormente:

(https://i.imgur.com/AVVv4Tm.png)

Obviamente, debemos guardar los ficheros de kippo-graph en /var/www o en el directorio de nuestro servidor web.

Nos logueamos con el usuario kippo e inciamos el servicio.

(https://i.imgur.com/sSujNsk.png)

Ahora ya tenemos kippo a la escucha por el puerto 22 con los usuarios y contraseñas definidos anteriormente.

Para ello, nos conectamos y lo comprobamos:

(https://i.imgur.com/BdksWce.png)

Accedemos a kippo-graph para comprobar si recibimos los datos:

En este caso, uno de mis sensores ha recibido casi 80mil ataques vía SSH en 2 años.

(https://i.imgur.com/YYbMTPV.png)

Kippo Graph nos genera muchas estadísticas y gráficos que son muy útiles, como por ejemplo, el top 1o de comandos más utilizados:

(https://i.imgur.com/mhFFNWs.png)

Sin duda, unas de las opciones más interesantes (si tenemos el interact desactivado), es el kippo playlog donde podremos reproducir las sesiones de los atacantes:

(https://i.imgur.com/McdEzAh.png)

También tendremos un registro de todos los atacantes y los usuarios:contraseñas utilizados por cada atacante, útil para generarse un diccionario propio.

(https://i.imgur.com/hOowMtb.png)

(https://i.imgur.com/1w5J3OL.png)

Y muchas, muchas más cosas que dejo que descubráis vosotros mismos :D

Un saludo,

Blackdrake

Título: Re:Desplegando Honeypot (Kippo)
Publicado por: KiddArabic en Octubre 07, 2017, 10:42:23 am
muy bueno pero tengo una duda con los honeypot si mi servidor cae por los ataques el honeypot no seguira activo o si?
Título: Re:Desplegando Honeypot (Kippo)
Publicado por: blackdrake en Octubre 07, 2017, 11:59:37 am
You are not allowed to view links. Register or Login
muy bueno pero tengo una duda con los honeypot si mi servidor cae por los ataques el honeypot no seguira activo o si?

Obviamente, Kippo está instalado en tu servidor, si el servidor se cae, el honeypot también, cuando se levante, tendrías que levantar el honeypot con el start.sh o configurarlo para que se levante automáticamente :)

Un saludo.
Título: Re:Desplegando Honeypot (Kippo)
Publicado por: SC0RP10N en Enero 19, 2018, 12:09:08 am
Kippo me parece un interesante Honeypot pero tengo una consulta...

¿Cuál es la capacidad máxima de simulación? me refiero claro a que si tengo una red real de 400 ordenadores con información confidencial que superan los 500 TB se puede simular esas grandes capacidades de almacenamiento en la red del Honeypot?

Aunque claro sólo es hipotético, toda la información de la red está encriptada.

Si me aclaras esa duda sería estupendo.