sábado, 23 de enero de 2021

Los mejores HoneyPots: ejemplos, tipos, características y configuración

Un honeypot es una herramienta de seguridad informática que nos permitirá detectar y obtener información de un atacante a nuestra red. Este tipo de programas sirven no solo para protegernos frente a un posible ataque, sino también para alertarnos, para estudiar a un posible atacante y adelantarnos a sus técnicas e incluso ralentizar un posible ataque.


Un honeypot es una herramienta especialmente diseñada para servir como trampa contra posibles atacantes. Los honeypot tienen la capacidad de simular un servicio o un dispositivo con el objetivo de atraer hacia él acciones que posteriormente serán analizadas

Los mejores Honeypots para detectar amenazas de red



Tabla de contenido

  • ¿Qué es un honeypot?
  • ¿Cómo funciona un "pote-tarro de miel" (honeypot)?
  • Ejemplos de honeypot
  • Los mejores honeypots para identificar amenazas de ciberseguridad
  • Honeypots SSH
  • Honeypots HTTP
  • Honeypots de WordPress
  • Honeypots de base de datos
  • Honeypots de correo electrónico
  • Honeypots para IOT
  • Otros honeypots
En futuras entradas veremos la configuración personalizada de la selección de los mejores HoneyPots

Perseguir a los malos es una actividad divertida y emocionante que se puede lograr de muchas formas. Uno de ellos es el uso de honeypots.

En esta publicación, explicaremos qué es un honeypot y cómo funciona, y le daremos un resumen de los mejores honeypots disponibles, para capturar información cuando un atacante golpea su puerta falsa.

Pero primero, volvamos a lo básico y cubramos algunos conceptos fundamentales.

¿Qué es un honeypot?

En inglés simple, un honeypot es un sistema informático o una aplicación creada para atraer agentes maliciosos que intentan atacar redes informáticas mediante el uso de spam, phishing, DDoS u otros métodos nefastos.


Una vez que un atacante cae en esta trampa, el honeypot permite a los administradores obtener datos valiosos sobre el tipo de atacante, la actividad que estaba intentando y, en muchos casos, incluso identificar al atacante.

El objetivo principal de todos los honeypots es identificar ataques emergentes contra diferentes tipos de software y recopilar informes para analizar y generar datos de inteligencia, que luego se utilizarán para crear técnicas de prevención contra amenazas de red.

Hay varios tipos diferentes de honeypots:

  • Honeypot de investigación: este tipo de trampa es utilizada por desarrolladores, administradores de sistemas y gerentes de equipos azules que trabajan en instituciones como universidades, colegios, escuelas y otras asociaciones relacionadas.
  • Honeypot de producción: es utilizado por instituciones públicas y privadas, empresas y corporaciones para investigar el comportamiento y las técnicas de los piratas informáticos que buscan atacar redes en Internet.
Según entorno:
  • Simulados. Son aquellos honeypots cuyo comportamiento imita al de un dispositivo real mediante recursos falsos, salidas preprogramadas o patrones definidos.
  • Emulados. Cuentan con una plataforma que les proporciona una infraestructura virtual para que el honeypot se ejecute sobre ella, la cual es igual que la del dispositivo real. En ocasiones se usan como sandbox, pudiendo ser fácilmente reseteados a un estado anterior si un atacante logra modificar partes importantes del sistema.
  •  Dispositivos reales. Se usa el hardware real como honeypot, estando disponible para el atacante el entorno al completo.

Tipos de HoneyPots

  • Baja interacción. Son honeypots que tienen respuesta básica a ciertos comandos, pero no profundizan más allá. Reproducen una parte limitada del comportamiento real del sistema. Un ejemplo sería un honeypot que simplemente presente un formulario de inicio de sesión para registrar qué usuarios y contraseñas prueban los atacantes como entrada. Su configuración es sencilla y su consumo de recursos bajo, pero es sencillo notar que no se trata de un dispositivo real.
  • Media interacción. En estos honeypots crece la relación entre el atacante y el sistema incluyendo recursos falsos, como sistemas de ficheros o servidores de FTP o SSH. Pueden resultar útiles para capturar comandos que puedan ejecutar los atacantes, ver qué vulnerabilidades intentan explotar o qué malware intentan ejecutar.
  • Alta interacción. Ofrecen un sistema con las mismas características que un dispositivo real, con acceso total al atacante, ya que las vulnerabilidades son completamente explotables. Se pueden recopilar más datos, pero también suponen un riesgo mayor, debido a que el sistema se puede ver comprometido.

