Bases en las Pruebas de Penetración y Seguridad (PTES)


Seguridad PTES Ciberseguridad Penetration Testing Pruebas de Penetración Infraestructuras Administración de Sistemas Firewall Cortafuegos Vulnerabilidades Reporting SysAdmin Escaneo Fingerprinting Fuerza bruta

Las pruebas de penetración (Penetration Testing o Pentesting) comprenden los procedimientos, técnicas y herramientas que permiten simular los métodos que un potencial atacante podría usar para sobrepasar o evitar los mecanismos de control y seguridad, con el objetivo final de obtener acceso a los sistemas de la organización.

Las técnicas y pruebas de penetración no se basan en realizar simples escáneres, aplicar herramientas automatizadas y generar informes, sino que existen metodologías sofisticadas que requieren años de prácticas. El proceso para ser competente es largo y complejo, pues es vital contar con experiencias en ámbitos reales en todo tipo de entornos, sistemas y flujos de trabajo de distintas corporaciones.

El Estándar de Ejecución de Pruebas de Penetración PTES (Penetration Testing Execution Standard) redefine la manera de concebir estas pruebas dentro de la industria de la seguridad. Este estándar ha sido generado para facilitar la labor de todo tipo de profesionales, teniendo como misión la concienciación y definición metodológica de una actuación de pentesting apropiada. Esto se consigue mediante el establecimiento de una metodología para cumplir un conjunto de principios fundamentales requeridos para cualquier test de penetración.

El estándar PTES define un conjunto de fases con el propósito de establecer los tests de penetración y asegurar unos requisitos mínimos establecidos en la evaluación de la organización objetivo. Cualquiera que lleve a cabo este procedimiento estará asegurando un nivel de esfuerzo apropiado para poder garantizar calidad en las pruebas de penetración. El estándar está dividido en siete categorías, cada una de las cuales requiere distintos niveles de esfuerzo para ser completada, y por supuesto, dependiente totalmente de las características, complejidad y amplitud de la organización a ser evaluada.

PTES Penetration Testing - Pruebas de Penetración y Seguridad junto con Procedimiento ad-hoc para una empresa TIC

PTES Penetration Testing - Estándar de Ejecución de Pruebas de Penetración y Seguridad junto con un procedimiento ad-hoc del tipo PTES para una empresa TIC con e-commerce que hospeda contenedores con SSOO personalizados, usa microservicios distribuidos, tiene DBMS/Middlewares separados y distribuye múltiples aplicaciones web (WebApps).

Las Interacciones Pre-Participación se dan generalmente cuando se negocian y debaten los términos de los tests de penetración con el cliente, así como cuando se determina el alcance y ámbito del mismo dentro de la organización, comprendiendo su modelo de negocio, las infraestructuras, servicios y aplicativos. Es vital que se acuerden los objetivos del encargo, y habitualmente es un periodo en el que se puede educar al cliente de la importancia del proceso. Esto comprende las labores y pruebas a efectuar, indicando claramente lo que se espera conseguir una vez realizado, así como expresar las restricciones existentes para conducir las pruebas (y aquellas imprescindibles y que se deban solventar).

En la fase de Recogida de Información se busca y recolecta cualquier tipo de información que se pueda obtener de la organización a ser atacada. En esta fase se usan todo tipo de métodos de recolección, desde redes sociales y medios, hacking de buscadores (Google, Bing, Baidu, DuckDuckGo), "interrogación" de protocolos y servicios, hasta técnicas de activas y pasivas de footprinting (Open-Source, DNS, de redes y servicios). Una habilidad fundamental de cualquier pentester es la capacidad para aprender todo lo posible sobre un objetivo, incluyendo sus comportamientos, formas de operar y en última instancia, cómo ser atacado. Toda información recabada será bienvenida, dando valor y trasfondo a la operación de ataque. Esto favorece el conocimiento de todo tipo de controles y mecanismos de seguridad que pueda albergar una víctima, pues cada organización es distinta.

