Un test de penetración consiste en pruebas ofensivas contra los mecanismos de defensa existentes en el entorno que se está analizando. Estas pruebas comprenden desde el análisis de dispositivos físicos y digitales, hasta el análisis del factor humano utilizando Ingeniería Social. El objetivo de estas pruebas es verificar bajo situaciones extremas cuál es el comportamiento de los mecanismos de defensa, específicamente, se busca detectar vulnerabilidades en los mismos. Además, se identifican aquellas faltas de controles y las brechas que pueden existir entre la información crítica y los controles existentes.
¿Por qué es necesario realizar un Penetration Test?

Existen muchos casos donde las organizaciones sufren incidentes que podrían haberse evitado si los mecanismos de protección hubieran sido reforzados en su momento. Los incidentes comprenden sucesos tales como fuga de información, accesos no autorizados, pérdida de datos, entre muchos otros. El análisis de los mecanismos de protección debe ser una tarea proactiva permitiendo al pentester (persona que lleva adelante la auditoría) encontrar las vulnerabilidades dentro de los mismos y brindar una solución antes de que un ciberdelincuente aproveche esta debilidad.

¿Qué actividades comprende un Penetration Test?

Un Penetration Test comprende múltiples etapas con diferentes tipos de actividades en distintos ámbitos y entornos. La profundidad con que se lleven a cabo las actividades dependerá de ciertos factores, entre los que se destaca el riesgo que puede generar hacia el cliente alguno de los métodos que se apliquen durante la evaluación.
Se establece un previo acuerdo con el cliente para llevar a cabo las diferentes fases del análisis, que se describen a continuación:

  • Fase de reconocimiento: Posiblemente, esta sea una de las etapas que más tiempo demande. Asimismo, se definen objetivos y se recopila toda la información posible que luego será utilizada a lo largo de las siguientes fases. La información que se busca abarca desde nombres y direcciones de correo de los empleados de la organización, hasta la topología de la red, direcciones IP, entre otros. Cabe destacar que el tipo de información o la profundidad de la pesquisa dependerán de los objetivos que se hayan fijado en la auditoría.
  • Fase de escaneo: Utilizando la información obtenida previamente se buscan posibles vectores de ataque. Esta etapa involucra el escaneo de puertos y servicios. Posteriormente se realiza el escaneo de vulnerabilidades que permitirá definir los vectores de ataque.
  • Fase de enumeración: El objetivo de esta etapa es la obtención de los datos referente a los usuarios, nombres de equipos, servicios de red, entre otros. A esta altura de la auditoría, se realizan conexiones activas con el sistema y se ejecutan consultas dentro del mismo.
  • Fase de acceso: En esta etapa finalmente se realiza el acceso al sistema. Esta tarea se logra a partir de la explotación de aquellas vulnerabilidades detectadas que fueron aprovechadas por el auditor para comprometer el sistema.
  • Fase de mantenimiento de acceso: Luego de haberse obtenido el acceso al sistema, se busca la manera de preservar el sistema comprometido a disposición de quien lo ha atacado. El objetivo es mantener el acceso al mencionado sistema perdurable en el tiempo.

Tipos de pentesting

Podemos clasificar las pruebas de penetración de 3 tipos:

  • Tests de caja blanca: Se dispone de toda información de la aplicación, sistema y/o arquitectura.
  • Tests de caja gris: Se dispone de información parcial de la aplicación, sistema y/o arquitectura.
  • Tests de caja negra: No se dispone de ninguna información de la aplicación, sistema y/o arquitectura.

Cada tipo de pentesting normalmente va determinado en base a las condiciones que establece el cliente, donde esas condiciones suelen ir relacionadas con la visibilidad, como por ejemplo simular la visibilidad de un atacante de forma externa, un atacante de forma interna, etc.

Como es lógico, en las pruebas de penetración cuanto menos información dispongamos del objetivo a testear, más complejo nos resultará inicialmente poder realizar el pentesting, dado que existe una fase de recopilación de información (fingerprinting y footprinting) que determinará la visibilidad que tenemos sobre esa aplicación, sistema y/o arquitectura a realizar los tests, por lo que sin información previa tendremos que realizar un esfuerzo grande y bastante meticuloso a la hora de recopilar estos datos si no queremos hacer pruebas y pruebas en vano sin obtener resultados.

Metodologías de pentesting

A la hora de realizar pentesting disponemos de diversas metodologías las cuales podemos seguir o bien podemos tomar como referencia a la hora de realizar nosotros nuestras propias auditorías, esto ya es según las necesidades de cada uno, pues por requerimientos es posible que haya que cumplir algunas determinadas.

Algunas de las metodologías de pentesting serían:

  • ISSAF
  • PCI
  • PTF
  • PTES
  • OWASP
  • OSSTMM
  • Cyber Kill Chain