Indescriptiblemente atractivo: cómo creamos un honeypot que no se puede exponer

Indescriptiblemente atractivo: cómo creamos un honeypot que no se puede exponer
Empresas de antivirus, expertos en seguridad de la información y simplemente entusiastas instalan sistemas honeypot en Internet para "detectar" una nueva variante del virus o identificar tácticas inusuales de los piratas informáticos. Los honeypots son tan comunes que los ciberdelincuentes han desarrollado una especie de inmunidad: rápidamente identifican que están frente a una trampa y simplemente la ignoran. Para explorar las tácticas de los hackers modernos, creamos un honeypot realista que vivió en Internet durante siete meses y atrajo una variedad de ataques. Hablamos de cómo sucedió esto en nuestro estudio “Atrapados en el acto: ejecución de un Honeypot de fábrica realista para capturar amenazas reales" Algunos datos del estudio se encuentran en esta publicación.

Desarrollo de Honeypot: lista de verificación

La tarea principal al crear nuestra supertrampa fue evitar que fuéramos expuestos por piratas informáticos que mostraran interés en ella. Esto requirió mucho trabajo:

  1. Cree una leyenda realista sobre la empresa, incluidos nombres completos y fotografías de los empleados, números de teléfono y correos electrónicos.
  2. Idear e implementar un modelo de infraestructura industrial que corresponda a la leyenda sobre las actividades de nuestra empresa.
  3. Decida qué servicios de red serán accesibles desde el exterior, pero no se deje llevar por la apertura de puertos vulnerables para que no parezca una trampa para tontos.
  4. Organice la visibilidad de las fugas de información sobre un sistema vulnerable y distribuya esta información entre posibles atacantes.
  5. Implementar un monitoreo discreto de las actividades de los piratas informáticos en la infraestructura del honeypot.

Y ahora todo en orden.

Creando una leyenda

Los ciberdelincuentes ya están acostumbrados a encontrarse con muchos honeypots, por lo que la parte más avanzada de ellos lleva a cabo una investigación en profundidad de cada sistema vulnerable para asegurarse de que no sea una trampa. Por la misma razón, nos esforzamos en que el honeypot no sólo fuera realista en términos de diseño y aspectos técnicos, sino que también creara la apariencia de una empresa real.

Poniéndonos en la piel de un hipotético hacker genial, desarrollamos un algoritmo de verificación que distinguiría un sistema real de una trampa. Incluía la búsqueda de direcciones IP de empresas en sistemas de reputación, investigación inversa del historial de direcciones IP, búsqueda de nombres y palabras clave relacionadas con la empresa, así como con sus contrapartes, y muchas otras cosas. Como resultado, la leyenda resultó bastante convincente y atractiva.

Decidimos posicionar la fábrica de señuelos como una pequeña boutique de creación de prototipos industriales que trabaja para grandes clientes anónimos en el segmento militar y de aviación. Esto nos liberó de las complicaciones legales asociadas con el uso de una marca existente.

Luego tuvimos que idear una visión, misión y nombre para la organización. Decidimos que nuestra empresa sería una startup con un pequeño número de empleados, cada uno de los cuales sería un fundador. Esto añadió credibilidad a la historia de la naturaleza especializada de nuestro negocio, que le permite manejar proyectos sensibles para clientes grandes e importantes. Queríamos que nuestra empresa pareciera débil desde el punto de vista de la ciberseguridad, pero al mismo tiempo era obvio que estábamos trabajando con activos importantes en los sistemas de destino.

Indescriptiblemente atractivo: cómo creamos un honeypot que no se puede exponer
Captura de pantalla del sitio web del honeypot de MeTech. Fuente: Tendencia Micro

Elegimos la palabra MeTech como nombre de la empresa. El sitio fue creado en base a una plantilla gratuita. Las imágenes fueron tomadas de bancos de fotografías, utilizando las más impopulares y modificándolas para hacerlas menos reconocibles.

