En el mundo del ciberespacio existe software que busca ser accesible para todo tipo de público, es decir, que el usuario pueda utilizarlo, modificarlo, adaptarlo y distribuirlo para aquello que considere conveniente, sin necesidad de contar algún permiso especial o licencia; a esto se le denomina una herramienta Open Source (Código Abierto por su traducción del inglés).

¿Qué es lo que hace tan valioso a una herramienta Open Source?

Este tipo de herramientas basan su desarrollo en modelos descentralizados y colaborativos, así su dependencia y mejora continua está ligada siempre a la retroalimentación de la comunidad, y no forzosamente a una empresa.

Muchas de estas herramientas pueden ser localizadas en GitHub, en donde miles de usuarios acceden a los repositorios o código fuente y realizan aportes para la mejora de estos proyectos.

Su contraparte son las herramientas propietarias o también llamadas de código cerrado, que están legalmente protegidas por la empresa u organismo que las desarrolla, y limitan su acceso y modificación solo a propietarios del código fuente. Para que el usuario final pueda disponer de estas herramientas tiene que pagar por su uso a través de una suscripción o licencia, pero no tiene la autorización de modificarlas para usos nuevos ni compartirlas con terceros.

¿Existen herramientas Open Source para la ciberseguridad?

Es bastante amplia la variedad de herramientas a las cuales se puede acceder, a continuación, se enlistarán algunas que le pueden ser útiles a cualquier entusiasta de la ciberseguridad:

Noir

Es un detector de superficie de ataque Open Source. 

  • Es multilenguaje y hace uso de varios frameworks que van desde Python, Ruby, JavaScript hasta Django, Spring, Express respectivamente.
  • Actualmente, su implementación es solo para sistemas macOS y basados en Linux.
  • 1.      Puede asignarse automáticamente el lenguaje y el framework del código fuente.
  • 2.      Localiza el API de Endpoints y páginas web mediante análisis de código.
  • 3.      Las salidas que arroja son de datos estructurados como JSON y HAR permitiendo una interacción con otras herramientas.
  • 4.      También maneja formatos de salida tales como texto plano, JSON, curl y httpie.
  • Para más detalles puede visitar su repositorio.
Noir

Ejemplo de una consulta realizada con Noir. Fuente: GitHub.

Associated-Threat-Analyzer

Identifica direcciones IPv4 maliciosas y nombres de dominio asociados con su aplicación web mediante dominios maliciosos locales y listas de IPv4 mediante línea de comandos.

  • Solo está disponible para sistemas basados en Linux.
  • Su uso es sencillo a través de línea de comandos y se respalda de otros proyectos Open Source para su funcionamiento.
  • Se encuentra en su versión 1.0 y puede visitar su repositorio en este enlace.
Associated-Threat-Analyzer

Imagen 2: Captura de pantalla obtenida del repositorio oficial de Associated-Threat-Analyzer. Fuente: GitHub.

DNSWatch

Esta herramienta en Python permite rastrear y analizar el tráfico DNS (Sistema de nombres de dominio) en una red determinada. Escucha las solicitudes y respuestas de DNS y proporciona información sobre la actividad de este.

  • Solo está disponible para sistemas basados en Linux.
  • Entre sus características más relevantes son la inspección detalla de los paquetes que son analizados y el filtrado personalizado de DNS para la IP destino.
  • El desarrollador indica que la finalidad de la herramienta está destinada con fines educativos y de evaluación, por lo que se deslinda de cualquier actividad maliciosa que se pueda realizar con ella.
dnswatch1

Imagen 3: Captura de pantalla obtenida del repositorio oficial de DNSWatch. Fuente: GitHub.

Holehe OSINT

En el ámbito de la ciberinteligencia se encuentra esta herramienta, que comprueba si un correo electrónico es verdadero, y todo lo vinculado con él, en más de 120 plataformas, entre las cuales destacan X (ex Twitter), Instagram, Amazon entre otros.

  • Cuenta con una versión online.
  • De los sitios que tiene registrados hay un límite de consultas, por lo que sugiere el desarrollador cambiar de red o conectarse a una VPN.
  • En el siguiente ejemplo se hizo una prueba de concepto con un teléfono de soporte de Guatemala:
Holehe-Online

Imagen 4: Versión online de Holehe. Fuente: OSINT INDUSTRIES.

Bryobio

Permite optimizar el análisis de captura de red (PCAP) para personal del SOC.

  • Su uso es a través de línea de comandos.
  • Trabaja en sistemas operativos Linux, probados principalmente en Debian y Ubuntu.
  • Entre sus funciones más destacadas están la obtención de correos electrónicos, los puertos más usados y detalles de conexión.
Bryobio
Imagen 5: Captura de pantalla obtenida del repositorio oficial de Bryobio. Fuente: GitHub.

Bashfuscator

Es un framework de ofuscación de Bash modular y extensible programado en Python. Facilita la generación de comandos y scripts Bash altamente ofuscados.

  • Está pensado para que el equipo Red Team determine la capacidad de evasión que un ciberatacante pueda llegar a obtener si las soluciones implementadas en las organizaciones no detectan de comandos ofuscados en Bash para sistemas operativos Linux.
  • En cuanto al equipo de Blue Team, le permitiría generar nuevas políticas de detección de amenazas a partir de las pruebas realizadas por el Red Team.
Bashfuscator

Imagen 6: Captura de pantalla obtenida del repositorio oficial de Bashfuscator. Fuente: GitHub.

MsLDAPDump

Simplifica la enumeración LDAP en un entorno de dominio al empaquetar la biblioteca lpap3 de Python en una interfaz de PowerShell.

  • Entre sus funciones está la exploración de subred para sistemas con los puertos 389 y 636 abiertos, información básica del dominio como permisos actuales de usuario, SID de dominio, política de contraseñas, entre otros.
  • Actualmente, tiene errores en sistemas Unix por lo que su versión estable solo es en Windows.
msLDAPDump

Imagen 7: Ejemplo de la conexión anónima a través de msLDAPDump. Fuente: GitHub.

La importancia de las herramientas Open Source en la ciberseguridad

En el ámbito de la ciberseguridad, las herramientas de código abierto permiten a los profesionales y comunidades utilizarlas, modificarlas, adaptarlas y distribuirlas de acuerdo con sus necesidades, sin dejar de mencionar que, al estar al alcance de todo el público, cualquier vulnerabilidad u optimización del código puede ser identificada y corregida rápidamente. Así que su importancia es clave para promover la innovación y automatización de tareas o procesos de ciberseguridad.