Fiabilidad

Las 5 mejores herramientas de seguridad gratuitas

Resumen

La ciberseguridad es vital, pero las limitaciones presupuestarias pueden suponer un reto. Afortunadamente, el uso de herramientas de ciberseguridad gratuitas y de código abierto puede mejorar significativamente la protección de su red. El software de código abierto ofrece transparencia, permitiendo a los usuarios revisar y modificar el código fuente. Aunque no garantiza un software libre de errores, fomenta una rápida detección y corrección de los mismos.

Por muy importante que sea, la ciberseguridad sigue estando limitada por el presupuesto.

Afortunadamente, existen algunas fantásticas herramientas gratuitas que puede añadir a su arsenal de ciberseguridad para ayudarle a proteger su red.

Software gratuito y de código abierto

¿Software gratuito? Suena muy bien, pero ¿se puede confiar en él?

Si es de código abierto, sí. El código abierto es una forma de desarrollar software que ofrece transparencia a los usuarios finales. Puedes obtener el código fuente que compone la aplicación y revisarlo. Puedes verificar por sí mismos que no se está haciendo nada siniestro o furtivo con sus datos.

Además de revisar el código fuente, los usuarios pueden modificarlo -si son programadores- para corregir errores o añadir nuevas funciones. Los cambios se envían a los responsables del producto. Si a éstos les gustan, se incorporarán al producto.

Esto beneficia tanto a los usuarios de la aplicación de código abierto -conocidos como la comunidad- como a los desarrolladores de los productos. Cuantos más ojos revisen el código, mejor.

Como dijo Linus Torvalds, jefe de mantenimiento del kernel de Linux, “…con suficientes ojos, todos los errores son superficiales”.

Aunque el código abierto no es infalible

Eso no significa que el software de código abierto no pueda tener errores. Todos los grandes proyectos de software contienen errores. Pero lo que sí significa es que cuando se descubren fallos, se caracterizan rápidamente y se solucionan con celeridad, y las correcciones están pronto disponibles en forma de parches.

Si necesita las correcciones de inmediato porque son críticas para usted, puedes descargar el código fuente en cuanto se hayan añadido. A continuación, puedes compilar el código y crear una versión para ti con la corrección, de modo que no tengas que esperar a que se lance la versión oficial.

Todas las aplicaciones que vamos a ver en este artículo son de código abierto. Algunas de ellas son los estándares de facto en sus campos. Esto es un testimonio de la dedicación de las comunidades, los mantenedores y los jefes de proyecto que hay detrás de estas aplicaciones. Hay muchas más herramientas de código abierto que puedes utilizar para mejorar tu postura de ciberseguridad y ayudarte en la gestión y el refuerzo de tu red.

Estas son sólo las cinco a las que yo recurro una y otra vez.

Nmap: Herramienta de mapeo de red

Saber qué está conectado a tu red es un requisito fundamental para planificar tu calendario de parches y actualizaciones, saber qué tienes que proteger y qué dispositivos pueden estar poniéndote en peligro.

El mapeador de red nmap es una potente herramienta de exploración y generación de informes. Detecta qué dispositivos están conectados a su red y, a continuación, los analiza en busca de información, como el tipo y la versión del sistema operativo, los puertos abiertos, la dirección IP y mucho más. También detectará e informará sobre los dispositivos conectados a través de Wi-Fi.

Es una aplicación multiplataforma con versiones disponibles para Linux, Windows y Mac. Instalarla es fácil. Este sencillo programa lo instalará en Ubuntu:

sudo apt install nmap
Captura de pantalla. Techopedia

Una vez que lo tengas instalado, utiliza la opción de línea de comandos -h (help) para ver el resumen de ayuda o utiliza man nmap para leer la página del manual. Las opciones que usamos en este ejemplo son:

-T4: Escaneo minucioso (agresivo)

-A: Para detección de SO y versión, escaneo de scripts e información de traceroute

-v: Verbose output