Básicamente, un honeypot le permite obtener datos valiosos para que pueda trabajar en diferentes estrategias de reducción de la superficie de ataque.

¿Cómo funciona un honeypot?

Como se mencionó, un honeypot es un sistema de trampa. Estos sistemas de trampas a menudo se configuran en una máquina virtual o un servidor en la nube conectado a una red, pero aislados y monitoreados estrictamente por equipos de sistemas y redes. Para ayudarlos a ser notados por los malos, los honeypots están diseñados para ser intencionalmente vulnerables, con debilidades que un atacante detectará e intentará explotar.

Estas debilidades pueden ser parte de un agujero de seguridad dentro de una aplicación o vulnerabilidades del sistema, como puertos abiertos innecesarios, versiones de software desactualizadas, una contraseña débil o un kernel antiguo sin parchear.

Una vez que el atacante haya encontrado su objetivo vulnerable, intentará lanzar un ataque y escalar los privilegios hasta que pueda obtener cierto control de la caja o la aplicación.

Lo que la mayoría de ellos no sabe es que un administrador de honeypot está observando cada uno de sus pasos cuidadosamente, recopilando datos del atacante que realmente ayudarán a endurecer las políticas de seguridad actuales. El administrador también puede informar el incidente a las autoridades legales de inmediato, que es lo que sucede a menudo con las redes corporativas de alta gama.

La mayoría de los honeypots funcionan como trampas que distraen a los atacantes de los datos críticos que están alojados en las redes reales. Otro punto en común es que casi todos los intentos de conexión a un honeypot pueden ser tratados como hostiles, ya que hay pocas, si las hay, razones que puedan motivar a un usuario legítimo a conectarse con este tipo de sistemas.

Al configurar el honeypot, debe tener en cuenta el nivel de dificultad de hackeo que desea exponer al atacante. Si es demasiado fácil de hackear, probablemente perderán el interés o incluso se darán cuenta de que no se trata de un sistema de producción real.

Por otro lado, si el sistema está demasiado reforzado, en realidad frustrará cualquier ataque y no podrá recopilar ningún dato. Entonces, en términos de dificultad, atraer a un atacante con algo entre fácil y difícil es su mejor opción para simular un sistema de la vida real.

¿Puede un atacante detectar si está dentro de un honeypot? Por supuesto. Los usuarios avanzados con un alto nivel de conocimiento técnico pueden reconocer algunas señales de que están ingresando a un espacio de honeypot.

Incluso los usuarios sin conocimientos técnicos pueden detectar honeypots mediante el uso de detectores automáticos de honeypots como Honeyscore de Shodan, que le brinda la capacidad de identificar direcciones IP de honeypot.


Ejemplos de honeypot

Algunos ingenieros de sistemas tienden a clasificar los honeypots según el software específico que intentan proteger o exponer. Entonces, si bien una lista de honeypots podría ser extensa, aquí enumeramos algunos de los más populares:

  • Honeypot de spam: también conocido como trampa de spam, este honeypot se creó específicamente para atrapar a los spammers antes de que lleguen a las casillas de correo electrónico legítimas. Estos a menudo tienen relés abiertos para ser atacados y trabajan en estrecha colaboración con las listas RBL para bloquear el tráfico malicioso
  • Honeypot de malware: este tipo de honeypot se crea para simular aplicaciones, API y sistemas vulnerables con el fin de recibir ataques de malware. Los datos que luego se recopilan se utilizarán más tarde para el reconocimiento de patrones de malware, para ayudar a crear detectores de malware efectivos.
  • Honeypot de base de datos: las bases de datos son un objetivo común de los atacantes web y, al configurar un honeypot de base de datos, puede observar y aprender diferentes técnicas de ataque, como inyección SQL, abuso de privilegios, explotación de servicios SQL y mucho más.
  • Spider honeypot: este tipo de honeypot funciona creando páginas web falsas y enlaces a los que solo pueden acceder los rastreadores web, no los humanos. Una vez que el rastreador accede al honeypot, se detecta junto con sus encabezados para un análisis posterior, generalmente para ayudar a bloquear robots maliciosos y rastreadores de redes publicitarias.


Los mejores honeypots para identificar amenazas de ciberseguridad

Hay tantos honeypots como tipos de software en ejecución, por lo que crear una lista definitiva sería bastante difícil. En esta lista hemos incluido algunas de las herramientas de honeypot más populares.

