Saltar al contenido
Home » Red Team » ¿Qué es el Pentesting? ¡Descubre sus 5 fases!

¿Qué es el Pentesting? ¡Descubre sus 5 fases!

que es el pentesting

Introducción

El trabajo más importante del Red Team es el Pentesting. Durante un Pentest o Auditoría, este equipo utiliza sus conocimientos técnicos y su experiencia para encontrar vulnerabilidades en el sistema objetivo y explotarlas. En esta entrada entenderemos qué es el Pentesting y cuales son sus fases.

¿Qué es el Pentesting?

El Pentesting es la tarea fundamental del Red Team. Se basa en poner a prueba las defensas de una organización desde el punto de vista de un atacante, ya sea externo o interno.

Al realizar un Pentest, el auditor trata de encontrar vulnerabilidades en los sistemas de la organización, explotarlas para ganar acceso y, posteriormente, comprueba el alcance de este acceso, tratando de conseguir acceso total a la infraestructura de red del cliente. Posteriormente se redacta un informe con las vulnerabilidades encontradas y el alcance de las mismas.

Si te interesa esta entrada pero quieres saber más sobre el Red Team, no dudes en leer esta entrada: ¿Qué es Red Team? ¡Los malos buenos!

Tipos de Pentest

Previo a la realización de cualquier auditoría de red es preciso definir el alcance de la prueba, el marco temporal y, en caso necesario, las limitaciones que tendrá el Pentester. En la mayoría de los casos, los ataques que puedan generar DOS están prohibidos.

Un ataque DOS o Denegación de servicio es un ataque que, o bien por su propia naturaleza (generan tráfico excesivo en el servidor), o bien por la explotación de una vulnerabilidad, puede hacer que un servicio que ofrece una organización se paralice y deje de operar.

Los tipos de Pentest según su alcance pueden ser:

Caja Negra

Esta es la modalidad más compleja y más cara para el cliente. Simula el ataque de un elemento externo a la empresa que no tiene ninguna información privilegiada sobre la infraestructura del objetivo, los servicios que utiliza ni, por supuesto, tiene acceso físico al servidor.

En esta tipo de Pentest, los técnicos del Red Team pueden intentar ganar acceso físico a los edificios del objetivo utilizando técnicas de ingeniería social o incluso forzando la puerta y tratando de burlar el sistema de detección de intrusos.

También se trata de identificar vulnerabilidades en los servicios que el cliente tiene expuestos a la red como, por ejemplo, servidores Web o servidores de aplicaciones móviles.

Es la modalidad más completa.

Caja Blanca

Por el contrario, la caja blanca presenta el escenario de un ataque desde el interior de la empresa, es decir, como si un empleado con su usuario y sus permisos tratara de tener acceso a información restringida o a subsistemas a los que no debe tener acceso.

En este caso, la empresa facilita a los Pentesters la información que consideran necesaria para el objetivo de la prueba. Pueden darles acceso a la red interna con un usuario con bajos privilegios, darles acceso al código fuente de la App que están desarrollando…

Este tipo de Pentest es mucho más sencillo para el Pentester y muestra un escenario que para la empresa es, en todo caso, muy crítico. Por regla general, los ataques desde el interior son los que más daño pueden hacer.

Caja Gris

Por último tenemos la modalidad de Caja Gris. Esto reflejaría el supuesto de que un cliente o un competidor que haya hecho una buena investigación. Se diferencia de la caja Blanca en el nivel de conocimiento que, en este caso, es menor al de la anterior.

No es tan habitual por que no aporta tanta información como una caja negra, sin embargo, su coste sigue siendo elevado.

Estructura de un Pentesting

La estructura de un Pentesting no es algo estandarizado y, por tanto, no todas las asesorías de seguridad las realizan de la misma forma. Sin embargo, existe una metodología aceptada a nivel internacional llamada PTES (Penetration Testing Execution Standard). Esta es la estructura que vamos a ver en esta entrada.

Fase de Reconocimiento

¿Qué es el Pentesting? Fase de Reconocimiento.

En la fase de reconocimiento se recopila información acerca del objetivo. Se pueden distinguir a su vez dos subfases:

Footprinting

El Footprinting es la primera fase del reconocimiento y, como su traducción indica «seguir las huellas de pisadas», nos permite recopilar información general del sistema que vamos a atacar. En esta fase podemos obtener información sobre el Hardware que se está utilizando, si existe Firewall o no e incluso se puede construir un mapa de la red objetivo.

Para llevar a cabo ésta fase podemos utilizar dos tipos de procesos:

  • Pasivos: Son los que recopilan información del objetivo que es pública y, por tanto, no se interactúa con él para conseguirla. Es legal recopilar datos pasivos de cualquier ordenador conectado a internet. Serían procesos pasivos, entre otros:
    • Identificación de direcciones IP.
    • Nombres de Dominio, subdominios e información del dueño.
    • Información publicada en redes sociales como direcciones de correo.
    • Identificar las tecnologías web que utilizan sus servicios.
  • Activos: Implica recopilar información haciendo que el objetivo nos la envíe y entrando en contacto con él. Es ilegal realizarla en cualquier dispositivo conectado a la red cuyo dueño no lo haya consentido explícitamente por contrato. Son procesos activos:
    • Interacción con el servidor DNS.
    • Identificación de sistemas en la red.
    • Comprobación de puertos.

Fingerprinting

Por contra, el Fingerprinting, como su nombre indica «Análisis de las huellas dactilares» se basa en obtener información precisa del comportamiento de un usuario o de un equipo concreto.

El ejemplo más claro de herramienta de Fingerprinting utilizada en cualquier Pentest es Nmap. Con Nmap podemos identificar cuales son los puertos que tiene abiertos un dispositivo concreto y podemos lanzar pruebas de Fingerprinting que nos permitan identificar los servicios que están corriendo en esos puertos.

