Las 25 mejores herramientas de Kali Linux (parte 2)

Continuando con el post anterior, en el que ya describimos, las 15 primeras herramientas del sistema Kali Linux, en éste, veremos las 10 que nos quedan pero no por ello menos importantes.

Siguiendo con la metodología utilizada: Reconocimiento, Escaneo, Explotación y Post-explotación, a continuación continuaremos explicando qué herramientas son mas utilizadas para la auditoria de bases de datos.


EVALUACIÓN DE LA BASE DE DATOS (Database Assessment)

En todo arsenal de herramientas de un hacker ético debe figurar, al menos, una de las siguientes que explicaremos a continuación, pues la evaluación, de las mismas, nos puede brindar un nuevo vector de ataque, o vulnerabilidad en la base de datos que no habíamos sospechado.

10.SQLMap

sql map

Sqlmap es una herramienta de auditoría de bases de datos a la que debemos proporcionar una url con el parámetro -u, para que evalúe distintos tipos de vulnerabilidades para bases de datos como: MySQL, PostgreeSQL, Microsoft SQL Server, Oracle, y alguna mas…

Los que prueba principalmente la herramienta es inyectar el parámetro que le pasamos en la url para obtener acceso a los datos.

Podemos también incrementar el número de test o pruebas que realiza con el modificador --level=LEVELcon un rango de 1–5 así como el --risk=RISK que corresponde al riesgo, también comprendido en un rango, en éste caso entre 1 y 3, siendo 1 en ambos casos por defecto.


ATAQUES A CONTRASEÑAS (Password Attacks)

En éste apartado estudiaremos algunas de las diferentes formas de realizar ataques a contraseñas, de las cuales caben destacar dos tipos: activos y pasivos.

Un ataque de tipo activo sería por ejemplo, tratar de averiguar la contraseña suponiendo que la misma carece de mucha complejidad. Esto que a priori puede parecer una tontería, se basa en el factor humano involucrado y sólo funcionaría (con suerte) con contraseñas débiles.

Sin embargo en éste artículo nos centraremos mas en el otro tipo de ataque, los ataques pasivos, que en principio son indetectables por el usuario.

Una forma de hacerlo sería por ejemplo haciendo un sniffing de la red y capturando la contraseña cuando el usuario haga un log-in, aunque por lo general las contraseñas de usuario son hasheadas o encriptadas cuando se envían por la red para impedir el uso no autorizado de las mismas, existen también herramientas capaces de romper algunos algoritmos de cifrado.

Existen mas ataques pasivos, como el conocido Man in the middle o ataques de repetición por ejemplo pero para no extenderme demasiado pasaremos directamente a analizar algunas herramientas:

9. Hash identifier and findmyhash (Buscando e identificando hashes)

Hash identifier es un software de la suite de Kali Linux que nos permite identificar distintos tipos de hashes utilizados para encriptar datos, y más concretamente contraseñas.

Es útil a la hora de determinar cual es el tipo de cifrado que se ha utilizado en un hash en concreto, y cuando lo averiguamos entra en juego la otra herramienta mencionada: findmyhash

Find my hash

Findmyhash es una herramienta que intenta “romper” o descifrar en éste caso mediante servicios on-line y admite todos éstos tipos de cifrado:

MD2, MD4, MD5, SHA1, SHA224, SHA256, SHA384, SHA512, RIPEMD128, RIPEMD160, RIPEMD256, RIPEMD320, LM, NTLM, MYSQL, CISCO7, JUNIPER, GOST, WHIRLPOOL, SNEFRU, SNEFRU256, LDAP_MD5, LDAP_SHA1.

Se pueden consultar también en su repositorio de github qué servicios on-line son los que consulta, aunque en la propia ejecución de la herramienta nos los va mostrando por pantalla, como puede apreciarse en la captura.

8. Crunch (Wordlist Generator)

creando wordlist con Crunch

Ésta herramienta es un generador de listas de palabras, o como se conocen en el mundillo (Wordlist generator) muy útil ya que nos permite utilizar, no solo un conjunto de caracteres estándar, si no también un conjunto específico de palabras o caracteres personalizado, para generar todas las combinaciones y permutaciones posibles.

