Optimizar los ejercicios de Red Team con VECTR

Facebooktwitterlinkedinmail

28 septiembre, 2020

En la entrada ATT&CK para AWS hablamos sobre ATT&CK Navigator y adjuntamos un Google Sheet para poder hacer seguimiento sobre nuestro estado de madurez. En esta entrada veremos como dar un paso más utilizando VECTR.

VECTR es una herramienta gratuita que facilita el seguimiento de las actividades de Red Team para medir las capacidades de detección y prevención en diferentes escenarios de ataque.

Para instalarla en un servidor CentOS son necesarias las siguientes dependencias:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install docker-ce git unzip wget
sudo systemctl enable docker.service
sudo systemctl start docker.service
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Leer más

Adversary Emulation Library publicada por Mitre

Facebooktwitterlinkedinmail

21 septiembre, 2020

A principios de este mes MITRE Engenuity’s Center for Threat-Informed Defense hizo pública una de sus grandes iniciativas en el mundo de la cyberseguridad, la Adversary Emulation Library, una librería pública donde compartirán planes para la simulación de adversarios.

Podéis acceder a ella mediante el siguiente enlace: https://github.com/center-for-threat-informed-defense/adversary_emulation_library

Esta nueva contribución por parte de Mitre servirá para ayudar sobre todo a equipos de Red Team y Purple Team a realizar pruebas a las defensas basándose en tácticas, técnicas y procedimientos del mundo real.

Leer más

Persistencia en AWS con implantes en imágenes de contenedores

Facebooktwitterlinkedinmail

14 septiembre, 2020

Una de las tácticas más comunes cuando un atacante logra el acceso inicial es obtener persistencia. El objetivo de esta es mantenerse en la infraestructura pese a que se reinicie el equipo, las contraseñas o haya cualquier interrupción que pueda interrumpir el acceso inicial. Una de las técnicas utilizadas para obtener persistencia en AWS si en la cuenta se usa Amazon Elastic Container Registry (ECR) es añadiendo implantes en las imágenes de los contenedores.

Esta técnica la encontramos bajo en nombre Implant Container Image en Mitre Att&ck y tiene el ID T1525.

Estos son los pasos que podría seguir un atacante para lograr persistencia en AWS tras conseguir un usuario con permisos al ECR:

En primer lugar, es necesario listar los repositorios que existen en la cuenta:

aws ecr describe-repositories

Tras descubrir los repositorios, se pueden listar las imágenes del repositorio con el comando:

Leer más

ATT&CK para AWS

Facebooktwitterlinkedinmail

7 septiembre, 2020

En esta entrada vamos a ver como la matriz de MITRE ATT&CK para AWS puede ayudarnos a representar mejor nuestra capacidad de detección.

Como también pasa en las infraestructuras clásicas, la prevención está muy bien y es fundamental pero la detección se ha convertido en algo esencial. Hemos asumido ya que tenemos que orientar nuestra defensa no solo a prevenir sino a detectar y además debemos presuponer que nuestra infraestructura en un momento u otro será comprometida.

Es por esto que teniendo en mente este foco de detección uno de los frameworks que más nos pueden ayudar a decidir qué tenemos que detectar, como vimos en la pasada entrada MITRE ATT&CK, defiende teniendo en cuenta las tácticas y técnicas del adversario, es MITRE ATT&CK.

Como MITRE ATT&CK se basa en observaciones reales podemos usar esta matriz para evaluar nuestra seguridad actual. Esto lo podemos hacer asignando un nivel de madurez a cada una de las técnicas y verificando para cada una de ellas en que nivel de madurez se encuentra nuestra infraestructura. John Hubbard presentó en el SANS Summit los siguientes niveles de madurez:

1. No hay detección
2. Registrado localmente
3. Registrado centralmente
4. Registro enriquecido / correlacionado
5. Reporte / Visualización
6. Experimental / Detección funcional
7. Detección de alta fidelidad

Leer más

MITRE ATT&CK, defiende teniendo en cuenta las tácticas y técnicas del adversario

Facebooktwitterlinkedinmail

31 agosto, 2020

En esta entrada vamos a hablar de una de las bases de conocimiento más importantes que tenemos disponible a día de hoy, MITRE ATT&CK.

MITRE ATT&CK es una base de conocimiento accesible a nivel mundial de tácticas y técnicas usadas por adversarios basadas en observaciones del mundo real.

Esta base de conocimientos es de gran utilidad tanto para equipos de defensa (blue team) como para equipos de ataque (red team) y es además muy útil para mejorar la colaboración entre estos.

El enfoque actual utilizado por muchas empresas para hacer frente a los ciberataques es insuficiente. En la mayoría de casos nos encontramos con empresas que utilizan un sistema antivirus en conjunto con un firewall y alguna herramienta adicional que suelen basarse únicamente en el uso de IOCs (Indicators of Compromise). Los IOC son útiles para detectar y neutralizar amenazas conocidas basadas en firmas simples que buscan un evento en concreto o la repetición del mismo. Estos IOCs, aun necesarios son los encargados de detectar las cosas más comunes, pero no los ataques más complejos. Por ejemplo, ha quedado demostrado en muchos ataques que un atacante con motivación puede evitar las defensas clásicas, por ejemplo, utilizando software legítimo para perpetrar el ataque.

