Quick Tips – Fuerza bruta con Brutespray

Facebooktwittergoogle_pluslinkedinmail

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

Facebooktwittergoogle_pluslinkedinmail

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

Extensión Autorize, buscando problemas de control de acceso

Facebooktwittergoogle_pluslinkedinmail

Cuando se analiza la seguridad de una aplicación web, uno de los puntos más importantes a revisar es como funciona la autorizacion y el control de acceso. Esto es vital para detectar problemas de autorización y autenticación también llamados problemas de pérdida de control de acceso. Vulnerabilidad que encontramos en el número 5 del TOP 10 de OWASP. En esta entrada veremos como con Burp podemos realizar esta verificación de forma sencilla con la extensión Autorize.

Instalación

Para utilizar esta extensión deberemos tener descargado el standalone de Jython que podremos descargar de: http://www.jython.org/downloads.html

Una vez descargado vamos a Extender – Options y en Python Environment seleccionamos el fichero JAR descargado.

Tras esto vamos a la pestaña BApp Store, seleccionamos Autorize y clicamos en Install para instalar la extensión:

Leer más

Quick Tips – Kali Linux en Docker

Facebooktwittergoogle_pluslinkedinmail

Kali Linux en Docker

Arrancamos y descargamos la imagen de Kali Linux oficial.

$ docker run -t -i --name kalibase kalilinux/kali-linux-docker

Actualizamos repositorio e instalamos las herramientas que queramos para nuestra imagen.

root@7714e6042869:/# apt-get update && apt-get install vim nmap
root@7714e6042869:/# exit

Una vez instaladas, salimos con CTRL + D y hacemos el commit de nuestra imagen en local.

$ docker commit -m "vim nmap" kalibase kali:slim

Ahora tenemos la imagen oficial actualizada y con nuestras herramientas preferidas. Podéis instalar las que queráis. Esto es sólo un ejemplo.

Ahora, a jugar!

# Crear y acceder al container asignando un nombre (Primera vez) 
$ docker run -t -i -h kalidock --name kali kali:slim
root@kalidock:/#

# Iniciar container creado y acceder mediante el nombre
$ docker start kali -a
root@kalidock:/#

# Consultar el estado de nuestros containers
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
434d35d8eb23 kali:slim "bash" 2 hours ago Exited (130) 7 seconds ago kali

# Actualizar recursos de nuestro container
$ docker update --memory 1g --cpus 2 --memory-swap 2g kali

# Para salir del container sin pararlo presiona [CTRL]+[P]+[Q]

Saludos!

Introducción a los ataques Cross-Site Scripting XSS ( I )

Facebooktwittergoogle_pluslinkedinmail

En esta serie de artículos vamos a realizar una introducción a los ataques Cross-Site Scripting (XSS) con el objetivo de entender como funcionan, que peligros comportan y como aplicar las medidas necesarias para evitarlos.

Los ataques de tipo Cross-Site Scripting son un tipo de inyección. En esta el atacante utiliza las entradas de datos de un sitio web para inyectar scripts maliciosos (normalmente JavaScript) que después se ejecutarán en el navegador de otros usuarios, es decir, en las víctimas de este ataque.

Tipos de XSS

Podemos diferenciar los ataques XSS según si son o no persistentes y según donde se utilizan los datos no confiables. A continuación vemos un cuadro resumen ofrecido por OWASP de los tipos de XSS:

Cuadro resumen tipos de ataques XSS

Tras esto pasamos a detallar como funcionan los ataques en los cuales los datos no confiables se utilizan en el servidor:

Leer más

Obteniendo una sesión meterpreter a través de la interfaz web de Cacti

Facebooktwittergoogle_pluslinkedinmail

En la siguiente entrada se detalla como un usuario con permisos para gestionar gráficas en Cacti podría obtener acceso al servidor mediante una sesión meterpreter a través de una funcionalidad que ofrece Cacti.

En primer lugar creamos nuestro payload utilizando msfpayload:

msfpayload

Donde IP será la IP a la cual se conectará de forma reversa el payload.

Una vez creado el payload, deberemos dejar este en un lugar accesible para ser descargado desde Internet.

Después de esto accedemos a la interfaz web de cacti y vamos al apartado Data Input Methods. En este, añadimos un nuevo método del tipo Script/Command y como Input Script introducimos un wget para descargar el payload a la carpeta rra de cacti, introduciendo como IP la ip donde está alojado el fichero, un chmod para dar permisos de ejecución y por último indicamos que se ejecute el payload.

Leer más