En esta unidad se ha profundizado en el uso de herramientas y metodologías enfocadas en la explotación de vulnerabilidades encontradas en sistemas y aplicaciones. A través del aprendizaje de diversos tipos de exploits y plataformas de explotación, se cubrieron aspectos esenciales para llevar a cabo pruebas de penetración de manera efectiva y organizada.
Conceptos Básicos
- ¿Qué es una vulnerabilidad?
- Se definió como cualquier debilidad que puede ser explotada por un atacante para comprometer la seguridad de un sistema o aplicación.
- SearchSploit:
- Se estudió esta herramienta que permite buscar exploits locales en bases de datos de vulnerabilidades, como Exploit-DB, desde la línea de comandos.
- Tipos de Exploits:
- Por Categoría: Exploits remotos, locales, de denegación de servicio (DoS), entre otros.
- Por Origen: Se examinaron las diferencias entre exploits de día cero (0-day) y aquellos ya conocidos.
Búsqueda de Exploits
- Se revisaron varias bases de datos especializadas en exploits:
- Exploit-DB: Base de datos de exploits ampliamente utilizada.
- Rapid7-DB: Base de datos que soporta el framework Metasploit.
- 0day.today: Un repositorio donde se encuentran vulnerabilidades recientes, algunas incluso de día cero.
Metasploit
- Se estudió en profundidad el framework Metasploit, una de las herramientas más poderosas y utilizadas en hacking ético. Los temas incluyen:
- Arquitectura: Estructura y componentes básicos de Metasploit.
- Comandos Básicos: Instrucciones necesarias para comenzar a utilizar la herramienta.
- Tipos de Módulos:
- Auxiliares: Para recopilar información o realizar tareas sin explotar vulnerabilidades.
- Exploits: Para explotar vulnerabilidades.
- Post: Para actividades de post-explotación (mantener acceso, escalar privilegios, etc.).
- Tipos de Payloads:
- Singles, Stagers, y Stages: Se explicó cómo funcionan estos payloads para ejecutar comandos o instalar software malicioso en la máquina víctima.
Metodología Manual
- Se describió cómo llevar a cabo la explotación manualmente, con un ejemplo práctico que abarca desde la recopilación de información hasta el acceso a un sistema vulnerable:
- Rompiendo logins, accediendo a servicios FTP y WordPress, y analizando hashes fueron algunas de las tareas manuales discutidas.
Exploits Remotos y Locales
- Se abordaron conceptos de explotación remota, como la ejecución de código remoto y el uso de webshells para obtener acceso a sistemas.
- También se introdujeron exploits locales, particularmente aquellos enfocados en la post-explotación. Aquí se destacaron:
- Meterpreter: Herramienta utilizada para interactuar con la máquina comprometida tras una explotación exitosa.
- Post-explotación usando PowerShell: Se explicó cómo utilizar PowerShell para recopilar información o ejecutar comandos tras comprometer un sistema.
Denegación de Servicios (DoS)
- Se explicó el concepto de Denegación de Servicios (DoS) y cómo estos ataques buscan agotar los recursos de un sistema hasta dejarlo inoperativo. Se utilizaron ejemplos como:
- SlowHTTPTest: Herramienta para llevar a cabo ataques de denegación de servicio a nivel de aplicación.
- También se destacó el uso de Metasploit y repositorios como GitHub para obtener herramientas y ejemplos de ataques DoS.