Un Pentester es un hacker ético que participa en labores de tests de penetración, mediante los cuales se comprueba la seguridad de una organización y sus sistemas. Eso sirve para solventar vulnerabilidades y tapar posibles brechas de seguridad por las que actores malvados puedan comprometer a dicha organización.
Antes de ponernos con lo técnico, debemos conocer más sobre el trabajo, y las responsabilidades de un pentester, a la hora de realizar sus tests de penetración para descubrir vulnerabilidades en un sistema o aplicación del cliente.
¿Qué es el pentesting o los test de penetración?
Es un intento ético de probar y analizar la seguridad y las defensas de un sistema y los activos que lo componen.
Un test de penetración implica usar las mismas herramientas, técnicas y metodologías que usaría un hacker con intenciones maliciosas. Por eso, el pentester, aunque sea un hacker ético, debe ponerse en la piel de un hacker malicioso, pensar como él y usar sus mismas técnicas y herramientas.
La ética de los test de penetración
Recordemos que el test de penetración es siempre una auditoría autorizada.
La legalidad es clara, todo lo que caiga fuera del ámbito estipulado con el cliente no está autorizado y, por tanto, no debe realizarse.
Para definir bien eso, hay un acuerdo previo con el cliente donde se establece el ámbito de la penetración.
De hecho, en algunos países, como Reino Unido, las empresas que realizan estos servicios tienen que regirse por marcos legales y acreditaciones.
La ética es un debate moral entre lo que está bien o mal. Por ejemplo, realizar un ataque de phishing contra un empleado de la empresa puede estar dentro del acuerdo y el ámbito, y por tanto ser legal. Pero éticamente, es cuestionable.
Normalmente, a los hackers se los identifica con 3 sombreros según la ética de sus acciones.
- Blancos. Los «buenos», que juegan acorde a la ley y cuyas habilidades benefician a todos, por ejemplo, un pentester.
- Grises. A menudo benefician a otros con sus acciones, pero no respetan o siguen la legalidad o la ética. Por ejemplo, alguien que tumba un sitio de timadores.
- Negros. Criminales que ofrecen dañar a organizaciones o ganan dinero a costa de otros. Por ejemplo, los atacantes con ransomware.
Las reglas de enfrentamiento (Rules of engagement)
Se trata de un documento creado durante el inicio del test de penetración. Consiste en 3 secciones principales y es el que determina cómo se va a realizar el enfrentamiento.
He aquí un buen ejemplo del SANS Institute.
Veamos esas 3 secciones:
- Permiso: El documento concede permiso explícito para el enfrentamiento. Este permiso es fundamental para proteger legalmente a los individuos y organizaciones en las actividades que llevarán a cabo.
- Ámbito del test: Aquí se detallan objetivos específicos y establece el ámbito y el alcance. Por ejemplo, realizar la prueba solo para ciertos servidores, pero no para la red completa.
- Reglas: Define exactamente las técnicas permitidas durante el enfrentamiento. Por ejemplo, se puede establecer que el phishing queda fuera, pero un ataque MITM (Man in the middle) es adecuado.
Metodologías de test de penetración
Un pentesting tiene multitud de objetivos y ámbitos, así que, a causa de esto, no hay dos test que sean iguales y no hay una metodología que sirva siempre para todos.
Los pasos que se realizan en esos test son dicha metodología y deben ser relevantes para la tarea que tengamos enfrente. Por ejemplo, el método empleado para probar una aplicación web no es práctico cuando tienes que probar la seguridad de una red o la capacidad de los empleados para detectar el phishing.
Antes de ver algunas metodologías estándar, deberíamos tener en cuenta que todas ellas tienen un marco general que sigue estas fases.
| Fase | Descripción |
|---|---|
| Reunir información | Recolectar tanta información públicamente accesible como se pueda. Se realiza mediante OSINT e investigación y no implica escanear sistemas. |
| Enumeración / Escaneo | Esta fase implica descubrir aplicaciones y servicios que corren en los sistemas. Por ejemplo, encontrando un servidor web que puede ser potencialmente vulnerable. |
| Explotación | Aprovechando las vulnerabilidades descubiertas en el sistema o aplicación. Puede implicar el uso de exploits públicos o explotar la lógica de una aplicación. |
| Escalada de privilegios | Una vez has explotado con éxito un sistema o aplicación, expandes tu acceso al sistema, horizontalmente a usuarios con el mismo privilegio o verticalmente a usuarios con mayores privilegios. |
| Posexplotación | Esta fase tiene subfases. 1. Qué otras máquinas pueden ser objetivo (pivot). 2. Qué información adicional podemos conseguir de la máquina ahora que somos un usuario privilegiado. 3. Cubrir nuestras huellas. 4. Informar. |
Veamos metodologías diversas que suelen ser más o menos estándares en el sector, por lo que pueden servir de referencia y base para definir el text de penetración concreto que vamos a realizar.
OSSTMM
Siglas de The Open Source Security Testing Methodology Manual, esta metodología nos provee de un marco detallado de estrategias de prueba para sistemas, software, aplicaciones, comunicaciones y el aspecto humano de la ciberseguridad.
La metodología se enfoca principalmente en cómo se comunican las aplicaciones, con lo que incluye una para:
- Telecomunicaciones (teléfonos, VoIP, etc).
- Redes cableadas.
- Redes inalámbricas.
| Ventajas | Disadvantages |
|---|---|
| Cubre varias estrategias de prueba en profundidad. | El marco de trabajo es difícil de entender, muy detallados y tiende a usar definiciones únicas. |
| Incluye estrategias de prueba para objetivos específicos (p.ej. telecomunicaciones y redes). | |
| Es flexible, dependiendo de la necesidad de las organizaciones. | |
| Pretende establecer un estándar para sistemas y aplicaciones, lo que significa que una metodología universal puede usarse en un escenario de prueba de penetración. |
OWASP
El marco de trabajo Open Web Application Security Project se actualiza con frecuencia y se usa para probar la seguridad de aplicaciones web y servicios.
Habitualmente, la fundación realiza informes con el top 10 de vulnerabilidades que puede tener una aplicación, el enfoque de prueba y su mitigación.
| Ventajas | Desventajas |
|---|---|
| Fácil de pillar y entender. | Puede no estar claro qué tipo de vulnerabilidad tiene una aplicación web (a menudo se solapan). |
| Mantenida activamente y actualizada con frecuencia. | OWASP no realiza sugerencias a ningún ciclo de vida de desarrollo de software. |
| Cubre todas las fases, desde la prueba hasta los informes y la mitigación. | No matienen ninguna acreditación, como CHECK. |
| Especializada en aplicaciones web y servicios. |
NIST Cybersecurity Framework 1.1
La metodología NIST Cybersecurity Framework se usa para mejorar los estándares de ciberseguridad en las organizaciones y gestionar el riesgo de ciberamenazas. Merece mención de honor por su popularidad y detalle.
Provee de líneas base en controles de seguridad y puntos de referencia de éxito para organizaciones con infraestructuras críticas, como centrales de energía.
| Ventajas | Desventajas |
|---|---|
| Se calcula que NIST fue usada por el 50% de las organizaciones americanas en 2020. | NIST tiene muchas iteraciones, con lo que se hace difícil decidir cuál se aplica a tu organización. |
| Muy detalladas en establecer estádares que ayudan a las organizaciones a mitigar el peligro de las ciberamenazas. | Tiene políticas débiles de auditoría, haciendo difícil determinar cómo ha ocurrido una brecha. |
| Actualizada de manera frecuente. | No considera la computación en la nube, cada vez más popular para las organizaciones. |
| NIST provee de acreditación para organizaciones que usan su forma de trabajo. | |
| Está diseñada para ser implementada junto con otras estructuras y marcos de trabajo. |
NCSC CAF
La Cyber Assessment Framework (CAF) se compone de 14 principios que valoran el riesgo de varias ciberamenazas y las defensas de una organización contra ellas.
Se aplica a organizaciones que realizan actividades y servicios de importancia vital, como bancos, etc. Principalmente se centra en:
- Seguridad de los datos.
- Seguridad de los sistemas.
- Control y acceso de identidad.
- Resistencia.
- Monitorización.
- Respuesta y plan de recuperación.
| Ventajas | Desventajas |
|---|---|
| Respaldada por una agencia de ciberseguridad del gobierno. | Es nueva y las organizaciones aún no han realizado los cambios necesarios para adaptarse. |
| Provee acreditación. | Basada en principios e ideas, no es tan directa como otras metodologías, que tienen reglas. |
| Cubre 14 principios que van desde seguridad hasta respuesta. |
Test de penetración en Caja Negra, Caja Blanca y Caja Gris
Hay diferentes tipos de pruebas según la naturaleza de la información sobre el sistema que los encargados del test de penetración van a probar. Así, puedes conocer todos los detalles o bien ir a ciegas completamente, sin saber a qué te vas a enfrentar.
Caja Negra
Se trata de una prueba de procesos a alto nivel, donde no se le da ninguna información al pentester sobre funcionamiento interno de la aplicación o servicio.
El pentester actúa como un usuario normal, probando la funcionalidad y la interacción con la aplicación.
Aumenta mucho el tiempo durante las fases de recogida de información y enumeración, a fin de entender la superficie de ataque.
Caja Gris
Este es el más popular de los tests, ya que es una combinación de cajas blanca y negra, en la que se tiene conocimiento limitado.
Esto ahorra tiempo y normalmente se escoge para superficies de ataque extremadamente blindadas.
Caja Blanca
Se trata de un proceso a bajo nivel, que suele realizar un desarrollador que conoce el lenguaje y la lógica de la aplicación.
Probaremos componentes internos de la aplicación, para asegurarnos, por ejemplo, de que funciones específicas funcionan correctamente y a tiempo. De esa manera, se garantiza que se pueda probar toda la superficie de ataque.
Como se puede ver, el pentesting tiene muchos aspectos importantes y es la prueba de fuego de las defensas de un sistema u organización. Obviamente, el resultado de dicho test será tan bueno como el nivel de los hackers éticos implicados en él. Y no, no suele ser barato cuando lo encargas, eso se debe a que el equipo de pentesting suele ser multidisciplinar, teniendo a expertos OSINT, hackers especializados en ataques web, en el sistema operativo que utilice la empresa…