Gracias a este tipo de análisis es muy fácil identificar servicios vulnerables en sistemas a los que no tenemos acceso.

Esta fase se conoce también como la fase de enumeración. Es fundamental obtener toda la información posible de los servicios que se están ejecutando en la máquina objetivo. Esta información pasa por la identificación de la versión de cada uno de los Servicios así como detalles de su configuración que puedan ser obtenidos sin comprometer la máquina. Esto nos facilitará la siguiente fase.

Fase de Análisis de Vulnerabilidades

Fase de Análisis de Vulnerabilidades del Pentest

En ésta segunda fase se procede a analizar toda la información que se ha obtenido en la fase de Reconocimiento. El objetivo del Análisis de Vulnerabilidades es encontrar vulnerabilidades que afecten a los servicios que hemos identificado en la red objetivo y sean fácilmente explotables.

Esto no siempre sucede , de hecho, lo normal es que los CVEs conocidos y fáciles de explotar sean rápidamente parcheados. Es por eso que un sistema bien actualizado es difícilmente explotable.

Una vulnerabilidad es una debilidad en la lógica computacional (en el código) que se puede encontrar en software o hardware y que cuando se explota resulta en un impacto negativo en la confidencialidad, integridad o disponibilidad de un servicio.

A las vulnerabilidades conocidas se les asigna un número CVE (Common Vulnerability and Exposure) que la identifica, facilitando el trabajo de los Pentesters en la búsqueda de vulnerabilidades conocidas en un sistema.

Por otro lado existen las vulnerabilidades llamadas Zero-Day. Estas vulnerabilidades hacen referencia a aquellas que, hasta el momento, no tenían asignado un CVE. Los grupos de ciberdelincuentes las buscan activamente o, incluso, las compran en la Dark Web.

Fase de Explotación

Pentester explotando las vulnerabilidades

La explotación es la base de un Pentesting y se resume en utilizar las vulnerabilidades que se han identificado en el apartado anterior para obtener un acceso inicial al sistema objetivo.

El Acceso Inicial o Foothold hace referencia a un acceso con bajos privilegios en el sistema. Lo normal es que cuando se explote una vulnerabilidad, el acceso que se gane sea a través de un usuario con pocos privilegios o incluso con un usuario del sistema que no está pensado para ser interactivo. Es por eso que este acceso inicial no suele ser suficiente en la mayoría de los casos.

Esta es la fase más importante de la estructura de un Pentesting pues es donde realmente hay que poner en práctica los conocimientos técnicos del Pentester.

Fase de Post-explotación

Pentester mandandonos callar por que está borrando las huellas.

Una vez tenemos acceso a la red, comienza la fase de Post-explotación en la cual el Pentester trata de obtener acceso privilegiado a la máquina así como obtener los credenciales almacenados en el sistema y, por último, explotar otros sistemas de la red interna. Se distinguen las siguientes subfases:

  • Enumeración local: Con el acceso a la máquina objetivo se obtiene acceso nuevas fuentes de datos que, por regla general, nos van a facilitar identificar una vulnerabilidad que permita al Pentester escalar privilegios.
  • Escalada de privilegios: Una vez tenemos el acceso inicial, nuestro siguiente objetivo es ganar acceso a un usuario con privilegios de administrador. Existen muchas vulnerabilidades que solo se pueden explotar una vez estamos dentro del sistema como usuario y nos sirven para la escalada de privilegios.
  • Extracción de credenciales: Tanto los sistemas Windows como los Linux deben almacenar las credenciales de los usuarios para saber si la contraseña que se ha introducido al iniciar sesión es la correcta. Estos credenciales se almacenan en forma de Hash y se pueden extraer para su posterior desencriptado utilizando fuerza bruta.
  • Establecimiento de persistencia: La persistencia nos asegura un acceso permanente al equipo aunque la vulnerabilidad que hemos utilizado para ganar el acceso inicial sea parcheada. Este paso es fundamental ya que permite al Blue Team instruirse en la identificación de estos métodos de persistencia.
  • Movimiento lateral: Una vez hemos obtenido todo lo necesario de la máquina objetivo, podemos tratar de explotar nuevas máquinas que se encuentran en la red interna. Estos nuevos objetivos no son visibles desde internet pero utilizando técnicas de Pivoting, podemos explotarlas a través de una máquina infectada.
  • Borrar las huellas: Tras todo lo anterior, también es fundamental borrar nuestras huellas. Como la persistencia, esto instruye al equipo defensivo en la mejora de sus capacidades de investigación forense.

Si quieres saber más acerca de las tareas que realiza el equipo defensivo en una organización, no dudes en ver la siguiente entrada: ¿Qué es Blue Team? ¡La última defensa!

Fase de Informe

Informe, la última fase de la estructura de un Pentest. ¿Qué es el Pentesting?

Esta es la última fase de un Pentesting. En ella se realiza un informe con las vulnerabilidades detectadas, su gravedad y capturas de pantalla que demuestren que han sido explotadas.

Para el cliente, esta es la única fase relevante. En el informe el cliente recibirá el valor que ha generado el dinero que ha invertido en una auditoría de seguridad. Es por esto que es fundamental identificar qué información es realmente relevante para el cliente y cual no.

Conclusión

Como hemos podido ver, a la pregunta de «¿qué es el Pentesting?», la respuesta es sencilla: es el trabajo del Red Team. Por otro lado, la Estructura de un Pentest es muy sencilla y contiene las fases mínimas e imprescindibles para cumplir el objetivo, que es conseguir la información necesaria para que el cliente mejore su postura de seguridad.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *