
Conteneur de l'atelier DEFCON 30 sur le buffer overflow mainframe

Les scripts présents ici servent à construire le mainframe virtuel MVS 3.8j pour l'atelier DEF CON 30.
Merci de jeter un œil à l'atelier DEF CON 30 sur les dépassements de tampon (buffer overflows) sur mainframe.
Ce conteneur Docker contient tout ce dont vous avez besoin pour apprendre à réaliser des dépassements de tampon MVS !
Pour démarrer la classe, lancez le conteneur et rendez-vous sur http://localhost:8080
Pour exécuter le conteneur, utilisez les commandes ci-dessous et assurez-vous de remplacer $(pwd)/docker par un dossier de votre système.
$(pwd) place les volumes Docker dans votre dossier de travail courant.
Utilisez cette commande si vous souhaitez simplement l'exécuter de manière autonome. ⚠️ Si vous supprimez puis relancez le conteneur, vous perdrez toutes les modifications apportées à l'environnement 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
Explication des ports :
Les scripts Python mentionnés se trouvent ici : https://github.com/mainframed/DC30_Workshop/tree/main/extra
Celui-ci expose plus de ports et vous permet de disposer de volumes persistants. Il donne accès aux consoles Hercules et MVS, aux lecteurs/perforateurs de cartes, 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
Ports
| Port | Description |
|---|---|
| 2323 | Port serveur TN3270 chiffré par TLS |
| 3270 | Port serveur TN3270 non chiffré |
| 3221 | Serveur FTPD chiffré |
| 2121 | Port serveur FTP non chiffré |
| 8443 | Client 3270 basé sur le web qui se connecte automatiquement au mainframe du lab https://localhost:8443 |
| 8080 | Le wiki de la classe https://localhost:8080 |
| 8888 | Serveur web Hercules / console MVS. Utilisateur/mot de passe = docker |
| 3505 | Lecteur de cartes perforées. Convertit l'ASCII en EBCDIC. |
| 3506 | Lecteur de cartes perforées. N'accepte que les fichiers EBCDIC. |
| 31337-32337 | Plage de ports passifs du serveur FTP |
Volumes
| Folder | Description |
|---|---|
| /config | Contient les fichiers de configuration Hercules et web3270 |
| /printers | Contient la sortie des imprimantes sur CLASS=A |
| /punchcards | Contient la sortie de la perforatrice de cartes sur CLASS=B |
| /logs | Contient les journaux Hercules |
| /dasd | Contient les images disque MVS/CE |
| /certs | Contient les certificats utilisés pour le chiffrement TLS |
| Username | Password | Description |
|---|---|---|
| IBMUSER | SYS1 | Utilisateur administratif avec accès à tout |
| MVSCE01 | CUL8TR | Utilisateur administratif avec accès à tout |
| MVSCE02 | PASS4U | Utilisateur générique |
| DC0 | DC0 | Utilisateur de l'atelier DEFCON |
| DC1 | DC1 | Utilisateur de l'atelier DEFCON |
| DC2 | DC2 | Utilisateur de l'atelier DEFCON |
| DC3 | DC3 | Utilisateur de l'atelier DEFCON |
| DC4 | DC4 | Utilisateur de l'atelier DEFCON |
| DC5 | DC5 | Utilisateur de l'atelier DEFCON |
| DC6 | DC6 | Utilisateur de l'atelier DEFCON |
| DC7 | DC7 | Utilisateur de l'atelier DEFCON |
| DC8 | DC8 | Utilisateur de l'atelier DEFCON |
| DC9 | DC9 | Utilisateur de l'atelier DEFCON |
| DC10 | DC10 | Utilisateur de l'atelier DEFCON |
| DC11 | DC11 | Utilisateur de l'atelier DEFCON |
| DC12 | DC12 | Utilisateur de l'atelier DEFCON |
| DC13 | DC13 | Utilisateur de l'atelier DEFCON |
| DC14 | DC14 | Utilisateur de l'atelier DEFCON |
| DC15 | DC15 | Utilisateur de l'atelier DEFCON |
| DC16 | DC16 | Utilisateur de l'atelier DEFCON |
| DC17 | DC17 | Utilisateur de l'atelier DEFCON |
| DC18 | DC18 | Utilisateur de l'atelier DEFCON |
| DC19 | DC19 | Utilisateur de l'atelier DEFCON |
| DC20 | DC20 | Utilisateur de l'atelier DEFCON |
| DC21 | DC21 | Utilisateur de l'atelier DEFCON |
| DC22 | DC22 | Utilisateur de l'atelier DEFCON |
| DC23 | DC23 | Utilisateur de l'atelier DEFCON |
⚠️ Avec la configuration actuelle, le nombre maximal d'utilisateurs simultanés est de 24. Si un 25e utilisateur se connecte, vous obtenez le message d'erreur suivant IKT00203I ADDRESS SPACE CREATION FAILED.