Dado que nmap genera mucha salida, te resultará conveniente redirigir la salida a un archivo que pueda revisar cuando el escaneo haya finalizado.

Este comando le dice a nmap que escanee una red completa. Utiliza la notación de enrutamiento entre dominios sin clases (CIDR). El “/24” representa la máscara de subred. Indica cuántos bits contiguos están a uno en la máscara de subred. El valor 24 significa 3 conjuntos de 8 bits. 8 bits todos puestos a 1 representan 255 en binario, por lo que esta máscara de subred es 255.255.255.0.

nmap -T4 -A -v 192.168.1.0/24 > scan.txt
Captura de pantalla. Techopedia

Puede revisar los resultados del escaneo utilizando el comando less:

less scan.txt
Captura de pantalla. Techopedia

Desplácese por los resultados del análisis para ver los detalles que se han descubierto para cada dispositivo. Esto es lo que nmap tiene que decir sobre el dispositivo con dirección IP 192.168.1.15. Se han detectado cuatro puertos abiertos.

Captura de pantalla. Techopedia

Si se puede determinar el propósito del puerto, se le dice para qué se está utilizando. Si nmap no puede estar seguro, sugiere un posible uso para el puerto. Cualquier cosa inexplicable o sospechosa justificará una investigación más profunda.

Puedes considerar usar el escaneo -T5 (el más exhaustivo) directamente en esa única dirección IP. Cuanto más exhaustivos sean los escaneos, más tiempo tardarán. La documentación de nmap dice que -T5 es el modo loco, así que espere un poco.

Wireshark: Captura y análisis de paquetes

La herramienta nmap te dice rápidamente qué está conectado a tu red y te da tanta información sobre cada dispositivo como puede. Pero para ver qué tráfico de red se está moviendo por tu red y entre tus dispositivos, necesitas una herramienta de captura y análisis de paquetes, comúnmente conocida como packet sniffer. Wireshark hace precisamente eso.

Wireshark es multiplataforma y está disponible para Windows, Linux y Mac. Para instalar Wireshark en Ubuntu, utilice este comando:

sudo apt install wireshark
Captura de pantalla. Techopedia

Se le preguntará si desea tener la captura de paquetes habilitada para usuarios normales, no root. Si lo configuras para que necesites ser root para ejecutar Wireshark, estarás ejecutando el código base de Wireshark con privilegios elevados. Si decides permitir que los usuarios no root puedan utilizar Wireshark, pueden capturar parte del tráfico de red que preferirías que fuera privado. Por lo general, lo instalo de modo que necesites ser root para capturar el tráfico de red.

Cuando veas la siguiente pantalla, pulsa “Tab” para resaltar el “botón” y pulsa la barra espaciadora. Selecciona la opción que desees.

Captura de pantalla. Techopedia

Una vez finalizada la instalación, puede iniciar Wireshark con este comando:

sudo wireshark
Captura de pantalla. Techopedia

Se enumeran las interfaces de red disponibles en las que puede capturar tráfico. Haga doble clic en una interfaz para empezar a capturar paquetes.

Captura de pantalla. Techopedia

Wireshark comenzará a capturar el tráfico de red en la interfaz de red seleccionada. La pantalla cambia para mostrar tres paneles. El tráfico se muestra en el panel superior.

Para ver los detalles de un paquete, resáltelo en el panel superior. La información de bajo nivel sobre el paquete se muestra en el panel central y en los paneles inferiores. El panel central tiene una vista de árbol plegable de valores legibles. El panel inferior muestra los datos sin procesar del paquete en hexadecimal y ASCII.

En la captura de pantalla se ve apretado, pero cuando se extiende por todo un monitor, es una vista intuitiva y rica en información.

Captura de pantalla. Techopedia