Si quieres un listado extenso y muy completo de HoneyPots disponible en GitHub:


HoneyPots múltiples (variados)

  • T-Pot se basa en el instalador de red Debian (estable). Los demonios honeypot, así como otros componentes de soporte, están dockerizados. Esto le permite a T-Pot ejecutar múltiples demonios y herramientas de honeypot en la misma interfaz de red mientras mantiene una huella pequeña y restringe cada honeypot dentro de su propio entorno. Pero T-Pot debe cumplir con los requisitos del sistema. La instalación de T-Pot necesita si usas ELKal menos 8 GB de RAM y 128 GB de espacio libre en el disco, así como una conexión a Internet que funcione (saliente no filtrada).
  • FaPro:  FaPro es una herramienta de servidor de protocolo falso, puede iniciar o detener fácilmente múltiples servicios de red. El objetivo es admitir tantos protocolos como sea posible y admitir tantas interacciones profundas como sea posible para cada protocolo: DNS, DCE/RPC, EIP, Elasticsearch, FTP, HTTP, IEC 104, Memcached, Modbus, MQTT, MySQL, RDP, Redis, S7, SMB, SMTP, SNMP, SSH, Telnet, VNC, IMAP, POP3, NTP, RTSP, PORTMAP, PostgreSQL, SIP, SSDP, BACnet, Oracle TNS, AMQP, NFS, COAP, WEMO, DHT, Ethereum, SOCKS5, EOS.IO, ONVIF, NetBIOS, WebLogic, ICAP, MSSQL, LDAP

Honeypots  Escritorio Remoto RDP 3389

  • rdpy: RDPY es una implementación pura de Python del protocolo Microsoft RDP (Remote Desktop Protocol) (lado del cliente y del servidor). RDPY se basa en el motor de red impulsado por eventos Twisted. RDPY admite la capa de seguridad RDP estándar, RDP sobre SSL y autenticación NLA (a través del protocolo de autenticación ntlmv2).
  • OpenCanary:   En esencia, OpenCanary crea un honeypot de red que le permite atrapar a los atacantes antes de que comprometan completamente sus sistemas. Como definición técnica, OpenCanary es un demonio que ejecuta varias versiones de canary de servicios que alerta cuando se usa un servicio (ab). Soporta SNMP, RDP y SAMBA [Opcional] SNMP requiere la biblioteca de Python scapy [Opcional] RDP requiere la biblioteca python rdpy [Opcional] El módulo Samba necesita una instalación funcional de samba

Honeypots SSH


  • Kippo: este honeypot SSH escrito en Python ha sido diseñado para detectar y registrar ataques de fuerza bruta y, lo que es más importante, el historial completo de shell realizado por el atacante. Está disponible para la mayoría de las distribuciones de Linux modernas y ofrece configuración y administración de comandos cli, así como una interfaz basada en web. Kippo ofrece un sistema de archivos falso y la capacidad de ofrecer contenido falso a los atacantes (como archivos de contraseña de usuario, etc.), así como un poderoso sistema de estadísticas llamado Kippo Graph.

  • Cowrie: este honeypot SSH de interacción media funciona emulando una shell. Ofrece un sistema de archivos falso basado en Debian 5.0, lo que le permite agregar y eliminar archivos como desee. Esta aplicación también guarda todos los archivos descargados y cargados en un área segura y en cuarentena, para que pueda realizar análisis posteriores si es necesario. Además del shell emulado SSH, se puede utilizar como proxy SSH y Telnet, y le permite reenviar conexiones SMTP a otro honeypot SMTP. Permite reportar Ip's a Fail2ban


Honeypots HTTP


  • Glastopf: este honeypot basado en HTTP le permite detectar ataques de aplicaciones web de forma eficaz. Escrito en Python, Glastopf puede emular varios tipos de vulnerabilidades, incluida la inserción de archivos local y remota, así como la inyección de SQL (SQLi) y el uso de un sistema de registro centralizado con HPFeeds.
  • Nodepot: este honeypot de aplicación web se centra en Node.js, e incluso te permite ejecutarlo en hardware limitado como Raspberry Pi / Cubietruck. Si está ejecutando una aplicación Node.js y busca obtener información valiosa sobre los ataques entrantes y descubrir qué tan vulnerable es, entonces este es uno de los honeypots más relevantes para usted. Disponible en la mayoría de las distribuciones de Linux modernas, su ejecución depende de unos pocos requisitos.
  • Google Hack Honeypot: comúnmente conocido como GHH, este honeypot emula una aplicación web vulnerable que los rastreadores web pueden indexar, pero permanece oculta a las solicitudes directas del navegador. El enlace transparente utilizado para este propósito reduce los falsos positivos y evita que se detecte el honeypot. Esto le permite probar su aplicación contra los siempre tan populares de Google Dorks. GHH ofrece un archivo de configuración fácil, así como algunas capacidades de registro agradables para obtener información crítica del atacante, como IP, agente de usuario y otros detalles del encabezado.


