El mundo de la seguridad informática está de moda. La mayoría de usuarios que se suman a este movimiento lo hacen a través de guías o videotutoriales, los cuales no explican los fundamentos telemáticos que se esconden detrás de todas las herramientas hacking. Esto es un gran problema ya que, en el  mundo de las seguridad informática, hay que saber lo que se está haciendo en cada momento.

Como ya sabréis, la descarga y posterior ejecución de un programa para escanear puertos en una máquina remota no te hace hacker ya que no te servirá de mucho si no entiendes su funcionamiento. Es decir, para llegar a ser bueno en temas de seguridad informática (hacking, pentesting, auditorías…) hace falta entender al detalle todos los protocolos de comunicación ya que, de una u otra forma, la seguridad informática se basa en la búsqueda de errores en estos protocolos (ya sea en una RFC o en una implementación específica).

Cómo acceder a herramientas de hacking

La mejor forma de realizar un pentesting o de explotar algún error conocido es la programación de un código específico que se adapte a nuestras necesidades. Para realizar esta tarea hace falta tener un gran nivel de programación (Python por ejemplo) y un buen conocimiento de lo que se está haciendo. De ser así, las herramientas desarrolladas podrán adaptarse perfectamente a cada tipo de escenario.

Como lo que se pretende con este artículo es que se adquieran conocimientos básicos de seguridad informática, el desarrollo de herramientas específicas lo dejaremos para más adelante. Por el momento utilizaremos una distribución de Linux llamada Kali Linux.

Esta distribución se ha desarrollado específicamente para pentesting, es decir, para realizar exámenes de penetración en equipos o en redes de estos. Cuenta con más de 600 herramientas preinstaladas, por lo que nos viene genial para comenzar en este apasionante mundo.

Instalación de Kali Linux

Tal y como he comentado anteriormente, Kali Linux es una distribución de Linux diseñada principalmente para auditorías de seguridad. Esto implica que, para poder utilizarlo, tendremos que montar una máquina virtual de esta distribución sobre el sistema operativo por defecto en vuestro ordenador.

Kali-Install

Lo primero es descargar el software de VirtualBox desde su web oficial. Este software nos permitirá utilizar un SO distinto al que el usuario está utilizando en el ordenador. Una vez instalado VirtualBox, tendremos que descargar la imagen de Kali Linux aquí. Después basta con montar en VirtualBox la imagen de Kali, configurando correctamente los parámetros que se le quieran dar a esta máquina virtual (hay infinitas guías en Internet para este paso). Recordad que, una vez iniciado Kali, el nombre de usuario y su contraseña son “root” y “toor”, respectivamente.

Herramientas de penetración para principiantes

Aunque Kali posee herramientas de pentesting muy potentes, en este post nos centraremos en las más interesantes de cara a los usuarios novatos. Sin lugar a dudas, un buen uso de las siguientes herramientas os dará la posibilidad de realizar un gran número de test básicos de penetración.

NMAP

Cada servicio que se ejecuta en una máquina (correo electrónico, navegación web…) lleva asociado un puerto por el que enviar y recibir la información pertinente. La mayoría de servicios conocidos tienen asociado un puerto predeterminado por lo que, si somos capaces de determinar que puertos tiene abiertos una máquina, seremos capaces de conocer que servicios está utilizando dicha máquina y, por consiguiente, sabremos qué ataques llevar a cabo.

La herramienta NMAP nos permite realizar un escaneo de los puertos de una máquina remota de muchas maneras posibles. La más común sin lugar a dudas es el envío de un paquete SYN, es decir, intentar establecer una conexión TCP en ese puerto escaneado. Según lo que nos devuelva la máquina escaneada, sabremos si ese puerto está cerrado, abierto (el servicio que se ejecute en ese puerto podría ser vulnerable a algún tipo de ataque) o filtrado(programado para no enviar información sobre el estado del puerto).

redhat-nmap-command-output
Escaneo de puertos con NMAP