En la nueva versión ya admite números y símbolos y es capaz de “parar” el trabajo y reanudarlo, según un número de líneas determinado, o por el tamaño del archivo, ésta última versión también soporta caracteres Unicode.

7. John The Ripper (Password Cracking Software)

Jhon destripando una pass local

John el destripador, es un software libre, de cracking de contraseñas mediante el cual podemos auditar la seguridad de contraseñas de todo tipo, tanto en Windows como en sistemas Linux/Unix. Fue diseñado para disponer de múltiples funciones y ser rápido al mismo tiempo. Combina varios modos de cracking en un mismo programa y es completamente configurable para las necesidades de cada momento (incluso podemos definir nuestro propio modo de cracking personalizado utilizando el compilador incorporado que admite un subconjunto de C), así como otro montón de configuraciones adicionales que pueden consultarse en su web oficial.

En dicha web: Open Wall posee, además una colección de palabras, también conocidas como diccionarios. Por si aplicaciones como Crunch (antes mencionada (9)) se nos quedan cortas, tenemos ésta colección de listas de palabras que es el resultado de procesar muchos cientos de archivos de listas de palabras de dominio público de múltiples fuentes y en una gran variedad de formatos de archivo.
En dicha colección se incluyen listas de palabras para más de 20 idiomas humanos y listas de contraseñas comunes. Los idiomas incluidos son: afrikáans, croata, checo, danés, holandés, inglés, finlandés, francés, alemán, húngaro, italiano, japonés, latín, noruego, polaco, ruso, español, swahili, sueco, turco y yiddish. También hay una lista de contraseñas comunes y palabras únicas para todos los idiomas combinados en un archivo (más de 40 MB para casi 4 millones de entradas).
Incluido solo en la versión completa y no disponible en la versión gratuita de la colección, hay una enorme lista de todas las contraseñas y palabras comunes de todos los idiomas con reglas de manipulación de palabras aplicadas (para formar otras contraseñas probables, como agregar mayúsculas o minúsculas), dígitos a las palabras y cualquier duplicado purgado. Esta lista de palabras se proporciona como un archivo de texto único. Su tamaño es de casi 500 MB y tiene más de 40 millones de entradas.
Para todas las listas de palabras, las entradas se ordenan alfabéticamente o para contraseñas / palabras / idiomas más comunes a menos comunes con orden alfabético dentro de cada sección (para contraseñas o palabras igualmente comunes, o para idiomas individuales), y no hay ninguna palabra duplicada.

6. THC Hydra (Online Password Cracking Service)

forzando un formulario con Hydra

Otra alternativa que existe respecto a Johny es Hydra, que también es un cracker de contraseñas pero varía un poco en las funcionalidades específicas de la aplicación, ya que Hydra a diferencia de John the ripper no sólo posee ataques de diccionario, sino que también permite realizar Phishing haciéndonos pasar así por una entidad confiable, así como ataques de fuerza bruta.

Es interesante, respecto a los diccionarios y las listas de palabras que antes mencionaba, combinar ésta herramienta con otras como crunch (9) para especificar más concretamente las palabras o términos que queremos combinar.

Cabe destacar que cuanto más grandes sean los diccionarios utilizados más tiempo nos llevará dar con las credenciales.


ATAQUES WIRELESS (Wireless Attacks)

Respecto a la seguridad de las redes inalámbricas, vamos a repasar también algunas de las herramientas mas frecuentes o conocidas para detectar accesos no autorizados y configuraciones que pueden ser vulnerables o erróneas.

Utilizaremos dichas herramientas para determinar el grado de seguridad de nuestras redes wireless.

Como preámbulo, conviene repasar cuales son los protocolos básicos de seguridad que utilizan las redes inalámbricas así como sus principales diferencias: WEP, WPA y WPA2.

WEP (Wired Equivalent Privacy)