Honeypots de WordPress


  • Honeypot formidable: este es uno de los honeypots más populares utilizados con Wordpress. Es literalmente invisible para los humanos; solo los bots pueden caer en su trampa, por lo que una vez que un ataque automatizado entre en su formulario, será detectado y evitado de manera efectiva. Es una forma no intrusiva de defender Wordpress contra el spam. Convenientemente, no requiere ninguna configuración. Simplemente active el complemento y se agregará a todos los formularios que use en Wordpress, tanto en la versión gratuita como en la pro.
  • Blackhole for Bad Bots: Este fue creado para evitar que los bots automatizados usen ancho de banda innecesario y otros recursos del servidor de la infraestructura de su sitio. Al configurar este complemento, puede detectar y bloquear bots maliciosos, desde ataques de malware automatizados hasta spam y varios tipos de ataques de adware. Este honeypot de Wordpress funciona agregando un enlace oculto en el pie de página de todas sus páginas. De esta manera, no es detectado por humanos y solo detecta robots malos que no siguen las reglas de robots.txt. Una vez que se detecta un robot defectuoso, se le bloqueará el acceso a su sitio web.
  • Wordpot: este es uno de los honeypots de Wordpress más eficaces que puede utilizar para mejorar la seguridad de Wordpress. Le ayuda a detectar señales maliciosas para complementos, temas y otros archivos comunes que se utilizan para realizar huellas digitales en una instalación de wordpress. Escrito en Python, es fácil de instalar, se puede manejar sin problemas desde la línea de comandos e incluye un archivo wordpot.conf para una fácil configuración de honeypot. También le permite instalar complementos personalizados de Wordpot para que pueda emular vulnerabilidades populares de Wordpress.


Honeypots de base de datos


  • ElasticHoney: con Elasticsearch explotado con tanta frecuencia en la naturaleza, nunca es una mala idea invertir en un honeypot creado específicamente para este tipo de base de datos. Este es un honeypot simple pero efectivo que le permitirá detectar solicitudes maliciosas que intentan explotar las vulnerabilidades de RCE. Funciona al recibir solicitudes de ataque en varios puntos finales populares como /, / _search y / _nodes, y luego responde brindando una respuesta JSON que es idéntica a la instancia vulnerable de Elasticsearch. Todos los registros se guardan en un archivo llamado elastichoney.log. Una de las mejores cosas es que esta herramienta honeypot está disponible para los sistemas operativos Windows y Linux.
  • HoneyMysql: este sencillo honeypot MySQL se crea para proteger sus bases de datos basadas en SQL. Escrito en Python, funciona en la mayoría de las plataformas y se puede instalar fácilmente clonando su repositorio de GitHub.
  • MongoDB-HoneyProxy: uno de los honeypots de MongoDB más populares, se trata específicamente de un proxy honeypot que puede ejecutar y registrar todo el tráfico malicioso en un servidor MongoDB de terceros. Se requieren Node.js, npm, GCC, g ++ y un servidor MongoDB para que este honeypot de MongoDB funcione correctamente. Se puede ejecutar dentro de un contenedor Docker o cualquier otro entorno de VM.


Honeypots de correo electrónico


  • Honeymail: si está buscando una forma de detener los ataques basados ​​en SMTP, esta es la solución perfecta. Escrito en Golang, este honeypot para correo electrónico le permitirá configurar numerosas funciones para detectar y prevenir ataques contra sus servidores SMTP. Sus principales características incluyen: configurar mensajes de respuesta personalizados, habilitar el cifrado StartSSL / TLS, almacenar correos electrónicos en un archivo BoltDB y extraer información del atacante como dominio de origen, país, archivos adjuntos y partes del correo electrónico (HTML o TXT). También proporciona una protección DDoS simple pero potente contra conexiones masivas.
  • Mailoney: Este es un gran honeypot de correo electrónico escrito en Python. Se puede ejecutar en diferentes modos, como open_relay (registrando todos los correos electrónicos que se intentaron enviar), postfix_creds (utilizado para registrar las credenciales de los intentos de inicio de sesión) y schizo_open_relay (que le permite registrar todo).
  • SpamHAT: esta trampa está diseñada para atrapar y evitar que el spam ataque cualquiera de sus buzones de correo electrónico. Para que esto funcione, asegúrese de tener instalado Perl 5.10 o superior, así como algunos módulos CPAN como IO :: Socket, Mail :: MboxParser, LWP :: Simple, LWP :: UserAgent, DBD :: mysql, Digest: : MD5 :: Archivo, además de tener un servidor MySQL en ejecución con una base de datos llamada 'spampot'.


