Framework para pentester

Principales marcos para el pentesting

Ahora que ya conoces el entorno que suelen utilizar los pentesters, y que conoces alguna de las herramientas que se utilizan como Mestasploit o Nmap, para el reconocimento de puertos, es hora de conocer los frameworks en lo que se basa el pentesting.

Si bien es verdad que el arte del hacking nació como algo espontáneo sin procedimentos, al día de hoy las técnicas del “test de penetración” (pentesting en inglés), están de alguna forma reguladas.

Por lo que es recomendable conocer los principales frameworks sobre los que se fundamentan.

En la lección anterior vimos que las fases del pentester que se componen de una serie de pasos como podemos ver a continuación:

Como se puede ver, cuando estamos frente a una explotación real, solo cambian los últimos dos pasos, el paso 11 en donde se borran los logs y se limpia la evidencian de que hemos accedido y el paso 12 que en lugar de terminar con un reporte. Se asegura la persistencia mediante puertas traseras en los sistemas.

Si bien con la explosión de cibercrimen estamos asistiendo a una nueva modalidad, por ejemplo en los ataques de ransomware, una vez que se ejecutan y explotan las vulnerabilidades y se compromete la mayor cantidad de dispositivos posibles, el paso 12 se modifica por exfiltración de datos en algunos casos y luego cifrado de la información mediante un ransomware. 

En este laboratorio haremos un repaso rápido de los principales marcos (framewrosk) en los que se basan los pentesters. En dichos marcos, tomarlos como guías indican paso a paso lo que se debe de hacer, y detallan cada uno de estos 12 pasos en profundidad.

Esta claro que en muchos frameworks encontrarás 12 pasos, en otros 10 y otros lo pueden resumir en 6. Por lo que si buscas información de los pasos para realizar un pentester, te podrá salir información muy diferente, ya que cada uno de esos pasos son extraídos de algún framework en particular.

Los marcos más utilizados

ISSAF

El método ISAAF o Information Systems Security Assessment Framework es aquel en el que el ataque se realiza en base a la información organizada según los criterios de expertos en ciberseguridad.

NIST

Concibe las pruebas de intrusión como un paquete de pruebas de seguridad que se realizan utilizando los mismos métodos y herramientas que emplean los atacantes reales. Se emplean para verificar las vulnerabilidades descubiertas en fases anteriores y sirven para demostrar como las vulnerabilidades pueden ser explotadas iterativamente para ganar privilegios de accesos al sistema. 

PTES

El Penetration Testing Execution Standard o PTES es uno de los métodos más empleados a la hora de iniciarse en pentesting. Se basa en el uso de estándares desarrollados por profesionales del sector cualificados y se ha establecido como un modelo a seguir en libros o cursos de aprendizaje.

OSSTMM

El Open Source Security Testing Methodology Manual o Manual de la Metodología Abierta de Testeo de Seguridad es un manual realizado por más de 150 expertos que hace especial hincapié en el desarrollo de un marco de trabajo que permita realizar auditorías de seguridad de forma eficiente.

OWASP SECURITY TESTING

El proyecto Web Security Testing Guide (WSTG) produce el principal recurso de pruebas de ciberseguridad para desarrolladores de aplicaciones web y profesionales de la seguridad. El WSTG es una guía completa para probar la seguridad de las aplicaciones web y los servicios web. Creado por los esfuerzos de colaboración de profesionales de la seguridad cibernética y voluntarios dedicados, el WSTG proporciona un marco de mejores prácticas utilizado por evaluadores de penetración y organizaciones de todo el mundo.

Vamos a verlos un poco más al detalle a cada uno.

ISSAF

ISSAF desarrolla una metodología muy extensa (más de 800 páginas) y detallada sobre cómo realizar una prueba de penetración.

Objetivo:

El objetivo es ofrecer a las PYMES una auditoría técnica de seguridad lo más general posible para que sean conscientes de una gran parte de la superficie de ataque, teniendo acotado el tiempo máximo de realización para que el coste pueda ser asumible para cualquier PYME. Es decir, no se pretende ser exhaustivo en cada una de las fases y en todas las pruebas, sino que se busca recorrer todas las fases incidiendo sólo en las pruebas que mayor porcentaje de vulnerabilidades puedan descubrir. 