WEP fué desarrollado para redes inámbricas y aprobado como estándar de seguridad Wi-Fi en septiembre del 1999. Se elaboró para proporcionar el mismo nivel de seguridad que las redes cableadas, sin embargo, existen varios problemas de seguridad conocidos con éste protocolo, que lo hacen fácilmente vulnerable y difícil de configurar.

A pesar de todas las mejoras que ha tenido a lo largo del tiempo, sigue siendo una solución altamente vulnerable. Todos los sistemas que dependan de éste protocolo deberían actualizarse o reemplazarse en caso de que no sea posible la actualización de seguridad. WEP fué oficialmente descontinuado por la Wi-Fi Alliance en 2004.

WPA (Wireless Protected Access)

Mientras aún se estaba desarrollando el estándar de seguridad 802.11i, se utilizó WPA como una mejora temporal del protocolo WEP. Un año antes de que WEP fuese oficialmente descontinuado, se adoptó formalmente el uso de WPA, y la mayoría de las aplicaciones modernas utilizar una clave precompartida PSK, más comúnmente conocida como WPA Personal, y el protocolo de integridad de clave temporal TKIP para el cifrado. WPA Enterprise utiliza un servidor de autenticación para la generación de claves y certificados.

WPA, al igual que WEP, después de someterse a determinadas pruebas de concepto y a demostraciones públicas aplicadas resultó ser bastante vulnerable a la intrusión. Sin embargo, los ataques que representaron la mayor amenaza para el protocolo no fueron los directos, sino los que se realizaron en Wi-Fi Protected Setup (WPS), un sistema auxiliar desarrollado para simplificar la conexión de dispositivos a puntos de acceso modernos.

WPA2 (Wireless Protected Access Version 2)

El protocolo de seguridad 802.11i, antes mencionado, fue introducido en 2004, y la mejora mas importante de WPA sobre WPA2 fué el uso del estándar de cifrado avanzado AES (Avanced Encryption Standard).

AES fue aprobado por el gobierno de los Estados Unidos para cifrar la información clasificada como alto secreto, por lo que se considera lo suficientemente segura como para proteger las redes domésticas.

Actualmente, la principal vulnerabilidad que existe en un sistema protegido por WPA2 es cuando el atacante ya tiene acceso a una red WiFi segura y puede obtener acceso a ciertas claves para realizar un ataque a otros dispositivos de dicha red. Debido a ésto, las soluciones de seguridad para las vulnerabilidades conocidas de WPA2 son en su mayoría significativas a nivel de redes corporativas, y no son realmente relevantes para redes doméstivas pequeñas.

Por desgracia, la posibilidad de ataques a través de Wi-Fi Protected Setup (WPS) sigue siendo alta en los puntos de acceso actuales que son compatibles con WPA2 y WPA. Aunque explotar dicha vulnerabilidad en una red segura con WPA/WPA2 tardará entre 2 y 14 horas, sigue suponiendo un problema de seguridad real, por lo que WPS debería ser deshabilitado, y adicionalmente podía restablecerse el firmware del punto de acceso a una versión que no sea compatible con WPS, para excluir por completo dicho vector de ataque.

Métodos de seguridad disponibles en enrutadores modernos

Como clasificación básica de mejor a peor, listamos a continuación las configuraciones de las que disponen los routers modernos (después de 2006):

WPA2 + AES

WPA + AES

WPA + TKIP / AES (TKIP se utiliza como método alternativo)

WPA + TKIP

WEP

Red abierta / sin contraseña (sin seguridad en absoluto)

5. Aircrack-NG Suite

Tal y como acabamos de explicar la debilidad en el sistema de clave pre-compartida WPA2-PSK es que la contraseña cifrada es compartida en lo que se conoce como 4-vías. Cuando un cliente se autentica en el punto de acceso (AP), el cliente y el AP pasan por un proceso de 4 pasos para autenticarlo. Si somos capaces de interceptar la contraseña durante dicho proceso, podremos intentar descifrarla.

Para ello utilizaremos la suite aircrack-ng y un ataque de diccionario contra la contraseña cifrada después de interceptar las 4-vías.