Honeypots de IOT



  • HoneyThing: Creado para Internet de los servicios habilitados para TR-069, este honeypot funciona actuando como un módem / enrutador completo que ejecuta el servidor web RomPager y es compatible con el protocolo TR-069 (CWMP). Este honeypot de IOT es capaz de emular vulnerabilidades populares para Rom-0, Misfortune Cookie, RomPager y más. Ofrece soporte para el protocolo TR-069, incluyendo la mayoría de sus comandos CPE populares, como GetRPCMethods, Get / Set parameter values, Download, etc. A diferencia de otros, este honeypot ofrece una interfaz basada en web fácil y pulida. Finalmente, todos los datos críticos se registran en un archivo llamado honeything.log
  • Kako: la configuración predeterminada ejecutará una serie de simulaciones de servicio para capturar información de ataque de todas las solicitudes entrantes, incluido el cuerpo completo. Incluye servidores Telnet, HTTP y HTTPS. Kako requiere los siguientes paquetes de Python para funcionar correctamente: Click, Boto3, Requests y Cerberus. Una vez que esté cubierto con los paquetes requeridos, puede configurar este honeypot de IOT usando un archivo YAML simple llamado kako.yaml. Todos los datos se registran y se exportan a AWS SNS y al formato JSON de archivo plano.


Otros honeypots


  • Dionaea: este honeypot de baja interacción escrito en C y Python usa la biblioteca Libemu para emular la ejecución de instrucciones Intel x86 y detectar códigos de shell. Además, podemos decir que es un honeypot multiprotocolo que ofrece soporte para protocolos como FTP, HTTP, Memcache, MSSQL, MySQL, SMB, TFTP, UPNP etc. Sus capacidades de registro ofrecen compatibilidad con Fail2Ban, hpfeeds, log_json y log_sqlite.
  •  Miniprint: Dado que las impresoras son algunos de los dispositivos que más se pasan por alto en las redes informáticas, Miniprint es el aliado perfecto cuando necesita detectar y recopilar ataques basados en impresoras. Funciona al exponer la impresora a Internet mediante un sistema de archivos virtual donde los atacantes pueden leer y escribir datos simulados. Miniprint ofrece un mecanismo de registro muy profundo y guarda cualquier trabajo de impresión de postscript o texto plano en un directorio de carga para su posterior análisis.
  • Honeypot-ftp: Escrito en Python, este honeypot FTP ofrece soporte completo para FTP simple y FTPS para que pueda realizar un seguimiento profundo de las credenciales de usuario y contraseña utilizadas en intentos de inicio de sesión ilegales, así como los archivos cargados para cada sesión FTP / FTPS.
  • HoneyNTP: NTP es uno de los protocolos que más se pasa por alto en Internet, y por eso es una buena idea ejecutar un Honeypot NTP. Este es un servidor NTP simulado de Python que se ejecuta sin problemas en los sistemas operativos Windows y Linux. Funciona al registrar todos los paquetes NTP y los números de puerto en una base de datos de Redis para que pueda realizar un análisis posterior.
  • DShield HoneypotDShield Honeypot es un honeypot ligero destinado a imitar un sistema vulnerable para recopilar información sobre amenazas. Luego, estos datos se envían al vasto repositorio de datos de SANS ISC con fines de investigación. Puede funcionar en una RaspBerry Pi

Consejo adicional: no olvide probar MHN, que en realidad no es un honeypot, sino un servidor centralizado para la gestión y la recopilación de datos de honeypot. Incluye muchos de los honeypots que mencionamos aquí, como Glastopf, Dionaea, Cowrie y otros.

HoneyPots en RaspBerry Pi

Honeything, telnet-iot-honeypot, kako y honeeepi



