Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
DC30_Workshop — DEFCON 30 Mainframe-Bufferüberlauf-Workshop-Container | Kitploit
Tools/GitHubGitHub/mainframed/dc30_workshop
SchwachstellenanalyseExploitationReverse EngineeringLernen & BildungPayload-EntwicklungBinary-ExploitationLabs & Praxis
GitHubmainframed/dc30_workshop

DC30_Workshop

DEFCON 30 Mainframe-Bufferüberlauf-Workshop-Container

Repository anzeigen
9612vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

DEF CON 30 Workshop Mainframe-Container

DEFCON MAINFRAME

Die Skripte hier werden verwendet, um den virtuellen MVS-3.8j-Großrechner für den DEFCON-30-Workshop zu erstellen.

Vielen Dank, dass Sie sich den DEFCON-30-Workshop zu Mainframe-Buffer-Overflows ansehen.

Docker verwenden

Dieser Docker-Container enthält alles, was Sie benötigen, um MVS-Buffer-Overflows zu erlernen!

Um den Kurs zu starten, führen Sie den Container aus und gehen Sie zu http://localhost:8080

Um den Container auszuführen, verwenden Sie die folgenden Befehle. Stellen Sie sicher, dass Sie $(pwd)/docker durch einen Ordner für Ihr System ersetzen. $(pwd) legt die Docker-Volumes in Ihrem aktuellen Arbeitsordner ab.

Minimaler Container

Verwenden Sie diesen Befehl, wenn Sie den Container in sich geschlossen ausführen möchten. ⚠️ Wenn Sie den Container entfernen und neu starten, verlieren Sie alle Änderungen, die Sie an der Mainframe-Umgebung vorgenommen haben.

root@kitploit:~
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

Erläuterung der Ports:

  • 2323: 3270-Serverport
  • 8443: Webbasierter tn3270-Client, das Geheimnis lautet D3FC0N
  • 8888: Hercules-Konsolen-Webserver. Benutzername/Passwort: defcon
  • 8080: Die Workshop-Anleitung
  • 2121-2141 & 31337-31347: Portbereich für den FTP-Server

Die erwähnten Python-Skripte finden Sie hier: https://github.com/mainframed/DC30_Workshop/tree/main/extra

Experten-Container

Dieser legt mehr Ports offen und ermöglicht dauerhafte Volumes. Er bietet Zugriff auf die Hercules- und MVS-Konsolen, die Lochkartenleser/-schreiber usw.

root@kitploit:~
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

Volumes

Benutzer

⚠️ Mit der aktuellen Konfiguration beträgt die maximale Anzahl gleichzeitiger Benutzer 24. Wenn sich ein 25. Benutzer anmeldet, erhalten Sie die folgende Fehlermeldung IKT00203I ADDRESS SPACE CREATION FAILED.

Von Grund auf erstellen

  • Laden Sie die neueste Version von MVSCE von https://github.com/MVS-sysgen/sysgen/releases herunter
  • Kopieren Sie den verwundbaren FTPD-Server nach MVP: cp extra/FTPD.MVP MVSCE/MVP/packages
  • Starten Sie MVSCE
  • Reichen Sie den Job MACLFTPF.jcl ein: cat jcl/MACLFTPF.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Reichen Sie den Job logon_screen.jcl ein: cat jcl/logon_screen.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Reichen Sie den Job terminal.jcl ein: cat terminal.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Klonen Sie das ARBAUTH-Repository: git clone https://github.com/jake-mainframe/ARBAUTH
  • Führen Sie das Python-Skript upload.py aus: ./upload.py motd.txt
  • Reichen Sie den Job upload.jcl ein:

Dateien

  • GETSPLOIT/hello.c verwundbares C-Programm von https://github.com/jake-mainframe/GETSPLOIT
  • ARBAUTH von https://github.com/jake-mainframe/ARBAUTH
  • EBCDIC-Dateien overflows/LGBT400, overflows/LOC400, overflows/WTO400
  • Dockerfile zum Erstellen des Docker-Images
  • MACLFTPD.jcl: JCL-Datei zum Installieren von MACLIBS und FTPD-Server mit MVP
  • logon_screen.ans/jcl/logon_screen.jcl: ANSI/JCL zum Ersetzen des NETSOL-Anmeldebildschirms
  • upload.py erzeugt JCL zum Bereitstellen von Datasets, Kopieren von Dateien und Vorbereiten des Systems
  • jcl/terminals.jcl fügt 32 neue Terminalschnittstellen hinzu und aktualisiert die VTAM-Konfiguration