Queríamos que la empresa pareciera real, por eso necesitábamos incorporar empleados con habilidades profesionales que coincidieran con el perfil de la actividad. Se les ocurrieron nombres y personalidades y luego intentamos seleccionar imágenes de bancos de fotografías según su origen étnico.

Indescriptiblemente atractivo: cómo creamos un honeypot que no se puede exponer
Captura de pantalla del sitio web del honeypot de MeTech. Fuente: Tendencia Micro

Para evitar que nos descubrieran, buscamos fotos grupales de buena calidad entre las que poder elegir los rostros que necesitábamos. Sin embargo, luego abandonamos esta opción, ya que un potencial hacker podría utilizar la búsqueda inversa de imágenes y descubrir que nuestros “empleados” viven sólo en bancos de fotos. Al final utilizamos fotografías de personas inexistentes creadas mediante redes neuronales.

Los perfiles de los empleados publicados en el sitio contenían información importante sobre sus habilidades técnicas, pero evitamos identificar escuelas o ciudades específicas.
Para crear buzones de correo utilizamos el servidor de un proveedor de hosting y luego alquilamos varios números de teléfono en Estados Unidos y los combinamos en una centralita virtual con un menú de voz y un contestador automático.

Infraestructura de Honeypot

Para evitar la exposición, decidimos utilizar una combinación de hardware industrial real, computadoras físicas y máquinas virtuales seguras. De cara al futuro, diremos que comprobamos el resultado de nuestros esfuerzos utilizando el motor de búsqueda Shodan y demostró que el honeypot parece un sistema industrial real.

Indescriptiblemente atractivo: cómo creamos un honeypot que no se puede exponer
El resultado de escanear un honeypot usando Shodan. Fuente: Tendencia Micro

Usamos cuatro PLC como hardware para nuestra trampa:

  • Siemens S7-1200,
  • dos AllenBradley MicroLogix 1100,
  • Omron CP1L.

Estos PLC fueron seleccionados por su popularidad en el mercado global de sistemas de control. Y cada uno de estos controladores utiliza su propio protocolo, lo que nos permitió comprobar cuáles de los PLC serían atacados con más frecuencia y si, en principio, interesarían a alguien.

Indescriptiblemente atractivo: cómo creamos un honeypot que no se puede exponer
Equipo de nuestra trampa "de fábrica". Fuente: Tendencia Micro

No nos limitamos a instalar hardware y conectarlo a Internet. Programamos cada controlador para realizar tareas, incluyendo

  • mezclando,
  • control de quemadores y cintas transportadoras,
  • paletizado mediante manipulador robótico.

Y para que el proceso de producción fuera realista, programamos lógica para cambiar aleatoriamente los parámetros de retroalimentación, simular el arranque y la parada de motores y el encendido y apagado de los quemadores.

Nuestra fábrica contaba con tres computadoras virtuales y una física. Se utilizaron computadoras virtuales para controlar una planta, un robot paletizador y como estación de trabajo para un ingeniero de software de PLC. La computadora física funcionó como servidor de archivos.

Además de monitorear los ataques a los PLC, queríamos monitorear el estado de los programas cargados en nuestros dispositivos. Para ello, creamos una interfaz que nos permitió determinar rápidamente cómo se modificaban los estados de nuestros actuadores e instalaciones virtuales. Ya en la etapa de planificación, descubrimos que es mucho más fácil implementar esto usando un programa de control que mediante la programación directa de la lógica del controlador. Abrimos el acceso a la interfaz de administración de dispositivos de nuestro honeypot a través de VNC sin contraseña.

Los robots industriales son un componente clave de la fabricación inteligente moderna. En este sentido, decidimos añadir al equipamiento de nuestra fábrica de trampas un robot y un lugar de trabajo automatizado para controlarlo. Para hacer la "fábrica" ​​más realista, instalamos software real en la estación de trabajo de control, que los ingenieros utilizan para programar gráficamente la lógica del robot. Bueno, dado que los robots industriales suelen estar ubicados en una red interna aislada, decidimos dejar el acceso desprotegido vía VNC solo a la estación de trabajo de control.