De acuerdo a la documentación existente, honeeepi, es un desarrollo para raspberry pi que se basa en el sistema operativo raspbian personalizado que posee varias honeypots que se pueden utilizar de acuerdo a la necesidad, dentro de las cuales se encuentran:

  • Conpot: Es un honeypot de sistemas de control industrial de baja interactividad, fácil de implementar, modificar y extender, capaz de emular una infraestructura industrial compleja. Cuenta con una interfaz de interacción humana para aumentar la superficie de ataque del honeypot.
  • Dionaea: Es un honeypot diseñado para atrapar el malware que explota las vulnerabilidades publicadas por los servicios de red. El objetivo es obtener una copia del malware. Puede realizar la publicación de servicios como SIP, FTP, TFTP, SMB, bases de datos, entre otros.
  • Glastopf: Es una aplicación web desarrollada en Python que emula vulnerabilidades.
  • Cowrie: Es un honeypot de servicios SSH y Telnet de interacción media para registrar ataques de fuerza bruta y captura la interacción realizada por un atacante.
  • Kippo: Es un honeypot SSH de interacción media que registra ataques de fuerza bruta y proporciona toda la información asociada a la interacción del atacante.
  • Honeyd: Realiza la creación de host virtuales en una red. Estos dispositivos pueden configurarse para que ejecuten ciertos servicios y un sistema operativo determinado.
  • Amun: Es un honeypot desarrollado en python de baja interacción que permite la captura de malware. Emula múltiples vulnerabilidades asociadas a sistemas operativos.

De igual manera, honeeepi, posee algunas herramientas que permiten el estudio del tráfico que se puede detectar a través del sensor:

  • Snort: Es un sistema de detección de intrusos en la red, libre y gratuito. Ofrece capacidad para el almacenamiento de registros en archivos de texto y bases de datos abiertas. Tiene un motor de detección de ataques y escaneo de puertos que permite registrar, alertar y responder ante cualquier tráfico anómalo detectado.
  • Ntop: Es una herramienta que permite la monitorización en tiempo real de una red. Es útil para realizar el control de usuarios y dispositivos que están consumiendo recursos de red en un instante y además puede ayudar a la detección de una mala configuración de los equipos dentro de la misma.
  • Captura remota de paquetes: Proporciona la captura de tráfico remoto y envía los datos de vuelta a un cliente local que envía los comandos apropiados.

También es importante: recuerda, si estás configurando un honeypot en su infraestructura en vivo, estará expuesto a un alto nivel de ataques entrantes; esa es la naturaleza misma de los honeypots. Estarás jugando con fuego. Y no sería la primera vez que nos enteramos de alguien que instaló un honeypot en sus servidores de producción y luego fue hackeado porque los malos inteligentes pudieron suplantar y esconderse detrás del tráfico legal de la red.

Hemos examinado qué es un honeypot, cómo funcionan varios honeypots y los  principales honeypots que puede utilizar en sus medidas de ciberseguridad contra atacantes malintencionados.

Para los nuevos jugadores, instalar y configurar cualquiera de estas herramientas de honeypot es un trabajo fácil, solo recuerda hacerlo en una red de prueba separada de sus sistemas de producción, al menos en sus primeras pruebas hasta que sepa lo que está haciendo.

Honeypot: dionaea

Se recomienda Sistema operativo

  • Ubuntu 18.04 LTS (recomendado) (usado para desarrollo)
  • Debian 10 (recomendado)

Python

  • 3.9 (recomendado)
  • 3.8 (recomendado)
  • 3,7
  • 3.6

Por el momento, no recomendamos usar Ubtuntu 20.04 o Debian 11 porque libemu se ha eliminado del repositorio de paquetes. Siéntase libre de echar un vistazo a Future of shellcode emulation (libemu)? para obtener más información y para ayudar a usar.

Puertos y servicios dionaea

  • Black hole
  • EPMAP
  • FTP -> 21
  • HTTP
  • Memache
  • Mirror
  • MongoDB
  • MQTT
  • MSSQL -> 1433
  • MySQL --> 3306
  • nfq
  • PPTP
  • Printer
  • SIP (VoIP) -> 5060 tcp/udp
  • SDP ->
  • SMB --> puerto 445 tcp
  • TFTP --> 69 udp
  • UPnP

Cowrie: honeypot compatible con servicios como SSH y Telnet

Esta herramienta Cowrie tiene características muy interesantes, como por ejemplo simular un sistema de archivos completo con la posibilidad de crear y borrar archivos, de esta manera, un posible atacante podrá creerse que está en el sistema operativo real, cuando en realidad está dentro del Honeypot. Otra característica interesante es que podremos añadir ficheros falsos para que si por ejemplo el atacante hace un «cat» a un archivo como /etc/passwd se crea que está leyendo todos los usuarios del propio sistema.

