Categorías
Techies

Diseñando un gusano (informático)

Hace años en la empresa donde trabajaba me encargaron un trabajo extraoficial al que desempeñaba. “Queremos ver qué tan segura es nuestra red interna sobre todo en cuanto a las contraseñas que utilizan los empleados, ¿puedes montar algo?”

Se me iluminaron los ojos. Aunque mis nociones de seguridad informática no eran las mejores en aquel entonces, sí que sentía mucha curiosidad sobre el tema y me documentaba continuamente. Quizás estaba más al día que muchos de los que sí se dedicaban a ello en aquella empresa. Era el momento de ponerlo en practica.

¿Y por qué hablo de este tema ahora? Porque acabo de encontrar entre mis copias de seguridad antiguas los esquemas iniciales. Y porque me apetece.

A pesar de las faltas ortográficas (se trataba de un borrador solo para mi) la idea era bien simple. Si queréis entender en qué consiste un gusano informático, tras la lectura de este aburrido artículo lo vais a comprender.

Vamos a llamar a la organización, Corporación Umbrella, ya que quiero omitir el nombre de la empresa real por razones obvias.

Lo primero era buscar en Internet. direcciones de correo electrónicos de esa empresa que la gente compartiera de forma pública en la red. Además de las típicas admin@umbrellacorp.com, contacto@umbrellacorp.com, administracion@umbrellacorp.com… se localizó a distintos empleados que publicaban su dirección de empresa en Curriculumns en línea como Infojobs o Linkedin. Incluso en comentarios en blogs indicaban su propio mail de empresa. O en páginas de alquiler de viviendas o compras de segunda mano. No lo recuerdo con claridad pero de un total de 4000 empleados con los que contaba la empresa, pude obtener de Internet unos 30-40 correos electrónicos. La cifra quizás no te parezca alta, pero en términos de seguridad dentro de una empresa lo es. Y mucho.

Anuncio de piso en alquiler con el correo de empresa. Con dos cojones.

Con el listado de correos en mano el siguiente paso era enviar un correo cebo a todos ellos con el gusano adjunto para que lo ejecutaran. Se me ocurrió un clásico: “Por favor, instalad el parche de seguridad indicado lo antes posible.” y pegando un enlace a Google Drive con el exe.

A estas alturas, con que solo uno de ellos intentara instalar el “parche” ya estaría el trabajo cumplido. Pero finalmente lo hicieron casi el 40% de los que recibieron el correo.

Una vez ejecutado les aparecía un mensaje apuntando al curso sobre seguridad informática que todos deberían haber leído, comprendido y puesto en práctica.

Ha hecho el curso de “Contraseñas seguras” 7 veces y su contraseña es abc123

Lo primero que hacía el gusano es borrarse del disco duro para no dejar rastro. De esta manera se quedaba en ejecución solo en la RAM. Sí, como podéis imaginar, con un reinicio bastaría para eliminar el gusano pero para esto había otro plan que explicaré más adelante. Mucha gente no reinicia su equipo de trabajo en semanas… otra mala práctica.

El gusano tenía que realizar varias tareas:

Una de ellas era obtener información desde la máquina. Con systeminfo obtenía el nombre de host con el que registraba el equipo en la base de datos justo a otros datos como el dominio, versión de Windows, parches instalados…

Con net users /domain obtenía una de las más valiosas fuentes de información, el listado de todos los usuarios de la empresa.

Con arp -a obtenía el listado de todas las máquinas.

Con net accounts obtenía la política de bloqueos de usuarios. De esta manera sabía cuantos intentos como máximo podía realizar para no bloquear un usuario y cual era el tiempo de refresco para seguir intentándolo.

El programa contenía una base de datos con un diccionario dinámico de contraseñas clásicas. Esta parte del gusano no estaba muy currada porque tampoco podía meter un diccionario demasiado grande que llenara la RAM del ordenador “infectado”. Con conseguir el acceso a un solo equipo utilizando este método tan sencillo ya me daba más que satisfecho. Pero finalmente pudo acceder a unos 150 equipos, lo que era todo un logro. Obteniendo el acceso con este método, el gusano se replicaba en esta máquina actuando también desde ella.

Para los equipos de la intranet que tuviesen acceso a Internet, el diccionario se iba actualizando en un archivo de Pastebin cifrado que iría replicando a todas las demás máquinas cazadas. Si alguna máquina era reiniciada, el gusano se volvería a replicar desde otro sistema infectado.

El diccionario, que no contenía más de 1000 passwords clásicas, se iba actualizando dinámicamente con un reporte que el propio gusano mandaba a una dirección de correo electrónico externa que posteriormente era tratado con una ETL y un poco de IA. Esta parte es con la que más equipos se vieron comprometidos. A esta dirección se enviaba adjunto todo documento encontrado en el PC que contenían en su nombre de fichero cosas como *contraseñas*, *passwords*, *usuarios*… No os podéis hacer a la idea la de gente que guarda sus contraseñas y las de sus compañeros en el mismo Escritorio. Y no solo eso, incluso información de cuentas personales. Por favor, no lo hagáis. Leed más sobre el tema contraseñas y el cómo almacenarlas con seguridad aquí y aquí.

Con este artículo pretendo que comprendáis cómo funciona un gusano. Imaginaos alguien con malas intenciones lo que puede llegar a hacer. Hay que ser muy cuidadoso en temas de seguridad informática y estar siempre con los ojos bien abiertos y en alerta. Por el sitio menos esperado se pueden colar y comprometer la información de una empresa o la propia.

Gusanos que suben las fotografías, vídeos, documentos personales… a la red. Gusanos que recopilan correos electrónicos y contraseñas para venderlos en el mercado negro. Gusanos que cifran equipos de grandes empresas comprometiendo el negocio. No es algo que solo exista en las películas. Está en nuestro día a día y solo tienes que hacer una búsqueda y encontrarás centenares de noticias recientes al respecto.

Sed cuidadosos.