Honeypots y Honeynets

Honeypots Honeynets



Este tutorial explica qué son los honeypots y honeynets y cómo funcionan, incluido un ejemplo de implementación práctica.

Parte del trabajo de los especialistas en TI de seguridad es aprender sobre los tipos de ataques o técnicas que utilizan los piratas informáticos mediante la recopilación de información para su posterior análisis a fin de evaluar las características de los intentos de ataque. En ocasiones, esta recopilación de información se realiza mediante cebos o señuelos diseñados para registrar la actividad sospechosa de posibles atacantes que actúan sin saber que su actividad está siendo monitoreada. En seguridad informática, estos cebos o señuelos se denominan Honeypots .







¿Qué son los honeypots y las redes de miel?

A tarro de miel puede ser una aplicación que simula un objetivo que en realidad es un registrador de la actividad de los atacantes. Múltiples Honeypots que simulan múltiples servicios, dispositivos y aplicaciones se denominan Honeynets .



Los Honeypots y Honeynets no almacenan información confidencial, pero almacenan información falsa y atractiva para los atacantes para que se interesen en los Honeypots; Honeynets, en otras palabras, están hablando de trampas de hackers diseñadas para aprender sus técnicas de ataque.



Los Honeypots nos brindan dos beneficios: en primer lugar, nos ayudan a conocer los ataques para proteger correctamente nuestro dispositivo de producción o nuestra red. En segundo lugar, al mantener los honeypots simulando vulnerabilidades junto a los dispositivos o redes de producción, mantenemos la atención de los piratas informáticos fuera de los dispositivos seguros. Encontrarán más atractivos los honeypots que simulan agujeros de seguridad que pueden explotar.





Tipos de honeypot:

Honeypots de producción:
Este tipo de honeypot se instala en una red de producción para recopilar información sobre técnicas utilizadas para atacar sistemas dentro de la infraestructura. Este tipo de honeypot ofrece una amplia variedad de posibilidades, desde la ubicación del honeypot dentro de un segmento de red específico para detectar intentos internos de usuarios legítimos de la red para acceder a recursos no permitidos o prohibidos a un clon de un sitio web o servicio, idéntico al original como cebo. El mayor problema de este tipo de honeypot es permitir tráfico malicioso entre legítimos.

Honeypots de desarrollo:
Este tipo de honeypot está diseñado para recopilar más información sobre las tendencias de piratería, los objetivos deseados por los atacantes y los orígenes de los ataques. Esta información se analiza posteriormente para el proceso de toma de decisiones sobre la implementación de medidas de seguridad.
La principal ventaja de este tipo de honeypots es, contrariamente a la producción; desarrollo de honeypots Los honeypots están ubicados dentro de una red independiente dedicada a la investigación; este sistema vulnerable está separado del entorno de producción evitando un ataque del propio honeypot. Su principal desventaja es la cantidad de recursos necesarios para implementarlo.



Existen 3 subcategorías o tipos de clasificación diferentes de honeypot definidos por el nivel de interacción que tiene con los atacantes.

Honeypots de baja interacción:

Un Honeypot emula un servicio, aplicación o sistema vulnerable. Esto es muy fácil de configurar pero limitado a la hora de recopilar información; algunos ejemplos de este tipo de honeypots son:

  • Trampa de miel : está diseñado para observar ataques contra servicios de red; a diferencia de otros honeypots, que se centran en capturar malware, este tipo de honeypot está diseñado para capturar exploits.
  • Nephentes : emula vulnerabilidades conocidas para recopilar información sobre posibles ataques; está diseñado para emular vulnerabilidades que los gusanos explotan para propagarse, luego Nephentes captura su código para su posterior análisis.
  • HoneyC : identifica servidores web maliciosos dentro de la red al emular diferentes clientes y recopilar respuestas del servidor al responder a las solicitudes.
  • HoneyD : es un demonio que crea hosts virtuales dentro de una red que se puede configurar para ejecutar servicios arbitrarios que simulan la ejecución en diferentes sistemas operativos.
  • Glastopf : emula miles de vulnerabilidades diseñadas para recopilar información de ataques contra aplicaciones web. Es fácil de configurar y una vez indexado por los motores de búsqueda; se convierte en un objetivo atractivo para los piratas informáticos.