Lo primero que debemos hacer es poner la interfaz inalámbrica en modo monitor. Esto es similar a configurar un adaptador cableado en modo promiscuo ya que nos permite visualizar todo el tráfico inalámbrico presente en el área que el adaptador permita.

Ejecutaremos en un terminal de Kali el siguiente comando:

sudo airmon-ng start <interfaz-inalámbrica>

Éste comando cambia además el nombre la interfaz, que por lo general es wlan0 por mon0, indicándonos así que está en modo monitor.

Podemos comprobar si hemos hecho correctamente el cambio consultando las interfaces de red con el comando:

sudo ifconfig

Capturando el tráfico

Teniendo ya configurada correctamente la interfaz, ejecutaremos a continuación un nuevo comando de la misma suite, escribiendo:

airodump-ng mon0

Lo cual nos mostrará algo parecido a ésto:

airodump-ng

Lo que nos muestra el terminal, son todos los puntos de acceso (PA) visibles en la parte superior y los clientes conectados a los mismos en la parte inferior.

Para centrarnos en un punto de acceso específico que queramos auditar, debemos ejecutar el mismo comando, de la siguiente forma:

airodump-ng -bssid c8:3a:35:2f:dc:80 -c6 -write WPAcrack mon0

dónde los parámetros del comando significan lo siguiente:

  • C8:3A:35:2F:DC:80 es el BSSID (Basic Service Set Identifier) del punto de acceso que coincide con la dirección MAC o física de la interfaz del PA.
  • c6 es el canal en el que el PA esta operando
  • WPAcrack será el archivo en el que escribiremos los datos recibidos
  • mon0 es el adaptador inalámbrico configurado en modo monitor.

Una vez en éste punto y con el fin de capturar la contraseña encriptada, tenemos que forzar al cliente (lista de abajo) a autenticarse en el AP que hayamos elegido. Si ya están autenticados, los forzaremos a des-autenticarse (echarlos de la red wifi) y su sistema volverá a autenticarlos de forma automática, por lo que en ese punto podremos llamar a su contraseña encriptada en el proceso, tal y como explicábamos antes. Para ello, abrimos un nuevo terminal de Kali y escribimos:

aireplay-ng -deauth 100 -a C8:14:79:09:8B:25 mon0

*Importante darse cuenta de que en éste caso hemos introducido el BSSID del cliente y no del PA*

El terminal nos mostrará los envíos de des-autenticación que estamos enviando al usuario, como en éste ejemplo:

aireplay-ng

Cuando el usuario se re-autentique, airodump-ng intentará capturar su contraseña en el nuevo enlace de 4-vías, por lo que volveremos al terminal en el que hemos ejecutado airodump-ng para comprobar que así es.

wpa handshake

Como refleja la imagen el comando airodump-ng nos indicará si ha capturado la contraseña encriptada mediante el mensaje :