ISSAF, de OISSG (Open Information System Security Group) ha presentado formalmente su versión “Draft 0.2″. Es uno de los frameworks más interesantes dentro del ámbito de metodología de testeo. Realiza un análisis detallado de todos los posibles aspectos que afectan al testeo de seguridad.

La información contenida dentro de ISSAF, se encuentra organizada alrededor de lo que se ha dado en llamar “Criterios de Evaluación”, cada uno de los cuales ha sido escrito y revisado por expertos en cada una de las áreas de aplicación.

Estos criterios de evaluación a su vez, se componen de los siguientes ítems:

  • Una descripción del criterio de evaluación.
  • Puntos y objetivos a cubrir.
  • Los prerrequisitos para conducir la evaluación.
  • El proceso mismo de evaluación.
  • El informe de los resultados esperados.
  • Las contramedidas y recomendaciones.
  • Referencias y Documentación Externa.

Para organizar de forma sistemática las labores de testeo, dichos “Criterios de Evaluación”, se han catalogado, desde los aspectos mas generales, como pueden ser los conceptos básicos de la “Administración de Proyectos de Testeo de Seguridad”, hasta técnicas tan puntuales como la ejecución de pruebas de Inyección de Código SQL o como las “Estrategias del Cracking de Contraseñas”.

PTES

The Penetration Testing Execution Standard (PTES) comprende unas guías técnicas para la realización de pruebas de penetración.

Nota: No se ha actualizado desde el 2014.

Consiste en 7 secciones:

INTERACCIONES PREVIAS AL COMPROMISO

El objetivo de una prueba de penetración es identificar el riesgo asociado a un ataque. Esta fase es de vital importancia para delimitar claramente el alcance. Es preciso definir un inicio y un fin de la auditoría. 

Al definir el alcance es importante señalar las direcciones que se van a auditar (servidor DNS, servidor de correo, hardware donde se ejecutan las aplicaciones, firewall, …) y que el cliente constate por escrito que son de su propiedad o que, si pertenecen a un tercero, tienen que dar permiso explícitamente esos proveedores. Se proponen una serie de preguntas para que el cliente defina el alcance. El alcance debe estar bien definido en el documento de permiso de la auditoría. 

LA RECOGIDA DE INFORMACIÓN

Cuanta más información se recoja en esta fase, mayores vectores de ataque se podrán usar. OSINT (Open Source Intelligence) es una forma de gestionar la recogida de información que implica buscar, seleccionar y adquirir información de fuentes públicas, y analizarla para producir inteligencia que se pueda utilizar. 

MODELADO DE AMENAZAS

Se centra en dos elementos: activos y el atacante. Se debe modelar en conjunto con la organización (excepto si es una prueba de penetración de caja negra). Es un entregable del informe final. 

ANÁLISIS DE VULNERABILIDADES

Esta fase se divide en 5 apartados.

EXPLOTACIÓN: Esta fase se centra en obtener acceso a un sistema, evitando los sistemas y medidas de protección.

DESPUÉS DE LA EXPLOTACIÓN: El propósito es identificar el valor de la máquina comprometida (según sus datos y el uso de la máquina para comprometer otras máquinas), y mantener el control para un uso posterior.

INFORME: Debe tener dos partes diferenciadas: 

  • RESUMEN EJECUTIVO.
  • INFORME TÉCNICO.

Recomendamos acceder a su página web, ya que en la sección primera donde enumera el software recomienda una serie de herramientas útiles para cada una de sus 7 secciones.

Más informaciónhttp://www.pentest-standard.org/

OSSTMM

El Manual de la Metodología Abierta de Comprobación de la Seguridad (OSSTMM, Open Source Security Testing Methodology Manual) es uno de los estándares profesionales más completos y comúnmente utilizados en Auditorías de Seguridad para revisar la Seguridad de los Sistemas desde Internet. Incluye un marco de trabajo que describe las fases que habría que realizar para la ejecución de la auditoría. Se ha logrado gracias a un consenso entre más de 150 expertos internacionales sobre el tema, que colaboran entre sí mediante Internet. Se encuentra en constante evolución.