Por ejemplo, si realizamos un escaneo de puertos a un servidor web, lo más probable es que estén abiertos los puertos 21(FTP), 53(DNS), 80(HTTP) y el puerto 443(HTTPS) entre muchos otros.

Hay que tener cuidado a la hora de realizar un escaneo de puertos ya que la mayoría de sistemas incorporan un firewall que detecta dichos escaneos y vuestra IP puede ser rechazada para futuras conexiones. Lo mejor para realizar cualquier movimiento de este tipo es hacerlo a través de un servidor Proxy con la herramienta Proxychains.

SQLMAP

Esta es una de las herramientas mas interesantes para realizar ataques SQLi (SQL injection). El objetivo de este tipo de ataques es la inyección de código malicioso para poder acceder a ciertos datos que, a priori, no tendríamos acceso. Obviamente, para que este ataque de resultado, tiene que existir una vulnerabilidad en el nivel de validación de la aplicación.

SQLmap se encarga de realizar peticiones a los parámetros de la URL que se indique, ya sea mediante una petición GET, POST, etc. El código de esta herramienta (escrita en Python) permite realizar 6 técnicas diferentes de manera automática, según lo que el usuario pretenda conseguir: out-of-band, stacked queries, UNION query, time-based blind, error-based y boolean-based blind.

HASHCAT

Esta herramienta es una de mis favoritas, tanto por la temática como por su potencial. Básicamente, la herramienta Hashcat devuelve una contraseña a partir de un Hash.

Un Hash es una operación criptográfica que, a partir de unos datos de entrada, te devuelve una cadena de caracteres como datos de salida. La particularidad es que, aunque un man in the middle obtenga dicha cadena de caracteres, “no podrá” obtener la contraseña original debido a la irreversibilidad del algoritmo Hash (siempre que el algoritmo utilizado sea potente, como por ejemplo SHA-256).

hashcat3

Hashcat se utiliza principalmente en auditorias de seguridad. Si los forenses se encuentran con una base de datos cifrada y quieren recuperar el contenido original, basta con utilizar esta herramienta y colmarse de paciencia hasta que se descifre. Las últimas versiones de Hashcat incorporan código para hacer uso de la GPU (elemento hardware más útil a la hora de realizar operaciones de encriptación).

Metasploit Framework

Es una de las herramientas más conocidas dentro de la seguridad informática. Su fama se debe principalmente a su gran base de exploits con la que explotar un sin fin de vulnerabilidades.

Para hacer uso de esta herramienta primero tendremos que llevar a cabo otro tipo de ataques, como por ejemplo un escaneo de puertos o técnicas de fingerprinting para detectar el SO que se está ejecutando. Una vez se haya reconocido perfectamente el terreno, se puede proceder a la detección de vulnerabilidades según los datos recogidos previamente (el SO que se utilice, el browser de internet o la versión de Adobe). Para esta tarea recomiendo utilizar Nessus, una potente herramienta que cuenta con una base de datos de vulnerabilidades suficientemente grande como para poder atacar la gran mayoría de sistemas actuales.

launch
Consola de comandos de Metasploit

Una vez obtenida la vulnerabilidad de la que podemos aprovecharnos tenemos que recurrir a Metasploit. Mediante la ejecución del exploit correspondiente, es decir, el exploit programado especificamente para dicha vulnerabilidad, seremos capaces de obtener datos o introducirnos en el sistema objetivo. El uso de Metasploit es relativamente sencillo, pero hay que tener cuidado con lo que se ejecuta. Tened en cuenta que estas herramientas son para fortificar vuestros sistemas de seguridad, no para ejecutarlas en máquinas remotas (si os pillan podéis meteros en un buen lio).

Como era de esperar, no puedo explicar todas las herramientas que existen en Kali. Si queréis que os cuente al detalle cada herramienta por separado para que aprendáis a usarlas correctamente, ¡No dudéis en pedirlo!

 

Comentarios

comentarios