1 The Penetration Testing Execution Standard - Pentesting (PTES)
Manuel Ballesteros & Miguel Ortiz
Unidades Tecnológicas de Santander
Facultad de Ciencias Naturales e Ingenierías
Ética del Hacking – E198
Víctor Ochoa
16 de octubre de 2024
Tabla de Contenidos
Capítulo 1 Introducción...................................................................................................................1
Justificación.................................................................................................................................1
Capítulo 2 The Penetration Testing Execution Standard (PTES)...................................................2
Evolución del Pentesting.............................................................................................................2
Capítulo 3 Fases del Pentesting......................................................................................................4
Capítulo 4 Ventajas y Desventajas.................................................................................................6
Ventajas.......................................................................................................................................6
Desventajas..................................................................................................................................6
Lista de referencias..........................................................................................................................8
Apéndice..........................................................................................................................................9
Vita................................................................................................................................................10
Lista de tablas
Tabla 1. El título debe ser breve y descriptivo....................................................................3
Lista de figuras
Figura 1. Formas y descripción de las formas.....................................................................4
Capítulo 1
Introducción
Las pruebas de penetración, o pentesting, son una evaluación de seguridad
proactiva que simula ataques cibernéticos reales para identificar y explotar
vulnerabilidades en sistemas informáticos. Al replicar las tácticas de un atacante, el
pentesting permite a las organizaciones evaluar la efectividad de sus medidas de
seguridad y tomar acciones correctivas antes de que un ciberataque real comprometa sus
sistemas. Este documento explorará los fundamentos del pentesting, sus metodologías,
las herramientas utilizadas, y los beneficios que aporta a las organizaciones en un entorno
digital cada vez más hostil.
Justificación
Las pruebas de penetración son una inversión estratégica que toda organización
debería considerar. Al simular ataques cibernéticos reales, el pentesting permite
identificar y remediar vulnerabilidades antes de que sean explotadas por actores
maliciosos. Esta práctica proactiva no solo protege los activos digitales de la empresa,
sino que también mejora su reputación, aumenta la confianza de los clientes y garantiza
el cumplimiento de las normativas de seguridad. En un entorno donde las amenazas
cibernéticas evolucionan constantemente, el pentesting se ha convertido en una necesidad
imperativa para asegurar la continuidad del negocio y minimizar el riesgo de pérdidas
financieras.
Capítulo 2
The Penetration Testing Execution Standard (PTES)
El Pentesting es una evaluación de seguridad informática que simula un
ataque cibernético real para identificar y explotar vulnerabilidades en sistemas, redes o
aplicaciones. Un equipo de expertos busca debilidades en la seguridad de forma proactiva
para prevenir futuros ataques. A través de diferentes técnicas y herramientas, se intenta
acceder a sistemas de manera no autorizada, evaluando la efectividad de las medidas de
seguridad existentes. Al final, se entrega un informe detallado con las vulnerabilidades
encontradas y recomendaciones para mejorar la seguridad, permitiendo a las
organizaciones fortalecer sus defensas y proteger sus activos digitales.
Evolución del Pentesting
El pentesting, o prueba de penetración, ha experimentado una evolución
significativa desde sus inicios. Inicialmente, esta práctica se limitaba a pequeñas
empresas y organizaciones gubernamentales, pero con el auge de la tecnología y la
creciente dependencia de los sistemas digitales, su importancia se ha extendido a
prácticamente todos los sectores.
De manual a automatizado: En sus comienzos, las pruebas de
penetración se realizaban principalmente de forma manual, requiriendo un
profundo conocimiento técnico y una gran cantidad de tiempo. Con el avance
de las herramientas y tecnologías, hoy en día existen numerosas herramientas
automatizadas que agilizan el proceso y permiten evaluar un mayor número de
sistemas en menos tiempo.
De enfocado en redes a multidisciplinar: Inicialmente, el
pentesting se centraba principalmente en la seguridad de las redes. Con el
tiempo, se ha ampliado para abarcar otros aspectos como la seguridad de
aplicaciones web, la seguridad de la nube, la seguridad de dispositivos
móviles, la ingeniería social y la inteligencia artificial.
De reactivo a proactivo: En un principio, el pentesting se
realizaba de forma reactiva, es decir, después de que se produjera un incidente
de seguridad. Actualmente, se considera una práctica proactiva que debe
realizarse de forma regular para identificar y corregir vulnerabilidades antes
de que sean explotadas por atacantes.
De interno a externo: Si bien las pruebas de penetración internas
siempre han sido importantes, cada vez se demanda más la realización de
pruebas externas para evaluar la seguridad de la organización desde la
perspectiva de un atacante externo.
De técnico a estratégico: El pentesting ha evolucionado de ser una
actividad puramente técnica a una actividad estratégica que debe alinearse con
los objetivos generales de la organización.
Capítulo 3
Fases del Pentesting
1. Reconocimiento:
Recopilación de información: Se busca toda la información pública
disponible sobre la organización y sus sistemas, como nombres de dominio,
direcciones IP, tecnologías utilizadas, empleados clave, etc.
Footprinting: Se utilizan diversas técnicas para obtener información
detallada sobre la infraestructura de la organización, como búsquedas en Whois,
análisis de DNS, escaneo de puertos, etc.
2. Análisis de vulnerabilidades:
Escaneo de vulnerabilidades: Se utilizan herramientas automatizadas
para identificar vulnerabilidades comunes en sistemas operativos, aplicaciones y
servicios.
Evaluación manual: Se realiza un análisis manual de los sistemas para
identificar configuraciones incorrectas, debilidades en la lógica de programación y
otras vulnerabilidades que podrían haber sido pasadas por alto por las herramientas
automatizadas.
3. Explotación:
Prueba de conceptos: Se intentan explotar las vulnerabilidades
identificadas para confirmar su existencia y evaluar su impacto.
Obtención de acceso: Si se encuentran vulnerabilidades explotables, se
intenta obtener acceso a los sistemas de la organización.
Escalada de privilegios: Una vez obtenido acceso, se intenta escalar
privilegios para obtener acceso a sistemas o datos más sensibles.
4. Mantenimiento del acceso:
Persistencia: Se buscan formas de mantener el acceso al sistema
comprometido, como instalar puertas traseras o modificar la configuración del
sistema.
5. Reporte:
Documentación de hallazgos: Se documenta de forma detallada todas las
vulnerabilidades encontradas, los pasos utilizados para explotarlas y el impacto
potencial de cada una.
Recomendaciones: Se proporcionan recomendaciones específicas para
corregir las vulnerabilidades identificadas.
6. Remediación:
Implementación de correcciones: La organización implementa las
recomendaciones proporcionadas en el informe de pentesting.
Vuelta a pruebas: Se realizan pruebas adicionales para verificar que las
vulnerabilidades han sido corregidas correctamente.
Capítulo 4
Ventajas y Desventajas
Ventajas
Identificación proactiva de vulnerabilidades: Permite detectar y
corregir debilidades en los sistemas antes de que sean explotadas por atacantes.
Evaluación de la efectividad de las medidas de seguridad: Ayuda a
determinar si las medidas de seguridad implementadas son suficientes y efectivas.
Cumplimiento normativo: Demuestra el cumplimiento de las
regulaciones de seguridad y los estándares de la industria.
Mejora de la reputación: Demuestra un compromiso con la seguridad de
la información y la protección de los datos de los clientes.
Reducción de costos: Prevenir un ciberataque es mucho más económico
que remediar sus consecuencias.
Mayor confianza de los clientes y socios: Demuestra que la organización
toma en serio la seguridad de la información.
Desventajas
Costo: Las pruebas de penetración pueden ser costosas, especialmente para
organizaciones grandes o con infraestructuras complejas.
Riesgo de daños colaterales: Si no se realizan correctamente, las pruebas de
penetración pueden causar daños accidentales a los sistemas.
Consumo de tiempo: Las pruebas de penetración pueden llevar tiempo,
especialmente si se trata de sistemas complejos.
Dependencia de la experiencia del pentester: Los resultados de la prueba
pueden variar significativamente dependiendo de la experiencia y habilidades del
pentester.
No garantiza una seguridad completa: Incluso después de una prueba de
penetración, no se puede garantizar una seguridad del 100%. Los atacantes siempre están
desarrollando nuevas técnicas.
Capítulo 5
Herramientas Tecnológicas y Metodología
Metodología PTES
La metodología PTES se estructura en varias fases, cada una de las cuales utiliza
herramientas tecnológicas específicas para cumplir los objetivos de esa etapa. A
continuación, describimos cada fase con las herramientas asociadas y su aplicación:
Interacciones Previas al Compromiso (Pre-engagement Interactions)
Descripción: Esta fase define los aspectos contractuales y legales, las expectativas del
cliente y el alcance del pentesting.
Herramientas:
Gestión de proyectos: Trello, Jira para planificar y organizar las tareas del
pentesting.
Documentación y acuerdos: Google Docs, Microsoft Word para gestionar
acuerdos de nivel de servicio (SLA), permisos y contratos.
Recolección de Información (Intelligence Gathering)
Descripción: Esta etapa implica la recopilación de información sobre el objetivo
utilizando tanto técnicas pasivas como activas. La información recolectada
incluye direcciones IP, nombres de dominio, servicios expuestos, usuarios y otras
características relevantes.
Herramientas:
Shodan: Para la búsqueda de dispositivos conectados a internet y sus servicios.
Whois: Para consultar la propiedad de dominios y redes.
Nmap: Escaneo de puertos y detección de servicios.
Recon-ng: Herramienta de OSINT modular para recolección de datos.
theHarvester: Recopilación de correos, nombres de usuario, subdominios y más
a partir de fuentes públicas.
Modelado de Amenazas (Threat Modeling)
Descripción: En esta fase, el equipo de pentesters evalúa los datos recopilados para
identificar posibles amenazas. Se utiliza esta información para generar hipótesis sobre
cómo los atacantes podrían comprometer el sistema.
Herramientas:
Microsoft Threat Modeling Tool: Herramienta que ayuda a identificar amenazas
basadas en el diseño de un sistema.
OWASP Threat Dragon: Para modelar amenazas de aplicaciones web.
Análisis de Vulnerabilidades (Vulnerability Analysis)
Descripción: Identificación de vulnerabilidades en los sistemas y aplicaciones del
objetivo. Se utilizan escáneres automáticos y técnicas manuales para detectar posibles
fallos de seguridad.
Herramientas:
Nessus: Escáner de vulnerabilidades de red.
OpenVAS: Otra opción de escaneo de vulnerabilidades.
Nikto: Herramienta de escaneo de vulnerabilidades para servidores web.
Burp Suite: Suite para pruebas de seguridad en aplicaciones web, ideal para
detectar vulnerabilidades como inyecciones SQL o Cross-Site Scripting (XSS).
Explotación (Exploitation)
Descripción: Aquí se trata de explotar las vulnerabilidades encontradas para determinar
si realmente pueden comprometer la seguridad del sistema.
Herramientas:
Metasploit: Framework para la explotación de vulnerabilidades.
Cobalt Strike: Herramienta de post-explotación utilizada para simular ataques de
actores avanzados.
SQLMap: Para explotar inyecciones SQL en bases de datos.
BeEF: Para explotar vulnerabilidades basadas en el navegador.
Post-Explotación (Post-Exploitation)
Descripción: En esta etapa, los pentesters evalúan las posibilidades de persistencia en el
sistema comprometido y el impacto que puede tener la explotación exitosa. La fase se
enfoca en la extracción de información sensible y el mantenimiento del acceso.
Herramientas:
Mimikatz: Herramienta para extraer contraseñas y otros datos de credenciales en
Windows.
Empire: Herramienta para actividades de post-explotación y persistencia en
sistemas.
BloodHound: Herramienta que analiza las relaciones y permisos en Active
Directory para identificar caminos de privilegio.
Reporte (Reporting)
Descripción: El informe final describe todas las vulnerabilidades descubiertas, las
técnicas utilizadas, y proporciona recomendaciones para mitigar los riesgos.
Herramientas:
Microsoft Word/Google Docs: Para la creación del informe.
Dradis Framework: Herramienta de gestión de proyectos de pentesting, que
facilita la generación de informes.
LaTeX: Para quienes prefieren un formato de reporte más técnico y
automatizado.
Planteamiento de Casos Prácticos (Objetivos y Alcance)
Objetivo del Caso Práctico: Evaluar la Seguridad de una Aplicación Web
Empresarial
Una empresa de software como servicio (SaaS) quiere evaluar la seguridad de su
plataforma web antes de lanzarla al mercado. El objetivo es identificar y mitigar posibles
vulnerabilidades que puedan poner en riesgo la confidencialidad, integridad o
disponibilidad de los datos de sus usuarios. La empresa ha solicitado una prueba de
penetración siguiendo el estándar PTES.
Objetivos del Pentesting:
Identificar vulnerabilidades críticas en la aplicación web (como inyecciones SQL,
fallas de autenticación y autorización, y vulnerabilidades de seguridad en la API).
Probar la seguridad de las comunicaciones entre el cliente y el servidor (como
HTTPS y la validación de certificados).
Evaluar la capacidad de resistencia ante ataques dirigidos como cross-site
scripting (XSS), cross-site request forgery (CSRF) y la divulgación de
información sensible.
Simular un ataque real y demostrar las posibles consecuencias de una explotación
exitosa.
Proporcionar recomendaciones claras para la mitigación de las vulnerabilidades
encontradas.
Alcance del Caso Práctico:
Recursos Involucrados:
Aplicación Web: El pentesting se limitará a la plataforma web en un entorno de
pruebas (no en producción). Se realizará sobre la URL específica de la aplicación
web proporcionada por la empresa.
API: La API pública y privada que utiliza la plataforma será parte del análisis, ya
que las aplicaciones móviles y web hacen uso de esta API.
Autenticación y Autorización: Se incluirán pruebas para evaluar la seguridad de
los mecanismos de autenticación (formulario de inicio de sesión, OAuth) y la
autorización de roles (usuarios normales, administradores).
Exclusiones del Alcance:
Entorno de Producción: El análisis no incluirá pruebas en sistemas en vivo que
podrían afectar a los usuarios reales.
Pruebas Físicas: No se realizarán pruebas de seguridad física, ni se intentará
acceder a las oficinas o instalaciones de la empresa.
Denegación de Servicio (DoS/DDoS): Las pruebas no incluirán ataques de
denegación de servicio, ya que pueden comprometer la disponibilidad del sistema
durante la evaluación.
Fases y Actividades:
Intelligence Gathering: Recopilación de información sobre la arquitectura de la
aplicación, sus subdominios y cualquier dato expuesto públicamente que pueda
usarse en fases posteriores.
Vulnerability Analysis: Identificación de vulnerabilidades tanto automatizada
como manualmente en la aplicación y la API.
Exploitation: Intentos controlados de explotación de las vulnerabilidades
descubiertas, con foco en comprometer la confidencialidad y obtener acceso no
autorizado.
Post-Exploitation: Evaluación del impacto de las vulnerabilidades explotadas,
incluyendo el acceso a información sensible y la escalada de privilegios.
Reporting: Generación de un informe con hallazgos, impactos potenciales y
medidas de mitigación.
Lista de referencias
Andrews, S. Fastqc, (2010). A quality control tool for high throughput sequence data.
Augen, J. (2004). Bioinformatics in the post-genomic era: Genome, transcriptome,
proteome, and information-based medicine. Addison-Wesley Professional.
Blankenberg, D., Kuster, G. V., Coraor, N., Ananda, G., Lazarus, R., Mangan, M., ... &
Taylor, J. (2010). Galaxy: a web‐based genome analysis tool for experimentalists.
Current protocols in molecular biology, 19-10.
Bolger, A., & Giorgi, F. Trimmomatic: A Flexible Read Trimming Tool for Illumina
NGS Data. URL http://www. usadellab. org/cms/index. php.
Giardine, B., Riemer, C., Hardison, R. C., Burhans, R., Elnitski, L., Shah, P., ... &
Nekrutenko, A. (2005). Galaxy: a platform for interactive large-scale genome
analysis. Genome research, 15(10), 1451-1455.
Apéndice
Las tablas y figuras pueden ir en el apéndice como se mencionó anteriormente.
También es posible usar el apéndice para incluir datos en bruto, instrumentos de
investigación y material adicional.
Vita
Acá se incluye una breve biografía del autor de la tesis.