Actualmente se compone de las siguientes fases:

Sección A -Seguridad de la Información

  • Revisión de la Inteligencia Competitiva
  • Revision de Privacidad
  • Recolección de Documentos

Sección B – Seguridad de los Procesos

  • Testeo de Solicitud
  • Testeo de Sugerencia Dirigida
  • Testeo de las Personas Confiables

Sección C – Seguridad en las tecnologías de Internet

  • Logística y Controles
  • Exploración de Red
  • Identificación de los Servicios del Sistema
  • Búsqueda de Información Competitiva
  • Revisión de Privacidad
  • Obtención de Documentos
  • Búsqueda y Verificación de Vulnerabilidades
  • Testeo de Aplicaciones de Internet
  • Enrutamiento
  • Testeo de Sistemas Confiados
  • Testeo de Control de Acceso
  • Testeo de Sistema de Detección de Intrusos
  • Testeo de Medidas de Contingencia
  • Descifrado de Contraseñas
  • Testeo de Denegación de Servicios
  • Evaluación de Políticas de Seguridad

Sección D – Seguridad en las Comunicaciones

  • Testeo de PBX
  • Testeo del Correo de Voz
  • Revisión del FAX
  • Testeo del Modem

Sección E – Seguridad Inalámbrica

  • Verificación de Radiación Electromagnética (EMR)
  • Verificación de Redes Inalámbricas [802.11]
  • Verificación de Redes Bluetooth
  • Verificación de Dispositivos de Entrada Inalámbricos
  • Verificación de Dispositivos de Mano Inalámbricos
  • Verificación de Comunicaciones sin Cable
  • Verificación de Dispositivos de Vigilancia Inalámbricos
  • Verificación de Dispositivos de Transacción Inalámbricos
  • Verficación de RFID
  • Verificación de Sistemas Infrarrojos
  • Revisión de Privacidad

Sección F – Seguridad Física

  • Revisión de Perímetro
  • Revisión de monitoreo
  • Evaluación de Controles de Acceso
  • Revisión de Respuesta de Alarmas
  • Revisión de Ubicación
  • Revisión de Entorno

OWASP

OWASP (Open Web Application Security Project) Foundation es una Fundación sin ánimo de lucro que se dedica a mejorar la seguridad del software (OWASP Foundation, s.f.). 

Entre sus proyectos destacan: 

  • OWASP Top Ten: La lista de las 10 amenazas más importantes en cuanto seguridad en aplicaciones Web.
  • Guía de pruebas de seguridad para móviles.
  • Security Knowledge Framework: Es un conjunto de herramientas para aprender a programar de una forma segura.
  • Web Security Testing Guide: Es una guía de pruebas exhaustiva para aplicaciones web (OWASP, 2020).
  • OWASP ZAP: Es un escáner de aplicaciones Web. 

OTP

“OWASP Testing Project” (OTP), está muy orientado a realizar pruebas sobre aplicaciones Web y está en el camino de convertirse en uno de los proyectos referencia en su ámbito. OWASP, ha conseguido ser una referencia habitual para cualquier desarrollador en el ámbito de la seguridad. OTP en particular, se encuentra enfocado a responder preguntas tales como: ¿qué?, ¿por qué?, ¿cuándo?, ¿dónde? y ¿cómo? testear una aplicación web. Se cubren los siguientes puntos:

  • El alcance de que testear.
  • Principios del testeo.
  • Explicación de las técnicas de testeo.
  • Explicación general acerca del framework de testeo de OWASP.

OTP incorpora en su metodología de testeo, aspectos claves relacionados con el “Ciclo de Vida del Desarrollo de Software” a fin de que el “ámbito” del testeo a realizar, comience mucho antes de que la aplicación web se encuentre en producción.