Honeypots de interacción media:

En este escenario, los Honeypots no están diseñados para recopilar información únicamente; es una aplicación diseñada para interactuar con atacantes registrando exhaustivamente la actividad de interacción; simula un objetivo capaz de ofrecer todas las respuestas que el atacante puede esperar; algunos honeypots de este tipo son:

  • Cowrie: un honeypot ssh y telnet que registra los ataques de fuerza bruta y la interacción del shell de los piratas informáticos. Emula un sistema operativo Unix y funciona como un proxy para registrar la actividad del atacante. Después de esta sección, puede encontrar instrucciones para la implementación de Cowrie.
  • Sticky_elephant : es un honeypot de PostgreSQL.
  • Avispón : Una versión mejorada de honeypot-wasp con solicitud de credenciales falsas diseñada para sitios web con página de inicio de sesión de acceso público para administradores como / wp-admin para sitios de WordPress.

Honeypots de alta interacción:

En este escenario, los Honeypots no están diseñados para recopilar información únicamente; es una aplicación diseñada para interactuar con atacantes registrando exhaustivamente la actividad de interacción; simula un objetivo capaz de ofrecer todas las respuestas que el atacante puede esperar; algunos honeypots de este tipo son:

  • Heridas : funciona como un HIDS (sistema de detección de intrusiones basado en host), lo que permite capturar información sobre la actividad del sistema. Esta es una herramienta servidor-cliente capaz de implementar honeypots en Linux, Unix y Windows que capturan y envían la información recopilada al servidor.
  • HoneyBow : se puede integrar con honeypots de baja interacción para aumentar la recopilación de información.
  • HI-HAT (Kit de herramientas de análisis de alta interacción Honeypot) : convierte archivos PHP en honeypots de alta interacción con una interfaz web disponible para monitorear la información.
  • Captura-HPC : similar a HoneyC, identifica servidores maliciosos al interactuar con los clientes utilizando una máquina virtual dedicada y registrando cambios no autorizados.

A continuación puede encontrar un ejemplo práctico de honeypot de interacción media.

Implementación de Cowrie para recopilar datos sobre ataques SSH:

Como se dijo anteriormente, Cowrie es un honeypot que se utiliza para registrar información sobre ataques dirigidos al servicio ssh. Cowrie simula un servidor ssh vulnerable que permite a cualquier atacante acceder a una terminal falsa, simulando un ataque exitoso mientras registra la actividad del atacante.

Para que Cowrie simule un servidor vulnerable falso, debemos asignarlo al puerto 22. Por lo tanto, debemos cambiar nuestro puerto ssh real editando el archivo. / etc / ssh / sshd_config Como se muestra abajo.

sudo nano /etc/ssh/sshd_config

Edite la línea y cámbiela por un puerto entre 49152 y 65535.

Puerto22

Reinicie y verifique que el servicio se esté ejecutando correctamente:

sudoreiniciar systemctlssh
sudoestado systemctlssh

Instale todo el software necesario para los siguientes pasos, en las distribuciones de Linux basadas en Debian ejecute:

sudoaptoInstalar en pc -ypython-virtualenv libssl-dev libffi-dev build-essential libpython3-dev python3-minimal authbindir

Agregue un usuario sin privilegios llamado cowrie ejecutando el siguiente comando.

sudoagregar usuario--disabled-contraseñacauri

En las distribuciones de Linux basadas en Debian, instale authbind ejecutando el siguiente comando:

sudoaptoInstalar en pcauthbind

Ejecute el siguiente comando.

sudo tocar /etc/authbind/byport/22

Cambie de propiedad ejecutando el siguiente comando.