Gran parte de la potencia de Wireshark reside en su funcionalidad de filtrado. Puedes crear filtros para limitar lo que se captura y para filtrar lo que se muestra. Normalmente es mejor capturar todo – sin filtro – y filtrar la información mostrada durante la fase de análisis. Si filtras durante la fase de captura, podrías filtrar inadvertidamente un paquete o secuencia de paquetes que realmente deberían haber sido capturados.

He aquí algunos ejemplos de filtros.

Para seleccionar paquetes con 192.168.1.15 como dirección de origen o destino:

ip.addr == 192.168.1.15

Para seleccionar paquetes con 192.168.1.15 como dirección IP de origen:

ip.src == 192.168.1.15

Para seleccionar paquetes con 192.168.1.15 como dirección IP de destino.

ip.dest == 192.168.1.15

Para seleccionar los paquetes de una conversación entre dos direcciones IP:

ip.addr==192.168.1.15 && ip.addr==192.168.1.24

Para visualizar todos los paquetes HTTP y DNS:

http or dns

Para seleccionar paquetes TCP con 4000 como puerto de origen o destino:

tcp.port==4000

Para visualizar todas las solicitudes HTTP GET:

http.request

Para encontrar todos los paquetes TCP que contengan la palabra techopedia:

tcp contains techopedia

Osquery: Descubra el estado de ordenadores y servidores

La aplicación osquery le permite hacer preguntas sobre el estado de sus ordenadores y servidores utilizando sencillas sentencias SQL. Está disponible para ordenadores Windows, Linux y Mac.

Para instalarla en Ubuntu, vaya a la página de descarga de osquery y descargue el archivo de paquete “.deb”. Cambie al directorio del archivo descargado e instale osquery con estos comandos. Sustituye el nombre del archivo descargado por el utilizado en el ejemplo.

sudo dpkg -i osquery_4.6.0-1.linux_amd64.deb
Captura de pantalla. Techopedia

Inicie osquery en modo interactivo con este comando (observe la “i” al final de osqueryi.)

osqueryi
Captura de pantalla. Techopedia

Se abre el intérprete de comandos interactivo osquery. Escriba comandos SQL en el indicador “osquery” y termínelos con un punto y coma (;), y pulse “Intro” para que se ejecuten.

Los comandos que desea enviar al shell, como “salir”, van precedidos de un punto “.” y se denominan comandos de punto. Así que el comando para salir del shell es “.quit” seguido de “Enter”. Sólo recuerde que los comandos SQL requieren su punto y coma final habitual, los comandos de punto no.

Para ver la lista de tablas, utilice el comando .tables, y para ver los campos de una tabla, utilice el comando .schema.

Captura de pantalla. Techopedia

Ahora que conoce los nombres de los campos de la tabla, podemos crear una sentencia SQL y ejecutarla:

select username from users where length(username)=4;
Captura de pantalla. Techopedia

Como ejemplo de consulta relacionada con la seguridad, la tabla suid_bin contiene detalles de las aplicaciones que tienen uno o ambos bits SUID y GUID activados. Esto permite a los usuarios normales ejecutar aplicaciones con privilegios elevados.

A veces, los actores de amenazas se aprovechan de esto y lo utilizan para escalar los privilegios del malware y ocultar puertas traseras. Mantener bajo observación los binarios con SUID y GUID es una buena práctica.

select path, permissions from suid_bin;
Captura de pantalla. Techopedia

Nikto: Web Site Vulnerability Scanner

No nos olvidemos de los sitios web y portales corporativos. Nikto los escaneará en busca de muchos tipos de vulnerabilidades. Los autores afirman que

  • Comprobará si hay 6700 archivos o programas potencialmente peligrosos.
  • Comprobará si hay versiones obsoletas en más de 1250 servidores.
  • Comprobará si hay problemas específicos de versión en más de 270 servidores.

Instalar nikto es fácil. En Ubuntu, utilice este comando:

sudo apt install nikto;
Captura de pantalla. Techopedia

