En esta primera entrada veremos una introducción al pentesting, los tipos de pentests que existen, y la manera de llevarlos a cabo.
¿Qué es un Pentest?
Un test de
penetración o pentest simula las
acciones de un atacante cibernético externo y/o interno que tiene como objetivo
violar la seguridad de la información de una organización.
Fases de un Pentest
Realizar un pentestes una tarea compleja, involucra
un proceso en donde se realizan distintos tipos de tareas que identifican, en
una infraestructura objetivo, las vulnerabilidades que pueden explotarse y los
daños que puede causar un atacante. En otras palabras, se realiza un proceso de
hacking ético para identificar qué
incidentes pueden ocurrir antes de que sucedan y, posteriormente, reparar o mejorar
el sistema.
En general, las fases de un pentest
desde el punto de vista de un Hacker
Ético o white hat son las siguientes:
- Definición de las normas y límites. En esta primera fase, el auditor o pentester debe ponerse de acuerdo con la organización auditada para establecer los parámetros y límites del pentest. Estas normas legalizan muchas de las prácticas que el auditor lleva a cabo y que de otra forma serían ilegales como, por ejemplo, acceder a información personal, realizar ingeniería social a empleados de la organización, o si se pueden utilizar exploits contra servicios vulnerables o únicamente identificarlos, etc. Es muy importante acordar hasta donde se está dispuesto a llegar con el pentest con la finalidad de salvaguardar la privacidad y no violar la ley en ningún caso.
- Recolección de información (gathering information). Una vez establecida la primera fase, empieza tarea de recoger información. En esta fase, el auditor debe reunir toda la información posible acerca de los sistemas, las redes, el software, hardware, metadatos, configuraciones, versiones de sistemas operativos, información en internet, redes sociales, etc. Para ello el auditor hace uso de diferentes técnicas: escaneo de puertos, fingerprinting, footprinting, google hacking, etc. Esta fase es sumamente importante, puede determinar el éxito o fracaso del pentest, ya que gran parte de la información recopilada es usada en etapas posteriores del pentest. Existen casos en que las organizaciones facilitan información al auditor, es lo que se conoce como “test de caja blanca”, tema que es tratado más adelante.
- Análisis de las vulnerabilidades. Una vez que se sabe todo lo posible de los sistemas y redes, se hace un análisis exhaustivo en busca de posibles vulnerabilidades o defectos susceptibles de ser explotados. Aquí entran en juego las herramientas creadas para dichas tareas, junto con la experiencia y astucia del auditor, ya que la combinación de dichos factores determinará tener más o menos éxito.
- Explotación de vulnerabilidades. Esta es la fase más intrusiva y donde queda evidencia la realidad de las vulnerabilidades del sistema. Para ello, el auditor hace uso de herramientas especializadas y de exploits para aprovechar las debilidades encontradas. El auditor también puede hacer uso de técnicas de pivoteo[1], para tomar control de buena parte de la red.
- Generación de los informes. Por último, el pentester debe generar reportes que ayuden a la organización en el proceso de remediación de vulnerabilidades. En cada fase anterior excepto la primera, se deben documentar las acciones llevadas a cabo.
- En esta fase se realizan dos tipos de informes.
El primero de ellos, el informe ejecutivo, es destinado a los directivos de la organización
para la toma de decisiones. En el mismo se describe el nivel de riesgo de la organización
sin entrar en detalles técnicos, evidenciando las problemáticas por medio de
conceptos claros y gráficas.El segundo reporte, el informe técnico, apunta al área técnica de la organización, ayudando al personal de IT a solucionar los problemas detectados. En este reporte se exponen las evidencias de los tests realizados. También se incluyen los posibles efectos y alcances de los ataques en el caso de que se produjeran.
Desde el punto de vista de un hacker black hat o grey hat las fases de un pentest difieren ligeramente de las mencionadas anteriormente. En la Fig 1 se muestran las diferencias.
Fig. 1. A la
izquierda, proceso de pentest visto desde la perspectiva de un hacker
ético (while hat), a la derecha, visto desde la perspectiva de un hacker
black hat.
La fase de definición de las normas y límites
pasa a ser la fase de objetivos. Aquí el hacker
define que quiere obtener y hasta dónde quiere llegar. Por ejemplo, si lo que
quiere es hacerse con una base de datos de un servicio web o simplemente dejar
fuera de servicio una determinada aplicación.
Por otro lado, la fase de generación de informes se elimina y se divide
en dos fases, permanencia del acceso y el borrado de huellas. En la primera, el
intruso tiene como objetivo permanecer en el sistema/red todo el tiempo que le
sea posible sin ser detectado. En esta fase el hacker instala backdoors
y crea usuarios con altos privilegios, entre otras acciones, para poder
perpetuar su acceso con éxito. En la segunda fase, la actividad del atacante es
eliminar toda huella que delate que ha estado allí. Esto incluye borrado de logs en servers y PCs, eliminación de usuarios ocultos, entre otras acciones.
Este documento se enfoca
principalmente en las fases 2, 3 y 4, que son comunes en los diferentes puntos
de vista mencionados (ver Fig. 2).
Fig. 2. Relación de fases entre pentests realizados por un Hacker White hat y un Hacker Black hat.
Tipos de Pentest
Se puede clasificar a un pentest de acuerdo a la información que posee auditor
sobre los sistemas o redes objetivos, previo a la realización de la fase de 2
(recolección de información). Se diferencian tres tipos de pentest:
- Pentest de caja blanca: son aquellos pentests que se realizan conociendo a priori información acerca de los objetivos, la misma es suministrada por la propia organización, por ejemplo, detalles de la red como: segmentos de red, mapa de red, firewall, impresoras en red, sistemas operativos utilizados, tipo de autenticación, usuarios, tecnología del sitio web, etc. Este tipo de pentest se puede utilizar para simular un ataque a la infraestructura por parte de una persona que pertenece a la organización.
- Pentest de caja negra: En este tipo de pentest, el auditor no posee ninguna información previa del sistema/red a auditar y es él quien debe descubrir el segmento de red, los sistemas utilizados, la tecnología del sitio web, etc.Es útil para simular un ataque de un intruso externo a la organización.
- Pentest de caja gris: este pentest mezcla características de los dos anteriores. La organización pude dar a conocer parte de la información al auditor y pedirle que a partir de ella intente escalar al resto de los sistemas, además, se puede desarrollar este pentestcomenzando desde diferentes puntos, red interna, red externa, a través del wifi, a través del puesto de un empleado, etc.
[1] Esta
técnica consiste en obtener acceso a un dispositivo a partir de otro ya
comprometido de la misma red.


No hay comentarios:
Publicar un comentario