- Tener docker instalado
- Tener docker-compose instalado
Recuerda que docker se ejecuta con permisos de root asiq ue en todas las lineas tendras que agregar el sudo al principio a menos que tengas tu usuario en el grupo docker para ejecutar docker como non-root
Tenemos que crear una carpeta en el mismo directorio del proyecto de nombre .msf4
para que pueda guardar toa la info metasploit
Cambiamos el propietario con sudo chown 1000 .msf4
*_Dradis_*
=> localhost:3010
*_DVWAP_*
=> localhost:8082
Descargar el proyecto
git clone https://github.com/MoisesTapia/Pentesting-lab
cd Pentesting-lab
Con el comando
docker-compose up -d
Comenzara a construir nuestra imagen de nuestro Dockerfile y veremos una salida como la siguiente
Creating network "securitylab_default" with the default driver
Building metasplotable
Step 1/3 : from tleemcjr/metasploitable2
---> db90cb788ea1
Step 2/3 : expose 21 22 23 25 80 111 139 445 512 513 514 1524 2121 3306 3632 5432 5900 6000 6667 8009
---> Running in fd5994d851e6
Removing intermediate container fd5994d851e6
---> 110ec254a882
Step 3/3 : cmd [ "sh", "-c", "/bin/services.sh && bash"]
---> Running in ade13590cf51
Removing intermediate container ade13590cf51
---> e37af2bf565f
Successfully built e37af2bf565f
Successfully tagged metasplotable:1.0.0
cuando termine de construir todo el proyecto veremos una salida de esta manera
Creating metasplotabl2 ... done
Creating postgres ... done
Creating redis ... done
Creating dvwap ... done
Creating dradis ... done
Creating metasploit ... done
Para verificar de manera rapida si los servicios estan correiendo es cuestion de solo escribir
docker-compose ps
y nos mostrara una tablas similar a esta
Name Command State Ports
-----------------------------------------------------------------------------------------------------------------------------------------------------
dradis /entrypoint.sh Up 0.0.0.0:3010->3000/tcp
dvwap /main.sh Up 0.0.0.0:8082->80/tcp
metasploit docker/entrypoint.sh ./msf ... Up 0.0.0.0:4444->4444/tcp
metasplotabl2 sh -c /bin/services.sh && bash Up 0.0.0.0:112->111/tcp, 0.0.0.0:139->139/tcp, 0.0.0.0:1524->1524/tcp, 0.0.0.0:21->21/tcp,
0.0.0.0:2121->2121/tcp, 0.0.0.0:22->22/tcp, 0.0.0.0:23->23/tcp, 0.0.0.0:26->25/tcp,
0.0.0.0:3307->3306/tcp, 0.0.0.0:3632->3632/tcp, 0.0.0.0:445->445/tcp, 0.0.0.0:512->512/tcp,
0.0.0.0:513->513/tcp, 0.0.0.0:514->514/tcp, 0.0.0.0:5433->5432/tcp, 0.0.0.0:5900->5900/tcp,
0.0.0.0:6000->6000/tcp, 0.0.0.0:6667->6667/tcp, 0.0.0.0:8080->80/tcp, 0.0.0.0:8009->8009/tcp
postgres docker-entrypoint.sh postgres Up 0.0.0.0:5432->5432/tcp
redis docker-entrypoint.sh redis ... Up 6379/tcp
Para poder entrar al contenedore de metasploit y poser usarlo basta con solo ejecutar la siguiente linea
docker-compose exec metasploit docker/entrypoint.sh ./msfconsole -r docker/msfconsole.rc -y $APP_HOME/config/database.yml
Esto nos enviara directamente a la consola de metasploit
Para entrar el contenedore de metasploitable basta con ejecutar la siguiente linea
docker-compose exec metasplotabl2 sh -c "/bin/services.sh && bash"
Esto nos enviara directamente a la consola de metasploitable2
para detener los servicios solo ejecutamos la siguiente linea
docker-compose down -v
Y veremos una salida como la siguiente
Stopping metasploit ... done
Stopping dradis ... done
Stopping dvwap ... done
Stopping redis ... done
Stopping postgres ... done
Removing metasploit ... done
Removing dradis ... done
Removing dvwap ... done
Removing redis ... done
Removing metasplotabl2 ... done
Removing postgres ... done
Removing network securitylab_default