Docker: Bruteforce evitando banneos

Como buenos sysAdmin, devOps, o lo que **** seamos, necesitamos estar al día, y docker es una herramienta muy “de moda” que no está de más conocer.

Jugando y aprendiendo con docker, se me ocurrió una forma con la que hacer un ataque de fuerza bruta a un login evitando ser bloqueados cuando realizamos demasiados intentos. Empezamos:

Buscando un objetivo

En primer lugar necesitamos un sitio que atacar; como no queremos ser malos, vamos a montar un login muy sencillo en un nginx para testar nuestra idea:

Este php guarda el número de accesos a la web, y en caso de sobrepasar el limite, los bloquea.

Docker: Concepto

Es el turno de docker. A modo de resumen para el que no lo conozca, docker nos permite ejecutar procesos Linux en contenedores aislados. Una forma para dejar más claro su concepto es compararlo con las máquinas virtuales:

docker_vm

En rasgos generales la idea es muy parecida; como podéis ver docker no hace uso del sistema operativo invitado, lo que nos permite agilizar mucho en tiempo y recursos.
Los contenedores que se usa docker se pueden ejecutar a partir de una imagen predefinida como veremos posteriormente.
Tampoco soy un experto, por tanto el que quiera más información puede consultar la wikipedia o su página oficial.

Docker: Configurando

El primer paso es tener instalado docker en nuestro ordenador.

Posteriormente pasaremos a crear una imagen de Ubuntu e instalaremos las herramientas, curl y tor.

En mi caso descargaré la imagen de Ubuntu, instalaré las herramientas mencionadas y commitearé los cambios para obtener una nueva imagen. Una manera más metódica y automática para la creación de imágenes es a partir de los Dockerfiles, pero para la gente que nunca haya usado docker, creo que la primera forma es más descriptiva:

Ya dentro del contenedor:

fuera del contenedor:

ID_COMMIT es
id_commit

tor:v3 es el nombre que le damos a la nueva imagen.

Al ataquer!

Llega la hora de probarlo y para ello vamos a utilizar un script muy básico:

Vamos a probar contraseñas de 0 hasta 999

Vamos a intentar acceder con cada password mediante un contenedor diferente, permitiéndonos así salir con IPs distintas de Tor.

Si la contraseña es encontrada, se guardará en un fichero auxiliar llamado password.txt

password_found

Como ya he dicho todo esto no deja de ser una prueba de concepto rápida, y por tanto tendríamos que subsanar problemas (por ejemplo que Tor nos de la misma IP en varios accesos, etc)

Otra idea pendiente de probar, si el tiempo libre nos deja, es automatizarlo con hydra, medusa, etc.

El uso de técnicas similares ya queda abierto a la mente de cada uno y a la cafeína que queramos tomar!

Tweet about this on TwitterShare on FacebookShare on Google+Email this to someone

También te podría gustar...

1 respuesta

  1. Pando dice:

    Buen post, me ha jaleado para probar docker y me hice una script para levantar servidores de UrT automaticamente.
    Lo dejo aquí por si sirve de insipiración:
    https://github.com/pando85/auto-urtserver/

Deja un comentario

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