Es por esta razón que MITRE ATT&CK está ganando un gran papel en la industria de la ciberseguridad ya que nos ayuda a no trabajar solo con IOCs sino con TTPs (Tactics, Techniques, and Procedures)

Leer más

Quick Tips – Fuerza bruta a tokens JWT

Facebooktwitterlinkedinmail

24 septiembre, 2019

El uso de JSON Web Tokens (JWT) se ha extendido mucho debído a la facilidad que nos ofrecen para identificar y asignar privilegios.

Los tokens están compuestos por 3 partes. La cabecera, el contenido y la firma.

En la cabecera veremos el algoritmo utilizado para la firma, en el contenido la identificación, los permisos y normalmente un timestamp y por último la firma que puede ser generada mediante un secreto o utilizando clave privada/pública.

jwt

En el caso de localizar un JWT durante un pentest, es importante verificar que el token es robusto. Por lo tanto, si descubrimos un token que utiliza un secreto en la firma deberemos realizar un ataque de fuera bruta para comprobar que el secreto no puede ser descubierto. De serlo, seríamos capaces de generar nuestros propios tokens, comprometiendo de este modo la seguridad del sitio que utilice estos tokens.

Para relizar fuerza bruta a tokens JWT podemos utilizar hashcat de la siguiente manera:

.\hashcat64.exe -m 16500 -a 0 .\jwt.txt .\rockyou.txt -r .\kamaji34K.rule.txt

Con el parámetro -m indicaremos que es un token JWT, con el parámetro -a indicaremos que el tipo de ataque es Straight, después en el fichero jwt.txt tendremos nuestro token JWT y utilizaremos como diccionario rockyou y las reglas kamaji34K presentadas en rootedcon.

Además de esta verificación es importante verificar que:

  • El algoritmo NONE no puede ser utilizado.
  • Los tokens no pueden ser robados.
  • Es posible para un usuario invalidar el token.
  • En el payload no se almacena información sensible.
  • El token no es guardado de forma insegura en el navegador.

OSCP – Mi experiencia y consejos

Facebooktwitterlinkedinmail

17 septiembre, 2019

El blog ha tenido poca actividad durante esto últimos meses debido a que he estado trabajando en la certificación Offensive Security Certified Professional (OSCP) de Offensive Security.

Por lo tanto, en esta entrada explicaré mi experiencia e intentaré dejar algunos consejos para aquellos que estáis tratando de obtener esta certificación o tengáis pensado obtenerla en un futuro. De todos modos, como esta entrada podréis encontrar cientos en Internet ya que no está permitido entrar en detalle de la certificación.

Leer más

Exfiltración DNS para XSS con rascal

Facebooktwitterlinkedinmail

29 enero, 2019

Hola chicos! Hoy os vamos a traer un poco de ¡exfiltración DNS para XSS con rascal!. Esta técnica nos permitirá extraer datos a partir de una vulnerabilidad XSS que nos será especialmente útil cuando nos encontramos con políticas de CSP muy restrictivas o para cuando no queremos hacer mucho ruido 🙂

Leer más

Quick Tips – Fuerza bruta con Brutespray

Facebooktwitterlinkedinmail

1 enero, 2019

Uno de los pasos fundamentales al realizar un test de intrusión es verificar si los servicios protegidos con contraseña utilizan contraseñas débiles. Cuando esta prueba se debe realizar en una red grande y con muchos servicios esto puede convertirse en un trabajo complicado. Por esto queremos presentar en este post Brutespray, una herramienta que nos ayudará con esta tarea.

Brutespray es una herramienta escrita en python por  Shane Young/@x90skysn3k y Jacob Robles/@shellfail. Esta automatiza ataques de fuerza bruta a diferentes servicios utilizando medusa. Este ataque probará diferentes usuarios y contraseñas y nos indicará si alguna de las combinaciones es correcta.

Leer más

Explotar Consul para obtener una reverse shell

Facebooktwitterlinkedinmail

11 noviembre, 2018

Durante un test de penetración, uno de los objetivos más importantes son los equipos y programas de monitorización y configuración. Tomar el control de estos normalmente implica poder tener acceso a toda la red. En esta entrada veremos como una configuración incorrecta nos puede permitir explotar Consul para ejecutar código en los equipos que estén ejecutando el agente.

Consul es una herramienta para el descubrimiento y configuración de servicios. Entre otras funcionalidades permite el descubrimiento de servicios, alertas sobre la salud de los clusters, almacenamiento de configuraciones dinámicas etc…

La funcionalidad que explotaremos en este caso es la de alertas del cluster. Los agentes de consul permiten crear checks de salud mediante la API. Estos checks pueden ser de diferentes tipos, incluso pueden permitir la ejecución de scripts.

Verificando la ejecución de comandos

Por defecto, los agentes de consul escuchan en el puerto 8500 y permiten peticiones HTTP. Durante un pentest, si descubrimos un puerto 8500 abierto será importante verificar si se trata de la API de consul. Para esto,  podemos realizar un simple: curl ip:8500 y la respuesta será Consul Agent.

Leer más