Generalmente, se determinan los mecanismos de protección en cada sistema por medio de un lento proceso de inspección, lanzamiento de paquetes, sondas (balizas con payloads), patrones de identificación, verificación ante heurísticas conocidas, etc. Por ejemplo, algunos sistemas solo permiten ser conectados por unos rangos de IPs concretas, máscaras de Ethernet o números mágicos de identificación de trazas, y cualquier otra vía supondrá un bloqueo temporal o permanente por su propio firewall, dificultando aún más la recogida de información. Si consideramos aplicaciones y servicios web, no es descabellado que también se restrinja nuestro acceso ante un número de peticiones (X llamadas cada Y tiempo), determinados tipos de solicitudes (URLs /management, /admin, /login, inyecciones de código vía URL Query, etc) o formas de ser utilizados (cargar ficheros prohibidos o potencialmente maliciosos, solicitud reiterada de mecanismos de autenticación y recuperación, forzado de protocolos poco seguros o desactualizados, conexiones SSH con parámetros exploratorios fuera de guías y normativas convencionales, etc). Por este motivo, es conveniente jugar con todas las alternativas posibles de consulta antes de que seamos filtrados y bloqueados, y en caso de suceder, contar con un repertorio de IPs, MACs, URLs destino, URL referrer, nodos origen, UAs,... con los que podamos contar, dificultando los patrones de reconocimiento.

Como curiosidad, cualquier entidad expuesta a Internet está sufriendo constantemente este tipo de etapas, con el objetivo de recolectar información para explotar potenciales vulnerabilidades. Cuando más caótico y aparentemente aleatorio sean nuestras peticiones y solicitudes, mejor, pues se camuflará con el entorno. En general, es conveniente recolectar la información desde distintas máquinas/IPs/orígenes que aquellos con los que serán realizados los ataques.

El Modelado de Amenazas usa la información recogida en la fase anterior con el objetivo de identificar cualquier vulnerabilidad existente en el sistema. Cuando se efectúa el modelado, se determina el método más efectivo para atacar, el tipo de información que se busca y cómo podría darse el ataque a la organización. Es importante adoptar el rol de atacante, considerando la organización como el adversario que concentra un conjunto de debilidades e intentar explotarlas como lo haría un atacante real.

La fase de Análisis de Vulnerabilidades se centra en estudiar las vías para conseguir acceso a la organización del objetivo, una vez identificados los métodos de ataque más viables. Aquí se combina la información aprendida en fases previas, a menudo denominada inteligencia, empleándola para entender los tipos de ataques, sus facilidades y compromisos en la elaboración y ejecución. Por ejemplo, se tiene en cuenta el escaneo de puertos, servicios y vulnerabilidades, la recopilación de información de las aplicaciones Web y los sistemas operativos (Web server & OS fingerprinting), así como la obtención de datos por medio de técnicas para la obtención de versionado de softwares y servicios (banner grabbing), entre otros.

Una vez completadas las fases previas, se realiza una de las partes más interesantes y conocidas de las pruebas de penetración, la Explotación. Lo recomendable es incidir en ataques de precisión, a menudo quirúrgicos, pero no por ello quedan descartados los intentos de bombardear por medio de fuerza bruta. En esta fase se utilizan los exploits, es decir, un software, conjunto de datos o secuencias de comandos que permiten sacar provecho a una vulnerabilidad, fallo de seguridad o bug existente en una aplicación o sistema. De este modo, un exploit debería ser usado cuando se sabe "a ciencia cierta" que va a ser exitoso en su ejecución. Es recomendable que antes de lanzar un ataque sepamos que el sistema es vulnerable en ese aspecto, aunque siempre hay que considerar que se pueden dar situaciones imprevistas para el pentester. Esto es, podrían existir medidas de seguridad ocultas y mecanismos defensivos de contención no recolectados en las fases previas que acaben inhabilitando el ataque. Realizar ataques caóticos donde se traten de ejecutar todo tipo de exploits no es recomendable, ya que es ruidoso y complica el análisis, restando valor tanto para el proceso de pentesting como para el propio cliente.

La fase de Post-Explotación comienza a darse una vez que se ha comprometido algún sistema como parte del proceso de explotación, aunque las labores de pentesting distan de finalizar. Esta fase es fundamental, puesto que permite marcar la diferencia con respecto a otros analistas de seguridad y pentesters, otorgando información útil para la organización y determinando realmente el aporte de valor e inteligencia de una manera diferenciadora al cliente. La post explotación tiene como objetivo sistemas específicos, identifica infraestructura crítica y trata de obtener datos e información de gran importancia para la organización, motivo por el cual es ocultada y segurizada. El pentester va desencadenando ataques a sistemas, aplicaciones y servicios con el propósito de obtener el máximo impacto en el negocio del cliente.