De este modo, y teniendo en cuenta que un programa efectivo de testeo de aplicaciones web, debe incluir como elementos a testear: Personas, Procesos y Tecnologías, OTP delinea en su primer parte conceptos claves a la vez que introduce un framework específicamente diseñado para evaluar la seguridad de aplicaciones web a lo largo de su vida.

PRUEBAS DE SEGURIDAD DE UNA APLICACIÓN WEB

Aquí se desarrolla una metodología detallada en varias etapas: 

  • Recogida de información.
  • Pruebas de gestión de la configuración y la implementación.
  • Pruebas de gestión de identidad.
  • Prueba de autenticación.
  • Prueba de autorización.
  • Prueba de gestión de sesiones.
  • Prueba de validación de entrada.
  • Manejo de errores.
  • Criptografía.
  • Pruebas de lógica empresarial.
  • Pruebas del lado del cliente.

INFORME

Como todos los informes, debe contener al principio un resumen ejecutivo, y después desarrollar: 

  • Objetivos del proyecto. 
  • Alcance. 
  • Planificación. 
  • Aplicaciones y sistemas objeto de la prueba. 
  • Limitaciones. 
  • Hallazgos 
  • Remediación.

NISST 800-115

Guía Técnica para Evaluaciones y Pruebas de Seguridad de la Información NIST SP 800-115 (Technical Guide to Information Security Testing and Assessment), fue publicada en septiembre del 2008 por el Instituto Nacional de Estándares y Tecnología (NIST) del gobierno de los EE.UU. Describe las pautas sobre como debe realizarse una Evaluación de Seguridad de la Información (ESI) y lo conceptualiza como el proceso de determinar cuan eficazmente una entidad es evaluada frente a objetivos específicos de seguridad. Define como activos y objetos de evaluación los servidores, redes de datos,  procedimientos y personas.

Para la realización de la ESI, pueden usarse tres métodos de evaluación:

  1. Pruebas: Es el proceso de poner bajo pruebas uno o más objetos de evaluación bajo condiciones específicas para comparar el comportamiento real y el esperado.
  2. Escrutinio: Es el proceso de comprobar, inspeccionar, revisar, observar, estudiar o analizar uno o mas objetos de evaluación para facilitar su comprensión, aclaración u obtener evidencias.
  3. Entrevista: Es el proceso para la conducción de discusiones e intercambios con grupos de personas con el objetivo de facilitar la comprensión, aclaración o identificar la localización de evidencias asociadas a los objetos de evaluación.

Los resultados obtenidos a través de los métodos de evaluación son utilizados para determinar la efectividad de los controles de seguridad de la entidad.

La NIST SP 800-115 propone un proceso de ESI compuesto por al menos tres fases:

  1. Planificación: Clasificada como una fase crítica para el éxito de la ESI. En ella se debe recopilar información sobre los activos que serán evaluados, las amenazas de interés contra estos activos y los controles de seguridad que pueden ser utilizados para mitigar esas amenazas.  Teniendo como principio que una ESI es un proyecto, debe establecerse un plan de gestión que incluya metas y objetivos específicos, alcance, requerimientos, roles y responsabilidades de los equipos, limitaciones, factores de éxito, condicionantes, recursos, planificación de tareas y entregables.
  2. Ejecución: El objetivo principal de esta fase es identificar las vulnerabilidades y comprobarlas según la planificación establecida. Deben aplicarse métodos y técnicas de evaluación apropiados según el objetivo de la ESI.
  3. Post-Ejecución: Centrada en el análisis de las vulnerabilidades encontradas para determinar la raíz de las causas de su presencia, establecer recomendaciones para su mitigación y desarrollar el reporte final.

Pruebas de Intrusión en la NIST SP 800-115

Las pruebas de intrusión son formalizadas como las pruebas de seguridad en la cual, los evaluadores simulan ataques del mundo real en un intento de identificar modos de evadir las características de seguridad de una aplicación, sistema o red de datos.

