Ethical hacking: pentesting con Kali Linux

Byadmin

Ethical hacking: pentesting con Kali Linux

Actualmente existen diversas herramientas para realizar una auditoría en busca de vulnerabilidades también denominada prueba de penetración o pentesting. El pentesting consiste en atacar un sistema informático para identificar fallos y vulnerabilidades para así poder prevenir los ataques externos.

Nmap es una herramienta que no puede faltar a la hora de realizar una prueba de penetración aunque Kali Linux cuenta con Metasploit Framework el cual integra Nmap como parte de su paquete de herramientas de penetración.

Para este análisis de prueba de penetración  en primer lugar veremos el uso de Nmap  y luego Metasploit Framework.

Las pruebas de penetración se pueden dividir en varias etapas: tenemos que conocer la ip del servidor, computadora o sitio Web al que deseamos auditar, buscar vulnerabilidades e intentar acceder.

Es muy probable que en la red del servidor que deseamos auditar exista un firewall o políticas de control de acceso (ACL) en su router o SO (Sistema Operativo) que impidan realizar una prueba de ping para traducir su dirección IP.

Supongamos que deseamos conocer la dirección IP de ww.mixxxsoft.com para ello abrimos la terminal y realizamos una prueba de ping.

ping www.mixxxsoft.com

 

ping

Excelente ahora sabemos que su dirección IP es 40.113.200.201

Para analizar un escaneo de vulnerabilidades con Nmap deberíamos ejecutar en la terminal el siguiente script:

nmap -f -sS -sV -Pn --script auth 40.113.200.201

Auth: Este script realizará una búsqueda para saber si existen servicios con usuarios con contraseñas vacías.

-Pn: es para forzar la prueba en el caso de existir un firewall o política de seguridad para impedir la respuesta de ping.

-v : verbose

-sV : Con esto obtenemos la versión del servicio que esta corriendo bajo un puerto determinado.

Como resultado Nmap mostrará los puertos, estado del servicio y su versión como se muestra en la siguiente imagen.

nmap auth

En este caso podemos ver que microsoft utiliza fingerprint para las peticiones entrantes. fingerprint es una excelente solución para asignar a cada usuario o visitante Web un identificador único (ID). fingerprint también es muy utilizado en las entidades bancarias a fin de evitar fraudes. En este link https://github.com/fingerprintjs/fingerprintjs2 encontrarás toda la información para poder implementar fingerprint.

fingerprint toma en cuenta los datos del visitante para generar su ID, es un hash que se genera tomando en cuenta los siguientes datos del usuario o visitante (del lado del cliente): el sistema operativo, el tipo y versión de navegador, resolución de pantalla, movimiento del mouse, dirección de red, tiempo de conexión, ubicación geográfica y otros datos que deseen agregar.

Vuln: Nmap cuenta con este script para buscar las vulnerabilidades más conocidas.

Para realizar una búsqueda de las vulnerabilidades más conocidas ejecuta

nmap -f --script vuln {idrección-ip}

 

Explotando una vulnerabilidad con Metasploit Framework

Para comenzar la prueba de penetración con Metasploit Framework debemos de iniciar su consola con el siguiente comando desde la terminal
> msfconsole

metasploit-console

Desde la consola de Metasploit podemos realizar consultas para comenzar a recopilar información con Nmap. Para utilizar Nmap desde Metasploit debemos anteponer la consulta de nmap con db_nmap
db_nmap {dirección ip} -p 1-65535

En el caso en que se ha encontrado información de un servicio en especial es posible determinar si el mismo es vulnerable. Desde la consola,se realiza una búsqueda de un exploit en para ese servicio y luego se ejecutará la explotación sobre este servicio.
Para realizar la búsqueda del exploit para el servicio potencialmente vulnerable se debe realizar la consulta desde la consola:

search cve:{código CVE}

Supongamos que encontramos el código de vulnerabilidad 279

Buscamos el código para ver los exploits que podemos utilizar

search cve: 279

search 279

Para utilizar el exploit se introduce el comando use seguido de la ruta del exploit seleccionado. En este caso el comando sería el siguiente:

use exploit/multi/http/phpmyadmin_preg_relpace

Luego podemos ver las opciones de este exploit con el comando show options.

Para ejecutar las opciones que presenta cada exploit introducimos el comando set {opción}
show-options-y-set

Luego debemos de seleccionar el Payload adecuado una vez que se haya explotado con éxito la vulnerabilidad
Mediante el comando “show payloads” se pueden ver  cuáles son compatibles con la arquitectura seleccionada.

show payloads

De igual manera podemos consultar las opciones con en el comando show options

Luego de configurar cada opción del payload debemos ejecutar el exploit con el comando exploit y Metasploit realizará todo el trabajo.

De resultar todo bien Metasploit mostrará un mensaje en la consola y así ya puedes ejecutar comandos en el servidor atacado.

 

Metasploit se divide básicamente en los siguientes grupos

Exploits: Todos los exploits disponibles  que podemos utilizar. Estan dividos por SO y categorías. Por ejemplos todos los exploits para el navegador de Windows en: exploits/windows/browser/
Payloads: Acciones que se van a realizar si se logra explotar la vulnerabilidad que seleccionamos.

windows/shell/reverse_tcp  para obtener la shell inversa de Windows.

Auxiliary: son scripts con funciones de scan. Por ejemplo para escanear los puertos TCP/IP y sus servicios utilizamos  auxiliary/scanner/portscan/tcp

Enconders: Algoritmos de codificación para evadir antivirus.

help: Lista todos los comandos disponibles

show: Lista exploits, payloads, auxiliary encoders y nops. Si deseamos realizar una consulta para un tipo de categorá en especial podemos ejecutar por ejemplo show exploits

search Buscar por cualquier palabra clave. Ejemplo: search ssh

 

 

 

 

 

About the author

admin administrator

Leave a Reply