Indescriptiblemente atractivo: cómo creamos un honeypot que no se puede exponer
Entorno RobotStudio con un modelo 3D de nuestro robot. Fuente: Tendencia Micro

Instalamos el entorno de programación RobotStudio de ABB Robotics en una máquina virtual con una estación de trabajo de control de robot. Una vez configurado RobotStudio, abrimos un archivo de simulación con nuestro robot para que su imagen 3D fuera visible en la pantalla. Como resultado, Shodan y otros motores de búsqueda, al detectar un servidor VNC no seguro, tomarán esta imagen de pantalla y se la mostrarán a quienes buscan robots industriales con acceso abierto al control.

El objetivo de esta atención al detalle era crear un objetivo atractivo y realista para los atacantes que, una vez que lo encontraran, regresarían a él una y otra vez.

Estación de trabajo del ingeniero


Para programar la lógica del PLC, agregamos una computadora de ingeniería a la infraestructura. Se instaló software industrial para programación de PLC:

  • Portal TIA para Siemens,
  • MicroLogix para controlador Allen-Bradley,
  • CX-One para Omron.

Decidimos que no se podría acceder al espacio de trabajo de ingeniería fuera de la red. En su lugar, configuramos la misma contraseña para la cuenta de administrador que en la estación de trabajo de control del robot y en la estación de trabajo de control de fábrica accesible desde Internet. Esta configuración es bastante común en muchas empresas.
Desafortunadamente, a pesar de todos nuestros esfuerzos, ni un solo atacante llegó a la estación de trabajo del ingeniero.

Servidor de archivos

Lo necesitábamos como cebo para los atacantes y como medio para respaldar nuestro propio “trabajo” en la fábrica de señuelos. Esto nos permitió compartir archivos con nuestro honeypot mediante dispositivos USB sin dejar rastro en la red del honeypot. Instalamos Windows 7 Pro como sistema operativo para el servidor de archivos, en el que creamos una carpeta compartida que cualquiera puede leer y escribir.

Al principio no creamos ninguna jerarquía de carpetas y documentos en el servidor de archivos. Sin embargo, más tarde descubrimos que los atacantes estaban estudiando activamente esta carpeta, por lo que decidimos llenarla con varios archivos. Para hacer esto, escribimos un script en Python que creaba un archivo de tamaño aleatorio con una de las extensiones dadas, formando un nombre basado en el diccionario.

Indescriptiblemente atractivo: cómo creamos un honeypot que no se puede exponer
Script para generar nombres de archivos atractivos. Fuente: Tendencia Micro

Después de ejecutar el script, obtuvimos el resultado deseado en forma de una carpeta llena de archivos con nombres muy interesantes.

Indescriptiblemente atractivo: cómo creamos un honeypot que no se puede exponer
El resultado del guión. Fuente: Tendencia Micro

Entorno de monitoreo


Después de haber dedicado tanto esfuerzo a crear una empresa realista, simplemente no podíamos darnos el lujo de fallar en el entorno para monitorear a nuestros "visitantes". Necesitábamos obtener todos los datos en tiempo real sin que los atacantes se dieran cuenta de que estaban siendo observados.

Implementamos esto usando cuatro adaptadores USB a Ethernet, cuatro grifos SharkTap Ethernet, una Raspberry Pi 3 y una unidad externa grande. Nuestro diagrama de red se veía así:

Indescriptiblemente atractivo: cómo creamos un honeypot que no se puede exponer
Diagrama de red Honeypot con equipo de monitoreo. Fuente: Tendencia Micro

Colocamos tres grifos SharkTap para monitorear todo el tráfico externo al PLC, accesible solo desde la red interna. El cuarto SharkTap monitoreó el tráfico de invitados de una máquina virtual vulnerable.

