Blog
El pentesting es la técnica utilizada por los consultores de seguridad informática con el objetivo de evaluar y analizar las vulnerabilidades de una empresa.
Con dicha evaluación se pretende evitar posibles pérdidas que podrían ser ocasionadas por elementos maliciosos.
Veamos a continuación como se lleva a cabo.
¿En qué consiste un pentesting?
En palabras simples, un pentesting es la simulación de un ataque real a un sistema informático, con el fin de testear sus debilidades o vulnerabilidades. También sirve para probar que tan eficiente es su defensa actual.
Gracias a estos pentests es posible clasificar y determinar tanto el alcance como los efectos de los fallos de seguridad encontrados, y de esta forma generar una especie de reporte que servirá para la aplicación de medidas correctivas que minimicen las vulnerabilidades.
Ahora bien, cabe aclarar que este ataque se realiza con el consentimiento del propietario de los equipos que se desean evaluar.
Tipos de Pentesting
El pentesting se clasifica en tres tipos en función a la información que se tiene sobre el sistema; a saber:
-
Pentesting de caja blanca:
Se trata de un pentest completo, pues contamos con toda la información necesaria para el testeo del sistema, la aplicación o la arquitectura.
Dado que se evalúa toda la infraestructura de la red, el volumen de información resulta extenso; por lo tanto, este test por lo general es realizado por varios miembros del equipo TI de la empresa.
-
Pentesting de caja negra:
En este caso no se dispone de ninguna información sobre el sistema. Ideal para imitar la actuación de un ataque externo realizado por hackers maliciosos.
-
Pentesting de caja gris:
Es una combinación del pentesting de caja blanca con el de caja negra, ya que se cuenta con algo de información, pero no es completa.
En este tipo de pentesting se invierte tiempo y recurso identificando vulnerabilidades y fallos de seguridad utilizando la poca información que se tenga.
El uso de cada uno de estos tipos, dependerá de lo establecido por el cliente.
Métodos del pentesting
Luego de tener claro el tipo de pentesting que se pondrá en práctica es importante elegir el método a utilizar. Veamos algunos:
-
ISSAF (Information Systems Security Assessment Framework):
Esta metodología respaldada por el Grupo de Seguridad de Sistemas de Información Abierta (OISSG), divide el proceso del pentesting en tres fases: planificación, evaluación y limpieza.
Su objetivo principal es brindar una guía completa para la realización eficiente del pentesting, aunque también puede servir de base para el desarrollo de una metodología personalizada.
-
OSSTMM (Open Source Security Testing Methodology Manual):
Consiste en una metodología de auditoría de seguridad que se centra en los elementos que deben ser evaluados y en los pasos que deben tomarse antes, durante y después del pentesting.
Es digno de mención que esta metodología posee una sección que abarca las mejores prácticas internacionales, leyes y estándares éticos.
-
OWASP (Open Web Application Security Project):
OWASP no es una metodología completa ya que está enfocado principalmente para el pentesting de caja negra; se centra únicamente en las fases principales de las pruebas de seguridad de aplicaciones web.
-
PCI DSS (Payment Card Industry Data Security Standard):
Método ideal para organizaciones encargadas de procesar, almacenar y transmitir datos confidenciales relacionados a los titulares de tarjetas de débito y/o crédito.
-
PTES (Penetration Testing Execution Standard):
Es el método más completo del pentesting y por ende el más utilizado por profesionales reconocidos en el campo de la seguridad informática.
¿Qué método escoger?
Los métodos del pentesting son extensos, pero es sumamente importante conocerlos a profundidad para aplicarlos.
Ahora bien, para elegir uno de estos, se deben tomar en cuenta las necesidades, las características del sistema y los requerimientos de la empresa.
Fases del pentesting
Tal como hemos mencionado se conoce como pentesting al proceso de atacar los mecanismos de defensa del sistema que se desea testear.
Para llevarlo a cabo se deben completar diversas fases donde se analizan tanto el dispositivo de la victima como el factor humano. Todo con el fin de identificar las fallas y corregir las vulnerabilidades y peligros latentes.
Las fases que se realizan durante la auditoria son los siguientes:
-
Reconocimiento
Es la fase principal en la que se realiza la recolección de información. Mientras más información se tenga sobre el sistema que va a ser atacado, más fácil será realizar las siguientes fases.
-
Análisis de vulnerabilidades
En esta fase se busca las vulnerabilidades basándose en la información obtenida en la etapa anterior. Se identifican los posibles vectores de ataque para así saber cual será el ataque más efectivo.
-
Explotación de vulnerabilidades
En esta parte se consigue acceso a los sistemas gracias a los análisis previos. Lo más común es utilizar exploits (pequeñas aplicaciones programadas) para ganar acceso a los sistemas o provocar un mal funcionamiento.
-
Post-explotación
En esta fase se intenta conseguir documentos confidenciales como credenciales, también obtener los permisos de administrador e incluso vulnerar otros sistemas más importantes.
-
Informe
La última fase consiste en mostrar los resultados en un informe bien documentado que especifique el proceso realizado, las herramientas que fueron utilizadas, las técnicas y por supuesto las vulnerabilidades descubiertas.
¿Realizar pentesting es legal?
Antes mencionamos que el pentesting se hace con el objetivo de encontrar fallas y posteriormente solventarlas, además se realiza con consentimiento del dueño del equipo al que se realizará el ataque; por tanto, si es completamente legal.
Terminología básica del pentesting
Algunos términos que son importantes manejar a la hora de realizar el pentesting son los siguientes:
-
Vulnerabilidad:
Se refiere al fallo de seguridad que posee una aplicación, sistema o hardware. Este fallo abarca desde una contraseña muy débil o fácil de adivinar hasta un desbordamiento de buffer de información del sistema.
-
Exploit:
Son programas que sirven para acceder al sistema bien sea para detectar una falla o provocar un funcionamiento indebido en el sistema.
-
Metasploit:
Es un proyecto Open Source que contiene gran cantidad de programas que explotan vulnerabilidades.
-
Exploit Local:
Es un tipo de exploit que se utiliza luego de tener acceso al sistema vulnerable. Este pude ejecutarse en forma remota desde una red interna o desde la red de redes.
-
Exploit del lado del cliente:
Se trata de otro tipo de exploit que aprovecha fallos y vulnerabilidades de aplicaciones instaladas. Suelen ser enviados a través de email, pendrives, entre otros.
-
Payload:
Es la parte de código malicioso dentro del exploit que se encarga de aprovechar y explotar al máximo las vulnerabilidades.