Todos los logs son almacenados en un formato UML compatible, de esta manera, podremos estudiar detalladamente todos los pasos que ha realizado un posible atacante. Cowrie también es capaz de guardar archivos descargados de Internet a través de wget o cURL, o también de archivos subidos a través del protocolo SFTP o SCP para posteriormente estudiar a fondo qué son esos archivos que el ciberdelincuente ha intentado colarnos en el sistema. El protocolo SFTP permite tanto la subida de archivos al servidor como también la descarga, los archivos subidos estarán en el directorio «dl/» donde también estarán todos los archivos descargados con wget.

Cowrie está basado en el honeypot Kippo, pero tiene características adicionales que lo hacen mucho más interesante. Por ejemplo, soporta comandos ejecutados a través de SSH (SSH exec), de esta manera, el atacante podrá enviar comandos.

También es capaz de hacer un log de todos los intentos de conexiones TCP que intente realizar. También es capaz de hacer un reenvío de las conexiones SMTP a un honeypot SMTP diseñado para tal fin.

Características

  • Choose to run as an emulated shell (default):
    • Fake filesystem with the ability to add/remove files. A full fake filesystem resembling a Debian 5.0 installation is included
    • Possibility of adding fake file contents so the attacker can cat files such as /etc/passwd. Only minimal file contents are included
    • Cowrie saves files downloaded with wget/curl or uploaded with SFTP and scp for later inspection
  • Or proxy SSH and telnet to another system
    • Run as a pure telnet and ssh proxy with monitoring
    • Or let Cowrie manage a pool of Qemu emualted servers to provide the systems to login to

For both settings:

  • Session logs are stored in an UML Compatible format for easy replay with the bin/playlog utility.
  • SFTP and SCP support for file upload
  • Support for SSH exec commands
  • Logging of direct-tcp connection attempts (ssh proxying)
  • Forward SMTP connections to SMTP Honeypot (e.g. mailoney)
  • JSON logging for easy processing in log management solutions

Cowrie Docker

Docker versions are available.

Requerimientos

Software required:

  • Python 3.6+
  • python-virtualenv

For Python dependencies, see requirements.txt.

Ficheros de configuración

  • etc/cowrie.cfg - Cowrie's configuration file. Default values can be found in etc/cowrie.cfg.dist.
  • share/cowrie/fs.pickle - fake filesystem
  • etc/userdb.txt - credentials to access the honeypot
  • honeyfs/ - file contents for the fake filesystem - feel free to copy a real system here or use bin/fsctl
  • honeyfs/etc/issue.net - pre-login banner
  • honeyfs/etc/motd - post-login banner
  • var/log/cowrie/cowrie.json - transaction output in JSON format
  • var/log/cowrie/cowrie.log - log/debug output
  • var/lib/cowrie/tty/ - session logs, replayable with the bin/playlog utility.
  • var/lib/cowrie/downloads/ - files transferred from the attacker to the honeypot are stored here
  • share/cowrie/txtcmds/ - file contents for simple fake commands
  • bin/createfs - used to create the fake filesystem
  • bin/playlog - utility to replay session logs

Datos compartidos

Cowrie will by default upload data on crashes and Python exceptions to api.cowrie.org. This information is used to improve the honeypot and is not shared with third parties. It can be disabled by setting enabled=false in [output_crashreporter].

Ejemplo integración cowrie con Fail2ban

Añadir fichero configuración cowrie.cfg

# Reports login attempts to AbuseIPDB. A short guide is in the original

# pull request on GitHub: https://github.com/cowrie/cowrie/pull/1346

[output_abuseipdb]

enabled = false

api_key = api_key_de_fail2ban

rereport_after = 12

#tolerance_window is in minutes

tolerance_window = 120

tolerance_attempts = 3

# WARNING: A binary file is read from this directory on start-up. Do not

# change unless you understand the security implications!

dump_path = ${honeypot:state_path}/abuseipdb

Integración con VirusTotal

# VirusTotal output module

# You must signup for an api key.

#

[output_virustotal]

enabled = true

api_key = xxx

upload = True

debug = False

scan_file = True

scan_url = True

rdpy: honeypot RDP  (BlueKeep) CVE-2019–0708

