Docker, un laboratorio de Pentesting — OWASP Latam

CrhystamiL
3 min readMay 8, 2020

--

Uno de los grandes problemas al realizar pentesting o pruebas de seguridad es tener todas las herramientas.

Docker nos ayuda a tener ambientes donde podemos tener diferentes herramientas sin tener que pelear con diferentes librerías o dependencias que necesitan ciertas herramientas.

Docker

Necesitamos instalar docker en nuestros sistema Linux, tenemos las instrucciones para diferentes distribuciones linux.

Conocimientos previos.

Para empezar necesitamos saber los comandos básicos de docker.

docker login

docker ps

docker ps -a

docekr rm <id_image>

docker logs <id_image>

docker inspect

docker-compose ps

docker-compose up

docker-compose down

Herramientas para pentesting

Al trabajar con diferentes herramientas para realizar muchas pruebas a diferentes entornos necesitamos instalar sus dependencias o el software necesario para que funcione este script o herramienta que necesitamos.

Kali Linux

Ya todos conocemos kali Linux y tiene una gran variedad de herramientas que son utiles para realizar diferentes tareas, pero tambien tenemos un docker para poder utilizar kali.

docker@machine:~$ docker pull kalilinux/kali-rolling
docker@machine:~$ docker run -t -i kalilinux/kali-rolling /bin/bash
root@<id_docker>:/# apt-get update && apt-get install metasploit-framework nmap sqlmap

Metasploit

Uno problema que constantemente tengo es la instalación y configuración de mestasploit pero con docker tenemos la facilidad de ejecutarlo de una manera rápida.

Es muy sencillo ejecutarlo y realizar

# ./metasploit-framework/docker/bin/msfconsole

Pero al utilizar metasploit necesitamos tener puertos disponibles para realizar una shell reversa, por defecto se tiene el puerto 444 abierto pero podemos habilitar diferentes puertos en el archivo docker-compose.yml.

NOTA: Agregar 2 lineas para que postgres no solicite una contraseña para conectarse a la DB.

BugBounty tool Kit

docker pull hackersploit/bugbountytoolkit
docker run -it hackersploit/bugbountytoolkit /bin/bash

Binarios para ataques

Laboratorio de pruebas

En muchas ocaciones se necesita desplegar ciertas tecnologías para poder realizar pruebas, y tener que hacer este tipo de despliegues es muy costoso ya que se tiene que configurar muchos servicios.

Con docker nos podemos minimizar este trabajo de despliegue y buscar vulnerabilidades de una manera mas rápida.

wordpress, drupal, apache, nginx

version: '3.1'

services:

wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
volumes:
- wordpress:/var/www/html

db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- db:/var/lib/mysql

volumes:
wordpress:
db:

También tenemos imágenes vulnerables donde podemos usarlo para realizar pruebas y análisis de cada vulnerabilidad a mas detalle.

Crea tu propio Docker vulnerable para CTF’s.

Para esto necesitamos desarrollar algún portal o reto para poder crear el docker respectivo, en este caso crearemos un dockerfile para una aplicación en python que utiliza el framework FLASK.

FROM python:2.7

COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
EXPOSE 2345
ENTRYPOINT ["python"]
CMD ["app.py"]

Laboratorio de Pentesting y CTF

Ahora que tenemos herramientas y también ambientes para hacer pruebas, podemos utilizarlo para armar un laboratorio de pruebas.

Bueno espero que te haya servido, hasta un proximo post.

Happy hacking.

--

--

CrhystamiL
CrhystamiL

Written by CrhystamiL

CEH, CyberSecurity Researcher,Ethical Hacker, GNU/Linux Lover.

No responses yet