Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Hacking Ético
Explotación
Índice
Esquema 3
Ideas clave 4
4.1. Introducción y objetivos 4
4.2. Creación y orientación de mapa de información 4
© Universidad Internacional de La Rioja (UNIR)
A fondo 34
Test 35
© Universidad Internacional de La Rioja (UNIR)
Tema 4. Esquema
Esquema
Hacking Ético
3
Ideas clave
Una vez que hemos recabado la información, debemos analizar y distinguir qué
datos son importantes y cuáles no. A continuación se exponen los elementos más
trascendentales:
Hacking Ético
4
Tema 4. Ideas clave
También se pueden usar para comprobar si tienen contraseñas por defecto o para
realizar ingeniería social o phishing.
Un sitio web o subdominio: se debe realizar una buena fase de footprinting para
obtener información muy importante, como contraseñas olvidadas en los
comentarios, enlaces a subdominios restringidos, carpetas con permisos de
escritura…
Hacking Ético
5
Tema 4. Ideas clave
Reglas del firewall o del IDS: para ser capaces de eludir estas reglas o evitar ser
detectados por los IDS.
Puertos abiertos: para intentar obtener el sistema operativo, los servicios que
están corriendo o buscar vulnerabilidades.
Antivirus: investigar los tipos de virus para que el motor de búsqueda no los
detecte, para deshabilitar el antivirus, inutilizarlo, infectarlo, etc.
Una vez hemos obtenido toda la información posible de la víctima, nos dedicaremos
a explotar las vulnerabilidades de su sistema para intentar hacernos con el control
de su máquina y los privilegios de administrador.
Hacking Ético
6
Tema 4. Ideas clave
Primero, tendremos que descubrir qué aplicaciones o servicios de los que tiene la
víctima son vulnerables. Para ello, utilizaremos herramientas de escaneo de
vulnerabilidades: las más importantes son Nessus, OpenVas y Nexpose.
Hacking Ético
7
Tema 4. Ideas clave
El escaneo de scripts se realiza normalmente en combinación con un escaneo de
puertos, ya que los scripts pueden ejecutarse, o no, dependiendo de los estados de
los puertos encontrados por el escaneo. Con la opción -sn es posible ejecutar un
escaneo de scripts sin un escaneo de puertos, solo con el descubrimiento de hosts.
En este caso, solo se podrán ejecutar los scripts del host.
Categorías de scripts
Los scripts de NSE definen una lista de categorías a las que pertenecen, cuyos
nombres no distinguen entre mayúsculas y minúsculas. Las categorías definidas
actualmente son auth, broadcast, brute, default, discovery, dos, exploit, external,
fuzzer, intrusive, malware, safe, version y vuln.
Auth
Broadcast
Brute
Hacking Ético
8
Tema 4. Ideas clave
Default
Son el conjunto por defecto y se ejecutan cuando se utilizan las opciones -sC o -A en
lugar de listar los scripts con --script. Esta categoría también puede especificarse
explícitamente como cualquier otra utilizando --script=default.
Discovery
Dos
Pueden causar una denegación de servicio. A veces esto se hace para probar la
vulnerabilidad a un método de denegación de servicio, pero más comúnmente es
un efecto secundario no deseado, aunque necesario, de la prueba de una
vulnerabilidad tradicional. Estas pruebas a veces bloquean los servicios vulnerables.
Exploit
External
© Universidad Internacional de La Rioja (UNIR)
Pueden enviar datos a una base de datos de terceros u otro recurso de red. Un
ejemplo de esto es whois-ip, que realiza una conexión con servidores whois para
conocer la dirección del objetivo.
Hacking Ético
9
Tema 4. Ideas clave
Siempre existe la posibilidad de que los operadores de la base de datos de terceros
registren cualquier cosa que se les envíe, que en muchos casos incluirá la dirección IP
propia y la dirección del objetivo. La mayoría de los scripts implican tráfico
estrictamente entre el ordenador de exploración y el cliente, los que no lo hacen, se
incluyen en esta categoría.
Fuzzer
Intrusive
menos que un script esté en la categoría de versión especial, debería ser categorizado
como seguro o intrusivo.
Hacking Ético
10
Tema 4. Ideas clave
Malware
Safe
Los scripts que no han sido diseñados para bloquear servicios, utilizar grandes
cantidades de ancho de banda de red u otros recursos, o explotar agujeros de
seguridad se clasifican como seguros. Es menos probable que ofendan a los
administradores remotos, aunque, como con todas las demás funciones de Nmap,
no podemos garantizar que no causen nunca reacciones adversas. La mayoría de ellas
realizan un descubrimiento general de la red.
Algunos ejemplos son ssh-hostkey, que recupera una clave de host SSH, y html-
title, que toma el título de una página web. Los scripts en la categoría de versión no
están categorizados por seguridad, pero cualquier otro script que no esté en safe
debe ser colocado en intrusive.
Versión
Hacking Ético
11
Tema 4. Ideas clave
Vuln
Un escaneo de scripts sin un escaneo de puertos: sólo los scripts del host son
elegibles para ejecutarse.
Hacking Ético
12
Tema 4. Ideas clave
nmap --script mycustomscripts,safe ejemplo.com
Ejecuta todos los scripts del directorio mycustomscripts así como todos los scripts
de la categoría safe.
Nessus
Hacking Ético
13
Tema 4. Ideas clave
Figura 1. Interfaz de Nessus. Fuente: elaboración propia.
Hacking Ético
14
Tema 4. Ideas clave
Figura 2. Gestión de accesos. Fuente: elaboración propia.
Hacking Ético
15
Tema 4. Ideas clave
Figura 5. Vulnerabilidades encontradas. Fuente: elaboración propia.
Vemos el escaneo basic network scan realizado sobre un Windows XP SP3. Como se
puede ver, Nessus ha encontrado una vulnerabilidad crítica en la máquina que se
puede explotar remotamente y dar acceso total al atacante.
OpenVas
A causa de que Nessus se hiciera de pago, surgió OpenVas, una herramienta igual de
potente que la anterior con la ventaja de actualizarse diariamente. En versiones
anteriores, OpenVas venía por defecto en la distribución Kali Linux, en las últimas
© Universidad Internacional de La Rioja (UNIR)
versiones ya no es así.
Hacking Ético
16
Tema 4. Ideas clave
Para iniciarla, primero deberemos ir a: Aplicaciones > Kali Linux > Análisis de
vulnerabilidades > OpenVas > openvas initial setup. Esto arrancará la configuración
inicial, descargando los plugins necesarios en caso de estar preinstalada en Kali
Linux.
Hacking Ético
17
Tema 4. Ideas clave
Figura 7. Interfaz de OpenVas. Fuente: elaboración propia.
Hacking Ético
18
Tema 4. Ideas clave
Figura 9. Configuración del objetivo. Fuente: elaboración propia.
Finalmente, asignaremos una tarea para realizar en el objetivo. Para ello, iremos a
la pestaña Scan Management > New Task. Seleccionaremos un tipo de escaneo a
realizar, el objetivo sobre el que realizarlo y le daremos un nombre también.
Podremos elegir el número de hilos que escanearán a la vez.
Nexpose
Hacking Ético
19
Tema 4. Ideas clave
Una vez instalado, pondremos en nuestro navegador la URL https://localhost:3780.
Primero nos identificaremos y tendremos que definir el sistema a escanear. Para ello,
en la página principal pulsaremos en New static site. A partir de ahí, podremos definir
el nombre del sistema a escanear, la/s dirección/es IP que lo forman y el tipo de
escaneo que vamos a llevar a cabo.
Hacking Ético
20
Tema 4. Ideas clave
Figura 11. Crear un objetivo. Fuente: elaboración propia.
Hacking Ético
21
Tema 4. Ideas clave
Figura 12. Resultado final. Fuente: elaboración propia.
Hacking Ético
22
Tema 4. Ideas clave
Sockets
La funcionalidad de sockets está contenida en la librería socket, así que no hará falta
que instalemos nada. La Figura 13 muestra un ejemplo de cómo podríamos
implementar un servidor que, escuchando en un puerto, reciba comandos, los
ejecute, y devuelva la respuesta.
© Universidad Internacional de La Rioja (UNIR)
Hacking Ético
23
Tema 4. Ideas clave
Aunque podríamos conectarnos a este servicio utilizando cualquier utilidad, como
netcat, la Figura 14 muestra cómo podríamos hacerlo desde una consola de Python.
Requests + BeautifulSoup
podríamos explotar una inyección SQL de tipo blind en el que, a medida que vamos
acertando con un patrón concreto de la contraseña, obtenemos un código HTTP
concreto. En este caso, cuando damos con un patrón correcto (enviando el símbolo
% como wildcard al final de la contraseña), pero no tenemos la contraseña completa,
Hacking Ético
24
Tema 4. Ideas clave
el servidor devuelve el código 500; si el código que recibimos es 200, hemos
encontrado la contraseña completa; y en cualquier otro caso, hemos fallado.
© Universidad Internacional de La Rioja (UNIR)
Figura 15. Código: uso de requests para ataque blind sql. Fuente: elaboración propia.
Hacking Ético
25
Tema 4. Ideas clave
La Figura 16 muestra cómo se podría obtener un prerrequisito analizando la página
web con otra conocida librería de procesado de código HTML: BeautifulSoup.
Figura 16. Código: análisis de DOM con bs4. Fuente: elaboración propia.
Pwntools
Hacking Ético
26
Tema 4. Ideas clave
Figura 17. Código: depuración a través de pwntools. Fuente: elaboración propia.
Figura 18. Código: análisis de entrypoint con pwntools. Fuente: elaboración propia.
© Universidad Internacional de La Rioja (UNIR)
Por último, cuenta con un modo CLI para ejecutar determinadas tareas rutinarias:
transformación de cadenas a hexadecimal, creación de patrones para detectar dónde
está desbordándose un buffer (Figura 19), crear shellcodes para inyectar en un buffer
vulnerable, etc.
Hacking Ético
27
Tema 4. Ideas clave
Figura 19. Código: generación de patrones con pwntools. Fuente: elaboración propia.
Scapy
Figura 20. Código: paquete básico con scapy, Fuente: elaboración propia.
Hacking Ético
28
Tema 4. Ideas clave
Existen numerosos ejemplos de cómo se puede utilizar esta funcionalidad para
desarrollar tareas como el ARP Spoofing previo a un Mitm (Awesome Scapy),
resumido en la Figura 21; o atacar directamente partes de protocolos, como campos
de una petición DNS.
Figura 21. Código: ARP spoofing con scapy. Fuente: elaboración propia.
Además, desde scapy podemos hacer algo más que mandar mensajes. Cuenta con
numerosas capacidades de análisis y representación y puede servir como interfaz
de monitorización de operaciones de red. La Figura 22 muestra cómo podríamos
obtener las direcciones consultadas a un servidor DNS durante un minuto.
© Universidad Internacional de La Rioja (UNIR)
Hacking Ético
29
Tema 4. Ideas clave
Scrapy
La Figura 24 ilustra un ejemplo que podría ser útil para enumerar campos de
contraseña en una web. Este código permitiría buscar todas las URL de un dominio a
las que se envíe algún campo en el que se haya introducido una contraseña.
© Universidad Internacional de La Rioja (UNIR)
Hacking Ético
30
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Figura 24. Código: araña de búsqueda de campos de contraseña. Fuente: elaboración propia.
Hacking Ético
31
Tema 4. Ideas clave
Una vez guardado en el archivo «PasswordSpider.py», ponerlo en marcha sería tan
simple como ejecutar el comando que se muestra en la Figura 25, que, además,
almacenaría los resultados generados por el script en un fichero json para su
posterior utilización.
Figura 25. Código: lanzamiento de araña sobre el dominio Facebook.com. Fuente: elaboración propia.
Este video, titulado Ibombshell: el uso del Powershell en pentesting, enumera las
capacidades del entorno Powershell, y sus beneficios a la hora de realizar un test de
penetración. Mientras que otros frameworks requieren prerrequisitos o la
introducción de artefactos más complejos en el sistema, Powershell actúa como un
sistema nativo que cuenta además con una infinidad de capacidades a la hora de
manipular el equipo; como queda evidenciado con el uso de iBombShell.
Hacking Ético
32
Tema 4. Ideas clave
4.6. Referencias bibliográficas
Hacking Ético
33
Tema 4. Ideas clave
A fondo
Lanzar un escaneo en Nessus
Tenable Product Education. (2019, octubre 14). Launch a Basic Network Scan in Nessus
Professional [Vídeo]. Youtube. https://www.youtube.com/watch?v=xgSJ4ZcbxMY
Stefan Rows. (2018, febrero 15). How to find Exploits with OpenVAS [Vídeo]. Youtube.
https://www.youtube.com/watch?v=jOT82jGWyL8
Vídeo explicativo paso a paso de cómo utilizar Openvas para encontrar exploits en un
entorno controlado.
Uso de Nexpose
Rapid7. (2012, septiembre 7). Nexpose Getting Started Video [Vídeo]. Youtube.
https://www.youtube.com/watch?v=OpPaX195mB4
Hacking Ético
34
Tema 4. A fondo
Test
1. Nessus y Openvas permiten…
A. Obtener información del objetivo para crear un mapa de información.
B. Realizar escaneos automáticos de vulnerabilidades con información previa.
C. Generar un cuadro de mandos con los servicios abiertos y las versiones de
cada uno.
D. Permiten realizar tareas de escalada de privilegios y posexplotación de
manera automatizada.
Hacking Ético
35
Tema 4. Test
4. Nexpose es una herramienta de análisis de vulnerabilidades que:
A. No está integrada en Kali Linux por defecto.
B. Está desarrollada por el mismo equipo de Metasploit.
C. Nos arroja información de exploits que pueden ser utilizados con Metasploit.
D. Todas son correctas.
6. Pwntools permite:
A. Explotar vulnerabilidades rápidamente (pwnear equipos)
B. Generar cadenas de texto que permitan identificar puntos desbordamiento
de buffer
C. Automatizar ataques a sistemas en red
D. Instalar herramientas de hacking a través de la terminal
Hacking Ético
36
Tema 4. Test