Ejecutaremos nikto contra un sitio web de prueba que fue diseñado con vulnerabilidades incorporadas para que pueda practicar el escaneo. Tenga en cuenta que un escaneo de nikto puede tardar un poco-40 o más minutos no es raro-es un proceso muy minucioso.

Le diremos a nikto qué servidor web escanear utilizando la opción -h (host). También utilizaremos la opción -o (output) para especificar un nombre de archivo para nuestro informe. Nikto deducirá a partir de la extensión del nombre de archivo en qué formato queremos que se cree el informe. Los formatos reconocidos son CSV, HTML, TXT y XML.

nikto -h https://www.webscantest.com/ -o report.html
Captura de pantalla. Techopedia

Aunque hemos pedido que se cree un informe, seguimos recibiendo salida en la ventana del terminal a medida que avanza la exploración. Esto verifica que el proceso está en curso y no se ha detenido por completo.

Captura de pantalla. Techopedia

Cuando termine el escaneado, vaya a la ubicación donde se ha guardado el informe y haga doble clic en el archivo “report.html”. El informe se abrirá en su navegador.

Captura de pantalla. Techopedia

Kali Linux: Todo, incluido el fregadero de la cocina

Si quieres ir a por todas en herramientas para poner a prueba su seguridad, dar Kali Linux una vuelta. Se trata de una distribución de Linux diseñada desde cero para realizar pruebas de penetración. Contiene numerosas herramientas que le permiten sondear sus defensas exactamente de la misma forma que lo hacen los actores de las amenazas.

Desgraciadamente, estas herramientas pueden usarse tanto para el bien como para el mal, así que también son las favoritas de los malos. Aún así, esa es una razón más para familiarizarse con ellas uno mismo -o alguien dentro de nuestra organización- para poder identificar vulnerabilidades en nuestra red y sitio web y taparlas.

La forma más sencilla de utilizar Kali Linux es descargar una ISO e instalarla como máquina virtual en un hipervisor como VirtualBox.

Wireshark, Nikto y nmap están precargados junto con casi cualquier otra herramienta de reconocimiento, ataque y explotación que se te ocurra. Toda la molestia de identificar qué herramientas recopilar y añadir a su arsenal y luego localizarlas e instalarlas se hace por usted.

Algunas herramientas y marcos notables que se incluyen en Kali Linux son:

  • El Framework Metasploit: Un conjunto de herramientas para identificar y explotar vulnerabilidades. Basado en una base de datos de más de 140.000 vulnerabilidades comunes y más de 3.000 exploits (CVEs). Se trata de una oferta gratuita y de código abierto de Rapid7, que también tiene ofertas comerciales con soporte profesional.
  • Burp Suite: Una herramienta de pruebas de penetración diseñada para aplicaciones basadas en web y problemas generales de seguridad de sitios web. También es la versión de código abierto de un producto comercial.
  • The Social Engineering Toolkit: Un conjunto de herramientas que permiten realizar ataques de ingeniería social, como phishing y spear-phishing. Se proporciona para realizar pruebas de susceptibilidad contra tu propio personal, pero puedes ver el arma de doble filo de que este software sea tan fácil de adquirir.

Kali es una distribución basada en Debian. Por defecto, utiliza el entorno de escritorio XFCE. Incluso en una máquina virtual, deberías encontrarlo receptivo, ágil y bien diseñado.

El menú principal del sistema le da las categorías de primer nivel de software y herramientas en las que puede profundizar.

Captura de pantalla. Techopedia

Kali es una distribución basada en Debian. Por defecto, utiliza el entorno de escritorio XFCE. Incluso en una máquina virtual, deberías encontrarlo sensible, ágil y bien diseñado.

Marshall Gunnell
Editor

Marshall es un experimentado escritor técnico y entusiasta de los videojuegos con sede en Tokio. Es un profesional en el arte de las palabras con cientos de artículos destacados en VGKAMI, Business Insider, How-To Geek, PCWorld, Zapier, y mucho más. Sus escritos han llegado a una audiencia masiva de más de 70 millones de lectores.