RDPY es una implementación pura de Python del protocolo Microsoft RDP (Remote Desktop Protocol) (lado del cliente y del servidor). RDPY se basa en el motor de red impulsado por eventos Twisted. RDPY admite la capa de seguridad RDP estándar, RDP sobre SSL y autenticación NLA (a través del protocolo de autenticación ntlmv2).

rdpy-rdphoneypot – un RDP honeypot

screen -S rdphoneypot rdpy-rdphoneypot.py -L rdpy-rdphoneypot/rdp.log rdpy-rdphoneypot/win7.rss

Las opciones se explican por sí mismas.

  • -L la ruta del registro;
  • la sesión RDP grabada.

Otras opciones disponibles incluyen

  • -l puerto_escucha por defecto 3389;
  • -k ruta_archivo_clave_privada (obligatorio para SSL);
  • -c ruta_archivo_certificado (obligatorio para SSL). 

$ rdpy-rdphoneypot.py [-l listen_port] [-k private_key_file_path] [-c certificate_file_path] rss_file_path_1 ... rss_file_path_N
root@ns2:~# rdpy-rdphoneypot -h

    Usage:  rdpy-rdphoneypot.py rss_filepath(1..n)
            [-l listen_port default 3389]
            [-k private_key_file_path (mandatory for SSL)]
            [-c certificate_file_path (mandatory for SSL)]


rdpy-rdpscreenshot – saves a screenshot of the RDP login screen to a file

$ rdpy-rdpscreenshot.py [-w width] [-l height] [-o output_file_path] XXX.XXX.XXX.XXX[:3389]

root@ns2:~# rdpy-rdpscreenshot -h

Usage: rdpy-rdpscreenshot [options] ip[:port]

    -w: width of screen default value is 1024

    -l: height of screen default value is 800

    -o: file path of screenshot default(/tmp/rdpy-rdpscreenshot.jpg)

    -t: timeout of connection without any updating order (default is 2s) 


T-Pot

T-Pot es un desarrollo de código abierto que combina honeypots de baja y alta interacción en un único sistema. Su implementación es bastante sencilla (no debería tomar más de 30 minutos en desplegarse) y nos permite emular servicios de red como Android ADB, hardware de red vulnerable como routers, SCADA, SSH, Telnet, DICOM, Elasticsearch, FTP, RDP, HTTP/S, postgreSQL, MSSQL, POP3, SMTP, SMB, entre otros.

Cómo instalar T-Pot, plataforma “Todo en uno” que contiene las siguientes herramientas:

  • adbhoney
  • ciscoasa
  • citrixhoneypot
  • conpot
  • cowrie
  • dionaea
  • elasticpot
  • glutton
  • heralding
  • honeypy
  • honeytrap
  • mailoney
  • medpot
  • rdpy
  • snare
  • tanner

Si bien lo ideal es crear un honeypot personalizado con los mismos servicios que se prestan en nuestra red y nada más, T-Pot es una forma más rápida y sencilla de desplegar un honeypot si no poseemos el tiempo o los recursos para desarrollar uno propio. Además, puede ser configurado de acuerdo con las necesidades específicas de la organización.

Una de las ventajas es que provee una interfaz gráfica para visualizar la información generada de forma sencilla y generación de reportes. Puede ser desplegado tanto en máquinas físicas como virtuales.


Heralding Honeypot

  • (heralding.honeypot) Started Http capability listening on port 80
  • (heralding.honeypot) Started https capability listening on port 443
  • (heralding.honeypot) Started Pop3 capability listening on port 110
  • (heralding.honeypot) Started Imap capability listening on port 143
  • (heralding.honeypot) Started Vnc capability listening on port 5900
  • (heralding.honeypot) Started smtp capability listening on port 25
  • (heralding.honeypot) Started smtps capability listening on port 465
  • (heralding.honeypot) Started ftp capability listening on port 21
  • (heralding.honeypot) Started Imaps capability listening on port 993
  • (heralding.honeypot) Started Pop3S capability listening on port 995
  • (heralding.honeypot) Started PostgreSQL capability listening on port 5432
  • (heralding.honeypot) Started RDP capability listening on port 3389
  • (heralding.honeypot) Started Telnet capability listening on port 23
  • (heralding.honeypot) Started Socks5 capability listening on port 1080
  • (heralding.honeypot) Started SSH capability listening on port 22
  • (heralding.honeypot) Started MySQL capability listening on port 3306



Fuentes:

https://securitytrails.com/blog/top-20-honeypots

No hay comentarios:

Publicar un comentario