sudo chowncauri: cauri/etc/authbind/byport/22

Cambiar permisos:

sudo chmod 770 /etc/authbind/byport/22

Iniciar sesión como cauri

sudo sucauri

Vaya al directorio de inicio de Cowrie.

cd~

Descargue cowrie honeypot usando git como se muestra a continuación.

clon de githttps://github.com/micheloosterhof/cauri

Muévase al directorio de cowrie.

cdcauri/

Cree un nuevo archivo de configuración basado en el predeterminado copiándolo del archivo /etc/cowrie.cfg.dist a cowrie.cfg ejecutando el comando que se muestra a continuación dentro del directorio de cowrie /

cpetc/cowrie.cfg.dist, etc./cowrie.cfg

Edite el archivo creado:

nanoetc/cowrie.cfg

Busque la línea a continuación.

listen_endpoints = tcp:2222:interfaz=0.0.0.0

Edite la línea, reemplazando el puerto 2222 con 22 como se muestra a continuación.

listen_endpoints = tcp:22:interfaz=0.0.0.0

Guarde y salga de nano.

Ejecute el siguiente comando para crear un entorno de Python:

virtualenv cowrie-env

Habilite un entorno virtual.

fuentecauri-env/soy/activar

Actualice pip ejecutando el siguiente comando.

pepitaInstalar en pc --potenciarpepita

Instale todos los requisitos ejecutando el siguiente comando.

pepitaInstalar en pc - mejoradorrequirements.txt

Ejecute cowrie con el siguiente comando:

soy/comienzo de cowrie

Compruebe que el honeypot está escuchando corriendo.

netstat -tan

Ahora los intentos de inicio de sesión en el puerto 22 se registrarán en el archivo var / log / cowrie / cowrie.log dentro del directorio de cowrie.

Como se dijo anteriormente, puede usar el Honeypot para crear un caparazón vulnerable falso. Los cowries incluyen un archivo en el que puede definir usuarios autorizados para acceder al caparazón. Esta es una lista de nombres de usuario y contraseñas a través de las cuales un pirata informático puede acceder al shell falso.

El formato de la lista se muestra en la siguiente imagen:

Puede cambiar el nombre de la lista predeterminada de cowrie con fines de prueba ejecutando el siguiente comando desde el directorio de cowries. Al hacer eso, los usuarios podrán iniciar sesión como root usando contraseña raíz o 123456 .

mvetc/userdb.example, etc./userdb.txt

Detenga y reinicie Cowrie ejecutando los siguientes comandos:

soy/parada de cauri
soy/comienzo de cowrie

Ahora pruebe intentando acceder a través de ssh usando un nombre de usuario y contraseña incluidos en el userdb.txt lista.

Como puede ver, accederá a un caparazón falso. Y toda la actividad realizada en este caparazón se puede monitorear desde el registro de cauri, como se muestra a continuación.

Como puede ver, Cowrie se implementó con éxito. Puede obtener más información sobre Cowrie en https://github.com/cowrie/ .

Conclusión:

La implementación de Honeypots no es una medida de seguridad común, pero como puede ver, es una excelente manera de fortalecer la seguridad de la red. La implementación de Honeypots es una parte importante de la recopilación de datos con el objetivo de mejorar la seguridad, convirtiendo a los piratas informáticos en colaboradores al revelar su actividad, técnicas, credenciales y objetivos. También es una forma formidable de proporcionar información falsa a los piratas informáticos.

Si está interesado en Honeypots, probablemente los IDS (sistemas de detección de intrusiones) puedan ser interesantes para usted; en LinuxHint, tenemos un par de tutoriales interesantes sobre ellos:

  • Configurar Snort IDS y crear reglas
  • Introducción a OSSEC (sistema de detección de intrusiones)

Espero que haya encontrado útil este artículo sobre Honeypots y Honeynets. Siga siguiendo la pista de Linux para obtener más consejos y tutoriales de Linux.