Indescriptiblemente atractivo: cómo creamos un honeypot que no se puede exponer
Grifo Ethernet SharkTap y enrutador Sierra Wireless AirLink RV50. Fuente: Tendencia Micro

Raspberry Pi realizó captura de tráfico diaria. Nos conectamos a Internet mediante un enrutador celular Sierra Wireless AirLink RV50, que se utiliza a menudo en empresas industriales.

Desafortunadamente, este enrutador no nos permitió bloquear selectivamente ataques que no coincidían con nuestros planes, por lo que agregamos un firewall Cisco ASA 5505 a la red en modo transparente para realizar el bloqueo con un impacto mínimo en la red.

Análisis de tráfico


Tshark y tcpdump son apropiados para resolver rápidamente problemas actuales, pero en nuestro caso sus capacidades no fueron suficientes, ya que teníamos muchos gigabytes de tráfico, que fueron analizados por varias personas. Utilizamos el analizador Moloch de código abierto desarrollado por AOL. Es comparable en funcionalidad a Wireshark, pero tiene más capacidades de colaboración, descripción y etiquetado de paquetes, exportación y otras tareas.

Como no queríamos procesar los datos recopilados en computadoras honeypot, los volcados de PCAP se exportaban todos los días al almacenamiento de AWS, desde donde ya los importamos a la máquina Moloch.

Grabación de pantalla

Para documentar las acciones de los piratas informáticos en nuestro honeypot, escribimos un script que tomaba capturas de pantalla de la máquina virtual en un intervalo determinado y, comparándolas con la captura de pantalla anterior, determinaba si algo estaba sucediendo allí o no. Cuando se detectó actividad, el script incluía grabación de pantalla. Este enfoque resultó ser el más eficaz. También intentamos analizar el tráfico VNC desde un volcado PCAP para comprender qué cambios se habían producido en el sistema, pero al final la grabación de pantalla que implementamos resultó ser más sencilla y visual.

Monitoreo de sesiones VNC


Para ello utilizamos Chaosreader y VNCLogger. Ambas utilidades extraen pulsaciones de teclas de un volcado de PCAP, pero VNCLogger maneja teclas como Retroceso, Intro y Ctrl de forma más correcta.

VNCLogger tiene dos desventajas. Primero: solo puede extraer claves "escuchando" el tráfico en la interfaz, por lo que tuvimos que simular una sesión VNC usando tcpreplay. La segunda desventaja de VNCLogger es común con Chaosreader: ambos no muestran el contenido del portapapeles. Para hacer esto tuve que usar Wireshark.

Atraemos a los hackers


Creamos honeypot para ser atacados. Para lograrlo, organizamos una filtración de información para atraer la atención de posibles atacantes. Se abrieron los siguientes puertos en honeypot:

Indescriptiblemente atractivo: cómo creamos un honeypot que no se puede exponer

El puerto RDP tuvo que cerrarse poco después de nuestra entrada en funcionamiento porque la enorme cantidad de tráfico de escaneo en nuestra red estaba causando problemas de rendimiento.
Los terminales VNC primero funcionaron en modo de solo visualización sin contraseña y luego, "por error", los cambiamos al modo de acceso completo.

Para atraer a los atacantes, publicamos dos publicaciones con información filtrada sobre el sistema industrial disponible en PasteBin.

Indescriptiblemente atractivo: cómo creamos un honeypot que no se puede exponer
Una de las publicaciones publicadas en PasteBin para atraer ataques. Fuente: Tendencia Micro

Ataques


Honeypot vivió en línea durante unos siete meses. El primer ataque ocurrió un mes después de que el honeypot estuviera en línea.

Escáneres

Hubo mucho tráfico de escáneres de empresas conocidas: ip-ip, Rapid, Shadow Server, Shodan, ZoomEye y otras. Había tantos que tuvimos que excluir sus direcciones IP del análisis: 610 de 9452 o el 6,45% de todas las direcciones IP únicas pertenecían a escáneres completamente legítimos.

Estafadores

