¿Por qué?
Para los fanáticos de los contenedores como yo, es por amor de llevar la tecnología al límite. Hay que reconocer que los contenedores tienen sus ventajas. Fáciles de ejecutar, versionar y almacenar. Suficiente para justificar este vídeo.
Retos
Contenedor para pentesting de un sitio web público
Warning
Antes de nada recordad que el sitio deberá ser de vuestra propiedad o deberéis tener permiso para auditarlo.
Conexiones desde un contenedor a un servidor público
Supongamos que hacemos las pruebas desde un servidor público también, como un VPS. En este caso, no tendremos problema para abrir puertos. Aunque no todo queda ahí, tendremos que natear al contenedor un rango de puertos para que el servidor pueda acceder a los servicios que estemos ejecutando en el contenedor.
Imaginaros que estamos escuchando una conexión con netcat en el puerto 4444. Deberíamos ejecutar el contenedor con ese puerto mapeado del host para que podamos capturar las conexiones desde del contenedor.
Esto podemos hacerlo así:
Contenedor para pentesting en un laboratorio privado
En este caso, la parte de acceso y enrutamiento es más sencillo dado que normalmente a los laboratorios de pentesting nos conectamos a través de una VPN, la cuál, nos crea un tunel directamente desde el contenedor al laboratorio.

Conexiones desde un contenedor a un laboratorio privado
La problemática viene por la parte del cliente VPN en los contenedores.
Limitaciones
La principal limitación es la acceso a las interfaces de red. En una máquina virtual virtualizas tanto software como hardware. En el caso de los contenedores, al ser procesos aislados, tenemos que lidiar con la problemática de crear interfaces de red para las VPN de algunos laboratorio.--privileged
para que el contenedor tenga acceso a las interfaces de red del host y --sysctl net.ipv6.conf.all.disable_ipv6=0
para que el contenedor tenga acceso a la red IPv6.Vídeo
Sin más preámbulos, dentro vídeo: