Hacking ético: fases de un test de intrusión

Durante el test de intrusión se pueden destacar unas fases diferenciadas, con objetivos particulares distintos y un objetivo común.

El objetivo común es claramente realizar el testeo de la Organización, mientras que los distintos objetivos de cada fase son ayudar a la aportación de información y pruebas sobre el estado de la seguridad.

Hay que recordar que presentar un estado de seguridad al cliente es primordial para obtener las conclusiones sobre el estado de su Organización.

Las fases del pentest son las siguientes:

Alcance y términos del test de intrusión

Es el punto de partida de todo test de intrusión, la fase de la entrevista. Se debe llegar a un acuerdo sobre hasta dónde se quiere llegar con el test, cual es el ámbito de la prueba. En otras palabras, se discute cuál es el alcance y los objetivos buscados por el cliente y deben ser bien recogidos por un contrato firmado por ambos.

En esta etapa hay que ir explicando al cliente lo que es realmente un test de intrusión y, sobre todo, toda la información privada (y a veces clasificada) de la empresa que puede llegar a manejarse.

Estas restricciones pactadas, siempre y cuando vayan por contrato, deben ser tomadas muy en cuenta por parte del auditor, ya que la información que se manejará será interna de la empresa y, por lo tanto, confidencial.

Recolección de información

En esta se recolectará toda la información posible sobre la Organización a auditar.

Esta información puede ser obtenida por distintos medios: ingeniería social, medios de comunicación, publicaciones en internet, Google hacking, footprint, etc.

Una de las habilidades más importantes en un auditor es la posibilidad de aprender cómo se comporta el objetivo, cómo funciona, cómo está construido y, por último, cómo poder atacarlo.

Toda la información recopilada es importante y permitirá al auditor disponer de una visión global. de los tipos de controles de seguridad que existan en el lugar.

Durante esta recopilación de información es importante identificar qué mecanismos de protección existen en el lugar, para poder empezar a probar los sistemas.

Identificar estas protecciones es de vital importancia para poder estudiar cómo funcionan estos sistemas de seguridad.

Análisis de vulnerabilidades

Una vez que se ha realizado la recolección de información, se procederá al análisis de la misma.

En esta información recopilada se pueden encontrar vulnerabilidades existentes en un sistema.

Hay que realizar un modelado con toda la información recopilada en el que se determinará el método de ataque más eficaz.

Este modelado tratará de buscar en una Organización, como si de un adversario se tratase, y de explotar las vulnerabilidades como un atacante lo haría.

Una vez que se han identificado los posibles métodos de ataque con mayor viabilidad, habrá que pensar sobre cómo acceder al sistema. Por acceder se entiende que el posible ataque que lance el auditor disponga de una vía de conexión hacia el sistema a explotar.

El análisis de vulnerabilidades debe ser combinado con la información que el auditor ha ido aprendido en la fase anterior. En otras palabras, el análisis de vulnerabilidades utiliza información sobre puertos, escaneos de vulnerabilidades, datos recogidos e información recolectada en la fase anterior para indicar al auditor la vía adecuada de acceso a la fase de explotación.

Explotación de las vulnerabilidades

Esta fase es la más conocida y la que más emoción aporta al proceso de pruebas. Aquí el auditor comprueba si la recogida de información y el análisis de vulnerabilidades fueron correctos o al final lo único que se han conseguido han sido falsos positivos.

Un exploit debe ser lanzado si se dispone de la certeza de que obtendremos un resultado positivo en la prueba. A menudo, se utilizan herramientas para automatizar esta fase y se lanzan exploits sin tener esa certeza. Tampoco es una mala política, ya que la automatización del proceso siempre es entendida como una buena práctica, pero obviamente el auditar está perdiendo el control sobre lo que está sucediendo en el entorno de la Organización.

Lo más conveniente siempre es lanzar un exploit si se tiene la certeza de que va a funcionar adecuadamente; en cambio, si hay varias vulnerabilidades, se puede automatizar el proceso para explotar todas ellas.

Post-explotación del sistema

En esta fase ya se dispone de acceso a algún sistema, pero se puede intentar acceder a otros con más peso en la Organización.

Por ejemplo, supongamos que el auditor tiene acceso a una máquina, la cual tiene acceso a un controlador de dominio, el cual tras estudiarlo a través de la máquina vulnerada inicialmente comprobamos que también es vulnerable. Entonces este controlador de dominio puede ser explotado por el auditor, a través de la primera máquina.

Con esta acción se demuestra al cliente el gran impacto que supone que máquina con, a priori, menos peso en la Organización sean vulnerables.

En esta fase también puede obtenerse información sensible, con vistas al informe final.

Por ejemplo, cuentas de usuario, las cuales pueden proporcionar al auditor acceso a otras máquinas de la Organización y seguir poniendo a prueba otros sistemas dentro de ella.

Generación de informes

Esta fase refleja la importancia de comunicar todo el proceso que se ha ido realizando en la Organización.

Es importante que el auditor vaya documentando todas las acciones y procedimientos llevados a cabo durante el test de intrusión.

Cada fase debe estar documentada en mayor o menor medida, y es una buena práctica no dejar la documentación para esta fase final.

Es posible que la generación de informes sea la parte más relevante del test de intrusión.

En estos documentos se debe explicar qué trabajo se ha realizado en la Organización, cómo se ha hecho dicho trabajo, es decir, herramientas y técnicas utilizadas, y lo más importante, qué vulnerabilidades han sido descubiertas durante la auditoría de la Organización.

Como mínimo es preciso hacer 2 informes: ejecutivo y técnico.

El informe técnico es un documento con gran nivel de detalle en el que se especifican todas las acciones con las herramientas que se han ido utilizando y los resultados que se han ido obteniendo. Además, debe acompañarse con una lista que indique cómo subsanaremos riesgos y unas recomendaciones del auditor.

El informe ejecutivo es un documento más liviano, en el que se deben especificar las vulnerabilidades encontradas pero sin detalles técnicos.

Todo se debe explicar de tal manera que cualquier persona sin capacidades técnicas entienda qué riesgos existen en la Organización.

Además, el propietario de la Organización esperará sus recomendaciones como profesional de la seguridad, por lo que en este informe debe existir dicha lista.