Se menciona además, que la mayoría de las pruebas de intrusión involucran la búsqueda de explotación combinada de vulnerabilidades en uno o más sistemas, de manera que puedan ser aprovechadas para ganar mayores privilegios de acceso que lo que pudiera haberse alcanzado a través de la explotación de una sola vulnerabilidad.

Según la NIST SP 800-115, las pruebas de intrusión pueden ser utilizadas para determinar:

  • La manera en que el sistema tolera los patrones de ataques del mundo real.
  • El nivel de sofisticación que un atacante necesita para comprometer con efectividad el sistema.
  • Las medidas adicionales que se deben emplear para mitigar las amenazas contra el sistema.
  • La habilidad de los defensores para detectar los ataques y responder apropiadamente a estos.

Fases de la prueba de intrusión

El proceso de pruebas de intrusión se desarrolla a través de cuatro fases:

nistsp880115-f1-fases-generales

Fase de Descubrimiento:

Se realiza el escaneo y recopilación de información de la infraestructura informática de la entidad.

Se realiza el descubrimiento de vulnerabilidades a partir de la información recopilada de servicios, base tecnológica y otras informaciones que permitan realizar búsquedas en bases de datos de vulnerabilidades públicas o propias.

Fase de Ejecución:

En este proceso se realiza la comprobación de las  vulnerabilidades previamente descubiertas y es la fase principal del proceso (figura 2). Si un ataque es exitoso, debe aislarse y documentarse cuidadosamente la vulnerabilidad y proponerse medidas para mitigarla. Las actividades internas que se llevan a cabo son:

Ganar privilegios de accesos: Si la información recopilada en la fase anterior es suficiente, durante esta actividad es posible ganar privilegios de acceso al sistema.

Escalada de privilegios:

Si en la actividad anterior solo se pudo ganar privilegios de acceso de bajo nivel (Ej. usuario básico), durante esta actividad, los evaluadores deben tratar de alcanzar el control total de sistema, semejante al que tendrían los administradores de este.

Navegación dentro del sistema:

Con el control del sistema alcanzado en la actividad anterior, los evaluadores deben buscar información adicional que les permita comprender mejor la existencia y métodos para ganar privilegios de acceso en sistemas secundarios. Si se descubren nuevos datos e informaciones, se sumarían estos a los resultados de la fase de Descubrimiento y se planificaría la explotación de las nuevas vulnerabilidades descubiertas.

Instalación de herramientas adicionales:

Durante el proceso de explotación de vulnerabilidades, puede requerirse la instalación de herramientas que permitan recopilar información adicional, ganar otros privilegios de accesos o ambas cosas a la vez.

nistsp880115-f1-fases-especificas.png

Fase de Documentación y Reporte:

Se desarrolla en paralelo con el resto de las fases del siguiente modo:

En la fase de Planificación se documenta el Plan de Evaluación o las Reglas de Interacción.

En la fase de Descubrimiento se almacenan los reportes generados por los escaneadores de vulnerabilidades e informaciones útiles obtenidas a través de otros medios.

En la fase de Ejecución se almacenan los reportes generados por las herramientas de explotación de vulnerabilidades.

Al concluir la prueba de intrusión, se genera un reporte con la descripción de las vulnerabilidades encontradas, presenta una puntuación de riesgos y brinda una guía sobre como mitigar las debilidades descubiertas.

En definitiva, la NIST SP 800-115 concibe las pruebas de intrusión como un paquete de pruebas de seguridad que se realizan utilizando los mismos métodos y herramientas que emplean los atacantes reales. Se emplean para verificar las vulnerabilidades descubiertas en fases anteriores y sirven para demostrar como las vulnerabilidades pueden ser explotadas iterativamente para ganar privilegios de accesos al sistema.

Su concepción de la Evaluación de Seguridad de la Información gestionada mediante un proyecto estándar y la redacción de un documento conteniendo las Reglas de Interacción, lo convierten en referente para la construcción del proceso de gestión de las Prueba de Intrusión. Por otra parte, se evidencian limitantes que impiden que pueda ser tomado como base para la ejecución de pruebas de seguridad concretas en aplicaciones informáticas en sentido general y en aplicaciones web de manera específica.