
Container do workshop sobre buffer overflow em mainframe da DEFCON 30

Os scripts aqui são usados para construir o mainframe virtual MVS 3.8j para o workshop do DEFCON 30.
Obrigado por dar uma olhada no workshop de Buffer Overflow de Mainframe do DEFCON 30.
Este contêiner docker tem tudo o que você precisa para aprender a fazer buffer overflows em MVS!
Para iniciar a aula, execute o contêiner e acesse http://localhost:8080
Para executar o contêiner, use os comandos abaixo e certifique-se de alterar $(pwd)/docker para uma pasta do seu sistema.
O $(pwd) coloca os volumes do docker na sua pasta de trabalho atual.
Use este comando se você quiser apenas executá-lo de forma autocontida. ⚠️ Se você remover e relançar o contêiner, perderá todas e quaisquer alterações feitas no ambiente do 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
Explicação das portas:
Os scripts Python mencionados podem ser encontrados aqui: https://github.com/mainframed/DC30_Workshop/tree/main/extra
Este expõe mais portas e permite que você tenha volumes com persistência. Dá acesso aos consoles Hercules e MVS, aos leitores/gravadores de cartões, 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
Portas
| Porta | Descrição |
|---|---|
| 2323 | Porta do servidor TN3270 criptografada com TLS |
| 3270 | Porta do servidor TN3270 não criptografada |
| 3221 | Servidor FTPD criptografado |
| 2121 | Porta do servidor FTP não criptografada |
| 8443 | Cliente 3270 baseado na web que se conecta automaticamente ao mainframe do laboratório https://localhost:8443 |
| 8080 | A wiki da aula https://localhost:8080 |
| 8888 | Servidor web/MVS Console do Hercules. Usuário/senha = docker |
| 3505 | Leitor de cartões perfurados. Converte ASCII para EBCDIC. |
| 3506 | Leitor de cartões perfurados. Aceita apenas arquivos EBCDIC. |
| 31337-32337 | Faixa de portas passivas do servidor FTP |
Volumes
| Pasta | Descrição |
|---|---|
| /config | Contém os arquivos de configuração do Hercules e do web3270 |
| /printers | Contém a saída das impressoras em CLASS=A |
| /punchcards | Contém a saída do gravador de cartões perfurados em CLASS=B |
| /logs | Contém os logs do Hercules |
| /dasd | Contém as imagens de disco do MVS/CE |
| /certs | Contém os certificados usados para criptografia TLS |
| Usuário | Senha | Descrição |
|---|---|---|
| IBMUSER | SYS1 | Usuário administrativo com acesso a tudo |
| MVSCE01 | CUL8TR | Usuário administrativo com acesso a tudo |
| MVSCE02 | PASS4U | Usuário genérico |
| DC0 | DC0 | Usuário do Workshop DEFCON |
| DC1 | DC1 | Usuário do Workshop DEFCON |
| DC2 | DC2 | Usuário do Workshop DEFCON |
| DC3 | DC3 | Usuário do Workshop DEFCON |
| DC4 | DC4 | Usuário do Workshop DEFCON |
| DC5 | DC5 | Usuário do Workshop DEFCON |
| DC6 | DC6 | Usuário do Workshop DEFCON |
| DC7 | DC7 | Usuário do Workshop DEFCON |
| DC8 | DC8 | Usuário do Workshop DEFCON |
| DC9 | DC9 | Usuário do Workshop DEFCON |
| DC10 | DC10 | Usuário do Workshop DEFCON |
| DC11 | DC11 | Usuário do Workshop DEFCON |
| DC12 | DC12 | Usuário do Workshop DEFCON |
| DC13 | DC13 | Usuário do Workshop DEFCON |
| DC14 | DC14 | Usuário do Workshop DEFCON |
| DC15 | DC15 | Usuário do Workshop DEFCON |
| DC16 | DC16 | Usuário do Workshop DEFCON |
| DC17 | DC17 | Usuário do Workshop DEFCON |
| DC18 | DC18 | Usuário do Workshop DEFCON |
| DC19 | DC19 | Usuário do Workshop DEFCON |
| DC20 | DC20 | Usuário do Workshop DEFCON |
| DC21 | DC21 | Usuário do Workshop DEFCON |
| DC22 | DC22 | Usuário do Workshop DEFCON |
| DC23 | DC23 | Usuário do Workshop DEFCON |
⚠️ Com a configuração atual, o número máximo de usuários simultâneos é 24. Se um 25º usuário fizer logon, você
receberá a seguinte mensagem de erro IKT00203I ADDRESS SPACE CREATION FAILED.