
DEFCON 30 Contenedor del taller de desbordamiento de búfer de mainframe

Los scripts que se incluyen aquí se utilizan para construir el mainframe virtual MVS 3.8j para el taller de DEFCON 30.
Gracias por echar un vistazo al taller de desbordamiento de búfer en mainframe de DEFCON 30.
Este contenedor de Docker tiene todo lo que necesitas para aprender a realizar desbordamientos de búfer en MVS.
Para comenzar la clase, ejecuta el contenedor y ve a http://localhost:8080
Para ejecutar el contenedor usa los comandos siguientes; asegúrate de cambiar $(pwd)/docker por una carpeta de tu sistema.
$(pwd) coloca los volúmenes de Docker en tu carpeta de trabajo actual.
Usa este comando si solo quieres ejecutarlo de forma autocontenida. ⚠️ Si eliminas y vuelves a lanzar el contenedor, perderás todos los cambios que hayas realizado en el entorno del mainframe.
docker run -d \
--name=defcon30 \
-e HUSER=defcon \
-e HPASS=defcon \
-p 2323:3223 \
-p 8888:8888 \
-p 2121-2141:2121-2141 \
-p 8443:8443 \
-p 8080:8080 \
-p 31337-31347:31337-31347 \
-v ~/dumps:/printers \
--restart unless-stopped \
mainframed767/defcon30:latest
Puertos explicados:
Este expone más puertos y permite tener volúmenes persistentes. Da acceso a las consolas de Hercules y MVS, a las lectoras/grabadoras de tarjetas, etc.
docker run -d \
--name=defcon30 \
-e HUSER=docker \
-e HPASS=docker \
-p 3221:3221 \
-p 2323:3223 \
-p 3270:3270 \
-p 3505:3505 \
-p 3506:3506 \
-p 8888:8888 \
-p 2121:2121 \
-p 8443:8443 \
-p 8080:8080 \
-p 31337-31347:31337-31347 \
-v $(pwd)/docker/config:/config \
-v $(pwd)/docker/printers:/printers \
-v $(pwd)/docker/punchcards:/punchcards \
-v $(pwd)/docker/logs:/logs \
-v $(pwd)/docker/dasd:/dasd \
-v $(pwd)/docker/certs:/certs \
--restart unless-stopped \
mainframed767/defcon30:latest
Puertos
| Puerto | Descripción |
|---|---|
| 2323 | Puerto del servidor TN3270 cifrado con TLS |
| 3270 | Puerto del servidor TN3270 sin cifrar |
| 3221 | Servidor FTPD cifrado |
| 2121 | Puerto del servidor FTP sin cifrar |
| 8443 | Cliente 3270 basado en web que se conecta automáticamente al mainframe del laboratorio https://localhost:8443 |
| 8080 | La wiki de la clase https://localhost:8080 |
| 8888 | Servidor web / consola MVS de Hercules. Usuario/contraseña = docker |
| 3505 | Lectora de tarjetas perforadas. Convierte ASCII a EBCDIC. |
| 3506 | Lectora de tarjetas perforadas. Solo acepta archivos EBCDIC. |
| 31337-32337 | Rango de puertos pasivos del servidor FTP |
Volúmenes
| Carpeta | Descripción |
|---|---|
| /config | Contiene los archivos de configuración de Hercules y web3270 |
| /printers | Contiene la salida de las impresoras en CLASS=A |
| /punchcards | Contiene la salida de la perforadora de tarjetas en CLASS=B |
| /logs | Contiene los registros de Hercules |
| /dasd | Contiene las imágenes de disco MVS/CE |
| /certs | Contiene los certificados utilizados para el cifrado TLS |
| Usuario | Contraseña | Descripción |
|---|---|---|
| IBMUSER | SYS1 | Usuario administrador con acceso a todo |
| MVSCE01 | CUL8TR | Usuario administrador con acceso a todo |
| MVSCE02 | PASS4U | Usuario genérico |
| DC0 | DC0 | Usuario del taller de DEFCON |
| DC1 | DC1 | Usuario del taller de DEFCON |
| DC2 | DC2 | Usuario del taller de DEFCON |
| DC3 | DC3 | Usuario del taller de DEFCON |
| DC4 | DC4 | Usuario del taller de DEFCON |
| DC5 | DC5 | Usuario del taller de DEFCON |
| DC6 | DC6 | Usuario del taller de DEFCON |
| DC7 | DC7 | Usuario del taller de DEFCON |
| DC8 | DC8 | Usuario del taller de DEFCON |
| DC9 | DC9 | Usuario del taller de DEFCON |
| DC10 | DC10 | Usuario del taller de DEFCON |
| DC11 | DC11 | Usuario del taller de DEFCON |
| DC12 | DC12 | Usuario del taller de DEFCON |
| DC13 | DC13 | Usuario del taller de DEFCON |
| DC14 | DC14 | Usuario del taller de DEFCON |
| DC15 | DC15 | Usuario del taller de DEFCON |
| DC16 | DC16 | Usuario del taller de DEFCON |
| DC17 | DC17 | Usuario del taller de DEFCON |
| DC18 | DC18 | Usuario del taller de DEFCON |
| DC19 | DC19 | Usuario del taller de DEFCON |
| DC20 | DC20 | Usuario del taller de DEFCON |
| DC21 | DC21 | Usuario del taller de DEFCON |
| DC22 | DC22 | Usuario del taller de DEFCON |
| DC23 | DC23 | Usuario del taller de DEFCON |
⚠️ Con la configuración actual, el número máximo de usuarios concurrentes es 24. Si un vigésimo quinto usuario inicia sesión, obtendrás el siguiente mensaje de error IKT00203I ADDRESS SPACE CREATION FAILED.