Uno de los mayores riesgos que hemos enfrentado es el uso de nuestro sistema con fines delictivos: comprar teléfonos inteligentes a través de la cuenta de un suscriptor, retirar millas aéreas mediante tarjetas de regalo y otros tipos de fraude.

mineros

Uno de los primeros visitantes de nuestro sistema resultó ser un minero. Descargó el software de minería Monero. No habría podido ganar mucho dinero con nuestro sistema particular debido a la baja productividad. Sin embargo, si combinamos los esfuerzos de varias docenas o incluso cientos de sistemas de este tipo, el resultado podría ser bastante bueno.

Secuestro de datos

Durante el trabajo de Honeypot, nos encontramos dos veces con virus ransomware reales. En el primer caso fue Crysis. Sus operadores iniciaron sesión en el sistema a través de VNC, pero luego instalaron TeamViewer y lo utilizaron para realizar otras acciones. Después de esperar un mensaje de extorsión exigiendo un rescate de $10 en BTC, entablamos correspondencia con los delincuentes, pidiéndoles que descifraran uno de los archivos por nosotros. Cumplieron con la solicitud y repitieron la exigencia de rescate. Logramos negociar hasta 6 mil dólares, luego de lo cual simplemente volvimos a cargar el sistema en una máquina virtual, ya que recibimos toda la información necesaria.

El segundo ransomware resultó ser Phobos. El hacker que lo instaló pasó una hora explorando el sistema de archivos del honeypot y escaneando la red, y finalmente instaló el ransomware.
El tercer ataque de ransomware resultó ser falso. Un "hacker" desconocido descargó el archivo haha.bat en nuestro sistema, después de lo cual observamos durante un rato cómo intentaba hacerlo funcionar. Uno de los intentos fue cambiar el nombre de haha.bat a haha.rnsmwr.

Indescriptiblemente atractivo: cómo creamos un honeypot que no se puede exponer
El "hacker" aumenta la nocividad del archivo bat cambiando su extensión a .rnsmwr. Fuente: Tendencia Micro

Cuando el archivo por lotes finalmente comenzó a ejecutarse, el “hacker” lo editó, aumentando el rescate de $200 a $750. Después de eso, “cifró” todos los archivos, dejó un mensaje de extorsión en el escritorio y desapareció, cambiando las contraseñas de nuestro VNC.

Un par de días después, el hacker regresó y, para recordarlo, lanzó un archivo por lotes que abrió muchas ventanas con un sitio porno. Al parecer, de esta forma intentó llamar la atención sobre su demanda.

resultados


Durante el estudio, resultó que tan pronto como se publicó información sobre la vulnerabilidad, el honeypot llamó la atención y la actividad creció día a día. Para que la trampa llamara la atención, nuestra empresa ficticia tuvo que sufrir múltiples violaciones de seguridad. Desafortunadamente, esta situación no es nada infrecuente entre muchas empresas reales que no cuentan con empleados de TI y seguridad de la información a tiempo completo.

En general, las organizaciones deberían utilizar el principio de privilegio mínimo, mientras que nosotros implementamos exactamente lo contrario para atraer atacantes. Y cuanto más observábamos los ataques, más sofisticados se volvían en comparación con los métodos de prueba de penetración estándar.

Y lo más importante: todos estos ataques habrían fracasado si se hubieran implementado las medidas de seguridad adecuadas al configurar la red. Las organizaciones deben asegurarse de que sus equipos y componentes de infraestructura industrial no sean accesibles desde Internet, como lo hicimos específicamente en nuestra trampa.

Aunque no hemos registrado ni un solo ataque a la estación de trabajo de un ingeniero, a pesar de utilizar la misma contraseña de administrador local en todos los equipos, esta práctica debe evitarse para minimizar la posibilidad de intrusiones. Al fin y al cabo, una seguridad débil sirve como una invitación adicional a atacar los sistemas industriales, que desde hace mucho tiempo interesan a los ciberdelincuentes.

Fuente: habr.com

Añadir un comentario