[WPA handshake: <bssid>

Ahora ya hemos resuelto el primer paso, que es capturar la contraseña, vamos a por el segundo que es descifrarla.

Como ya la tenemos almacenada en el fichero antes indicado WPAcrack , podemos utilizar dicho archivo contra aircrack-ng utilizando un archivo de contraseñas a nuestra elección. Recordad que este tipo de ataque es tan efectivo como el diccionario que utilicemos.

Para descifrar la contraseña escribiremos en un terminal:

aircrack-ng WPAcrack.cap <ruta-absoluta-archivo-de-contraseña>

Éste proceso puede ser lento y tedioso, y depende la longitud del archivo de contraseñas, a veces llegando a tardar varios días. Si la encuentra, la contraseña aparecerá en pantalla.

4. Fluxion ( MITM / WPA attacker / Wi-Fi Analyzer)

fluxion

Fluxion es una herramienta de investigación de auditoría social e ingeniería social. El script intenta recuperar la clave WPA / WPA2 de un AP objetivo mediante un ataque de ingeniería social (Phishing). Es compatible con la última versión de Kali Linux (rolling).

Tal y como advierten en el FAQ de su repositorio de github, la configuración de los ataques en Fluxion es principalmente manual, pero el modo automático (experimental) maneja algunos de los parámetros de las configuraciones de los ataques.

¿Como Funciona?


  • Primero buscaremos una red inalámbrica objetivo, y lanzaremos el ataque Handshake Snooper.
  • Acto seguido capturaremos el handshake (necesario para la verificación de contraseña), y lanzaremos el falso Portal Cautivo.
  • Se genera un punto de acceso (AP) falso, que imita el PA original.
  • Se genera un servidor DNS, que redirija todas las peticiones al host del atacante que ejecuta el portal cautivo.
  • Se genera un servidor web, que sirve el portal cautivo a la víctima, para que ésta introduzca las claves WPA / WPA2.
  • Se genera un jammer, desautenticando a todos lo clientes del AP original y atrayéndolos al falso.

Todos los intentos de autenticación en el portal cautivo se verifican con el archivo handshake capturado anteriormente.

El ataque terminará automáticamente una vez que se haya enviado la clave correcta.

La clave se registrará y los clientes podrán volver a conectarse al PA original.


ESCANEO Y SUPLANTACIÓN (Sniffing and Spoofing)

Dentro de la segunda fase que mencionábamos al principio (escaneo), existen diversas herramientas que nos permiten escanear, tanto los dispositivo conectados a una determinada red, así como los puertos y servicios que están utilizando, y también parte del tráfico que por los mismos circula.

3. Wireshark

wireshark

Wireshark es un software que nos permite analizar los protocolos para analizar y solucionar problemas en redes de comunicaciones.

Mediante una interfaz gráfica, y sus opciones de filtrado y organización, nos permite analizar cada uno de los paquetes de red capturados, utilizando el modo promiscuo de la tarjeta de red.

Permite visualizar datos de una red en tiempo real o analizar capturas de red en formato .cap obtenida previamente, permitiendo así mostrar el flujo reconstruido de una sesion TCP.

Para capturar paquetes de red, por lo general requiere ser ejecutado con permisos de administración, ésto puede suponer un problema de seguridad ya que podríamos cometer algún error y permitir la ejecución de algún código externo que estemos capturando. Por ésta razón muchos usuarios prefieren capturar los paquetes desde la interfaz de red a un archivo en el disco duro, para posteriormente analizarlo con menos privilegios y evitando errores de éste tipo.

Cabe destacar que Wireshark no es un sistema de detección de intrusos, por lo cual no nos avisará, ni dará ninguna alerta, sin embargo si hay paquetes con información sospechosa nos puede ayudar a identificarlos, pero no podemos manipular los datos, solo analizarlos, inspeccionarlos y medirlos. Por éste motivo es considerado un analizador de protocolos pasivo (ya que no actúa sobre la red.)

2. Bettercap

BetterCAP es una potente herramienta, flexible y portátil creada para realizar varios tipos de ataques MITM contra una red.

Permite manipular el tráfico (a diferencia de Wireshark) HTTP, HTTP y TCP en tiempo real, buscar credenciales y mucho más.

Pero qué es un ataque Man In The Middle:

Man in the middle

En criptografía y seguridad informática, un ataque de hombre en el medio (MITM) es cuando el atacante retransmite en secreto y posiblemente altera la comunicación entre dos partes que creen que se están comunicando directamente entre sí. Un ejemplo muy claro es el espionaje activo, en el que el atacante establece conexiones independientes con las víctimas y transmite mensajes entre ellas para hacerles creer que están hablando directamente entre sí a través de una conexión privada, cuando en realidad toda la conversación esta controlada por el atacante. El atacante debe ser capaz de interceptar todos los mensajes relevantes que pasan entre las víctimas e inyectar otros nuevos.

MITM

Como un ataque que tiene como objetivo eludir la autenticación mutua, o la falta de ella, un MITM puede tener éxito solo cuando el atacante puede suplantar a cada punto final a su satisfacción como se espera de los fines legítimos. La mayoría de los protocolos criptográficos incluyen alguna forma de autenticación de punto final específicamente para prevenir éste tipo de ataques. Por ejemplo, TLS puede autenticar a una o ambas partes usando una autoridad de certificación mutuamente confiable.

Volviendo a BetterCAP

Para el usuario no neófito, puede parecer que BetterCAP es una herramienta que ayuda a los scrip-kiddies a dañar redes… sin embargo va mucho mas allá.

Muchos profesionales utilizan ésta herramienta, por ejemplo la gente que se dedica al reversing, del que espero poder hablar algún dia, lo utilizan para invertir o modificar protocolos de red cerrados. O los investigadores de seguridad de dispositivos móviles / IoT están explotando las capacidades de BetterCAP para probar la seguridad de sus dispositivos y sistemas.

Diferencias con versiones anteriores: Ettercap

bettercap

Bien es cierto que muchos de los filtros de Ettercap, no funcionan la mayoría de las veces por estar desactualizados o por ser difíciles de implementar debido al lenguaje específico sobre el que están construidos. También se menciona que no es una herramienta muy efectiva en redes de gran tamaño, así como la dificultad de filtrar y descartar la información que no es relevante, y a menos que seas un buen programador en lenguaje C / C++, te será complicado extender sus funcionalidades o crear módulos propios.

Ademas el spoofing ICMP de Ettercap y el MITMf son completamente inútiles, en BetterCAP no.

EtterCAP no proporciona un proxy modular y HTTP(S) y TCP integrados, betterCAP si.

Tampoco tiene un rastreador de credenciales inteligente y personalizable…


HERRAMIENTAS DE EXPLOTACIÓN

1. Social Engineering Toolkit (SET)

La ingeniería social es la práctica de obtener información confidencial a través de la manipulación de usuarios legítimos. Es una técnica que pueden usar ciertas personas para obtener información, acceso o privilegios en sistemas de información que les permitan realizar algún acto que perjudique o exponga la persona u organismo comprometido a riesgo o abusos.

El principio que la sustenta es que en cualquier sistema:

“el usuario es el eslabón mas debil”.

En éste sentido SET se aprovecha de éste eslabón débil para establecer mecanismos que permitan “explotar vulnerabilidades” en los seres humanos.

SET es considerado el estándar en pruebas de penetración de ingeniería social y cuenta con un gran respaldo en la comunidad de seguridad.

Desde TrustedSec aseguran que la ingeniería social es uno de los ataques mas difíciles de proteger y últimamente uno de los más frecuentes.

A continuación describimos por encima algunas de las opciones que permite:

  • Spear-phishing Attack Vector: Es un tipo de ataque en el que se pretende engañar al usuario haciéndole creer que el contenido falso y las páginas web generadas son de hecho genuinas.
  • WebSite Attacks Vectors: vector de ataque basado en sitios web, con el cual podemos generar fake-webs desde plantillas o clonar uno que le indiquemos.
  • Infectius Media Generator: para generar medios digitales.
  • Create a Payload and Listener: Nos permite la creación tanto del Payload (.exe) como del Listener que queramos utilizar mediante el Framework de penetración: Metasploit.
  • Mass Mailer Attack: Éste tipo de ataque se basa en envío masivo de e-mails generalmente mediante Phising.
  • Teensy USB HID Attack Vector: Teensy USB HID es un tipo de dispositivo que nos permite emular un teclado y un ratón, y así ejecutar órdenes muy rápido en la máquina objetivo mediante un mecanismo de activación automático.
  • SMS Spoofing Attack Vector: Éste ataque se basa en la usurpación de la identidad de un teléfono móvil, que enviará un SMS al de la víctima con la intención de obtener alguna información valiosa o engañar a la víctima con algún otro propósito.

0. Metasploit Framework

msfconsole

Y por último destacar el entorno de Metasploit, que es un proyecto de código abierto, que proporciona información acerca de vulnerabilidades de seguridad y ayuda en la realización de test de penetración y el desarrollo de firmas para sistemas de detección de intrusos.

Dentro de dicho proyecto, su subproyecto mas conocido, Metasploit Framework, es un marco de trabajo que permite automatizar tareas relacionadas con la explotación de vulnerabilidades.

Herramienta en la que hablaremos en próximos post ya que su uso es muy extenso y ofrece multitud de posibilidades y configuraciones.

Deja una respuesta