Al realizar esta fase de ataques y su análisis, es importante considerar los diferentes roles y capacidades de los usuarios de cada sistema, así como el funcionamiento técnico y comportamiento operativo de cada entidad de la organización. Es una campo lo suficientemente amplio como para albergar todas las posibilidades, de ahí su complejidad y potenciales resultados. Por ejemplo, incluso realizando un ataque efectivo sobre la capa de red y obteniendo envenenamiento y suplantación DNS (DNS poisoning & spoofing), no hemos conseguido interferir en todos los sistemas de comunicaciones y su autenticación, al no haber considerado completamente casos como Kerberos Ticket Authentication, LDAP o Active Directory. ¿Se ha considerado la posibilidad de atacar al sistema financiero y los mecanismos de nóminas? ¿la red corporativa y la suplantación de identidad vía correos corporativos? ¿a las patentes y la propiedad intelectual? ¿al reemplazo de contratos y la caducidad de servicios? ¿la explotación de backdoors en el software desplegado, la modificación de códigos abiertos colaborativos o los mecanismos de entrega de código personalizado a sus clientes o fabricantes? ¿las facilidades para dañar la credibilidad corporativa, sus redes y la imagen comercial? Como se puede apreciar, las posibilidades son infinitas. Al fin y al cabo, esta fase contempla todo tipo de escenarios en donde el pentester debe dedicar tiempo a analizar la información disponible y usarla para su propio beneficio. No es necesario elaborar sofisticados planes de ataque donde se requieran multitud de condiciones para completar con éxito la explotación, pero si la organización es grande y con multitud de entresijos en sus infraestructuras, roles, servicios y aplicaciones, más complejas y enrevesadas pueden ser las vías de explotación para obtener un impacto en su negocio. Se dan todo tipo de situaciones, a veces los ataques más comunes y "sencillos" son los más fructíferos, en otras ocasiones es necesario encajar de manera precisa diversos agujeros de seguridad y elaborar un conjunto de rutas con sub-objetivos para conseguir alcanzar el trofeo con mayor impacto en la organización.

Finalmente, la última y más importante, la fase de Presentación de Infomes, pues plasma y comunica lo realizado, cómo se ha hecho, y sobre todo, qué puede hacer la organización para protegerse y solventar las vulnerabilidades descubiertas durante las pruebas de penetración. Un aspecto clave es que estas fases se realizan desde un punto de vista de un potencial atacante, por lo que la aportación de valor es clara para la organización del cliente, mejorando drásticamente la seguridad y favoreciendo el bloqueo de futuros ataques. A medida que los descubrimientos se van documentando, se va pensando en cómo la organización puede nutrirse y beneficiarse para ampliar su concienciación, parchear los sistemas y remediar los agujeros de seguridad encontrados en sus servicios y aplicaciones. Una vez se van materializando los resultados, es conveniente presentar y comunicar al menos dos tipos de reportes: una presentación ejecutiva (dossier-resumen) y un documento técnico. No obstante, el proceso de reporting puede ser más ambicioso e incluir evaluación y verificación periódica de etapas previas, sobre todo si existen acuerdos colaborativos y se van implementando las reparaciones de bugs y vulnerabilidades.

Es importante destacar que el estándar metodológico PTES se efectúa generalmente de manera iterativa, a menudo contrastando cambios técnicos y operativos de la organización de forma cíclica. No por ello hay que evitar etapas que se hayan realizado en estudios previos, pues puede haber novedades significativas que influyan en cualquiera de las fases, afectando al procedimiento y a la consecución de una correcta evaluación de las pruebas de penetración.

En este artículo se han recogido las fases y pautas generales comprendidas por el estándar, pero la labor suele ser extremadamente compleja y exhaustiva, más aún si hablamos de organizaciones transnacionales y con gran impacto comercial. No obstante, el pentester se debe ir nutriendo de un conjunto de herramientas, habilidades técnicas y metodologías para poder hacer efectivos sus análisis de seguridad, pero sin dejar de lado la parte más artística. En definitiva, hay que ser creativos y valorar más los métodos propios que las herramientas automatizadas, eso sí, siempre siendo capaces de adaptarse rápidamente, pues la información no para de incrementar durante todo el proceso.

Este sitio web emplea cookies propias y de terceros para analizar el tráfico y ofrecerle una mejor experiencia. Al navegar o utilizar nuestros servicios el usuario está aceptando su uso.Más información.