lab-00-base — laboratorio de referencia del curso de seguridad ============================================================== ESTADO: LABORATORIO LOCAL Target: http://localhost:8080 Autorizacion: sistema local creado por ti para entrenamiento. Este laboratorio es tuyo, corre en tu maquina y no habla con nadie mas. Ese es el unico contexto en el que este curso practica tecnicas ofensivas. No apuntes ninguna de ellas a un sistema que no te pertenezca o para el que no tengas autorizacion escrita. Que levanta ----------- proxy nginx, unico puerto publicado, solo en 127.0.0.1:8080 app aplicacion objetivo, sin puerto publicado db postgres, sin puerto publicado monitor contenedor para mirar logs y trafico atacante contenedor desde el que se lanzan las pruebas Dos redes: lab_borde tiene salida a internet; solo la toca el proxy lab_interna internal: true, SIN salida a internet Comandos -------- docker compose up -d levantar todo docker compose ps ver que esta corriendo docker compose logs -f proxy seguir los logs del proxy docker compose exec atacante sh entrar al puesto de atacante docker compose down -v destruir todo, volumenes incluidos Abre despues: http://localhost:8080 Como comprobar que el aislamiento funciona ------------------------------------------ # desde el atacante NO deberia haber salida a internet docker compose exec atacante sh -c "curl -m 5 -sS https://example.com; echo salida=\$?" # se espera un fallo de red, no una pagina # el proxy SI alcanza la app por la red interna docker compose exec proxy sh -c "wget -qO- http://app/ | head -3" # la app NO esta publicada en el host curl -m 3 -sS http://localhost:80 ; echo salida=$? Si algo falla ------------- "port is already allocated" otro proceso usa el 8080; cambia el mapeo a 127.0.0.1:8081:80 el atacante SI llega a internet revisa que lab_interna tenga internal: true y que el contenedor no este tambien en lab_borde Cuando termines, siempre: docker compose down -v