Tool herunterladen
PortBeschreibung
2323TLS-verschlüsselter TN3270-Serverport
3270Unverschlüsselter TN3270-Serverport
3221Verschlüsselter FTPD-Server
2121Unverschlüsselter FTP-Serverport
8443Webbasierter 3270-Client, der automatisch zum Lab-Mainframe verbindet https://localhost:8443
8080Das Kurs-Wiki https://localhost:8080
8888Hercules-Webserver/MVS-Konsole. Benutzer/Passwort = docker
3505Lochkartenleser. Konvertiert ASCII in EBCDIC.
3506Lochkartenleser. Akzeptiert nur EBCDIC-Dateien.
31337-32337Passiver Portbereich des FTP-Servers
OrdnerBeschreibung
/configEnthält die Hercules- und web3270-Konfigurationsdateien
/printersEnthält die Ausgabe der Drucker auf CLASS=A
/punchcardsEnthält die Ausgabe des Lochkartenschreibers auf CLASS=B
/logsEnthält Hercules-Protokolle
/dasdEnthält die MVS/CE-Datenträgerimages
/certsEnthält die für die TLS-Verschlüsselung verwendeten Zertifikate
BenutzernamePasswortBeschreibung
IBMUSERSYS1Administrativer Benutzer mit Zugriff auf alles
MVSCE01CUL8TRAdministrativer Benutzer mit Zugriff auf alles
MVSCE02PASS4UAllgemeiner Benutzer
DC0DC0DEFCON-Workshop-Benutzer
DC1DC1DEFCON-Workshop-Benutzer
DC2DC2DEFCON-Workshop-Benutzer
DC3DC3DEFCON-Workshop-Benutzer
DC4DC4DEFCON-Workshop-Benutzer
DC5DC5DEFCON-Workshop-Benutzer
DC6DC6DEFCON-Workshop-Benutzer
DC7DC7DEFCON-Workshop-Benutzer
DC8DC8DEFCON-Workshop-Benutzer
DC9DC9DEFCON-Workshop-Benutzer
DC10DC10DEFCON-Workshop-Benutzer
DC11DC11DEFCON-Workshop-Benutzer
DC12DC12DEFCON-Workshop-Benutzer
DC13DC13DEFCON-Workshop-Benutzer
DC14DC14DEFCON-Workshop-Benutzer
DC15DC15DEFCON-Workshop-Benutzer
DC16DC16DEFCON-Workshop-Benutzer
DC17DC17DEFCON-Workshop-Benutzer
DC18DC18DEFCON-Workshop-Benutzer
DC19DC19DEFCON-Workshop-Benutzer
DC20DC20DEFCON-Workshop-Benutzer
DC21DC21DEFCON-Workshop-Benutzer
DC22DC22DEFCON-Workshop-Benutzer
DC23DC23DEFCON-Workshop-Benutzer
cat upload.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Installieren Sie https://github.com/mvslovers/rdrprep auf Ihrem Linux-Rechner
  • Klonen Sie https://github.com/mvslovers/jcc in diesen Ordner
  • Installieren Sie wine und wine 32: sudo apt install wine wine32
  • Kompilieren Sie GETSPLOIT/hello.c:
    • wine ./jcc/jcc.exe -I./jcc/include -o ./GETSPLOIT/hello.c
    • ./jcc/prelink -s ./jcc/objs hello.load hello.obj
  • Kopieren Sie hello.load nach ./GETSPLOIT: cp hello.load GETSPLOIT
  • Führen Sie usersjcl.py aus: ./usersjcl.py
  • Konvertieren Sie jeden Job im users-Ordner mit rdrprep und reichen Sie sie nacheinander ein:
    • for i in *.jcl; do echo $i;rdrprep $i;cat reader.jcl|ncat --send-only -w1 172.17.0.3 3506; read; done
    • Sie können die Ausgabe von MVSCE printers/prt00e.txt überprüfen, um zu sehen, ob jeder Job abgeschlossen wurde
  • Fahren Sie MVS/CE herunter
  • Starten Sie MVS/CE erneut (Re-IPL) und genießen Sie Ihre Laborumgebung
  • Laden Sie anschließend web3270 von https://github.com/MVS-sysgen/web3270 herunter
  • Befolgen Sie die Anweisungen zur Vorbereitung von web3270
  • Bearbeiten Sie web3270.ini nach Bedarf
  • Starten Sie web3270 mit python3 -u ./server.py --config /path/to/config --certs /path/to/certs
  • usersjcl.py erstellt DC00.jcl bis DC23.jcl im Ordner ./users
  • automation.py ein MVS-Automatisierungs-Python-Skript für die Bereitstellung in Docker
  • matrix.txt Folge dem weißen Kaninchen
  • rexx/DEBRUIJN.rex: REXX-Skript zum Erzeugen von De-Bruijn-Mustern
  • rexx/decodei.rex: dekodiert MVS-Hexadezimalanweisungen in lesbare Form
  • motd.txt das CLIST, das bei der Anmeldung an TSO ausgeführt wird
  • mvs.sh das Container-Startskript zum Starten von web3270, hercules