Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
DC30_Workshop — Container del workshop di DEFCON 30 sul buffer overlow del mainframe | Kitploit
Strumenti/GitHubGitHub/mainframed/dc30_workshop
Analisi delle VulnerabilitàExploitReverse EngineeringApprendimento e FormazioneSviluppo PayloadBinary ExploitationLab e Pratica
GitHubmainframed/dc30_workshop

DC30_Workshop

Container del workshop di DEFCON 30 sul buffer overlow del mainframe

Vedi Repository
96122 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

DEF CON 30 Workshop Mainframe Container

DEFCON MAINFRAME

Gli script qui presenti sono usati per costruire il mainframe virtuale MVS 3.8j per il workshop DEFCON 30.

Grazie per aver dato un'occhiata al workshop sul buffer overflow del mainframe DEFCON 30.

Usa Docker

Questo container Docker ha tutto ciò che ti serve per imparare a fare buffer overflow su MVS!

Per iniziare la lezione, esegui il container e vai su http://localhost:8080

Per eseguire il container usa i comandi qui sotto, assicurati di cambiare $(pwd)/docker con una cartella adatta al tuo sistema. $(pwd) inserisce i volumi Docker nella tua cartella di lavoro corrente.

Container minimale

Usa questo comando se vuoi solo eseguirlo in modo autonomo. ⚠️ Se rimuovi e rilanci il container perderai tutte le modifiche apportate all'ambiente mainframe.

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

Porte spiegate:

  • 2323: porta del server 3270
  • 8443: client tn3270 basato sul web, il segreto è D3FC0N
  • 8888: server web della console Hercules. Nome utente/password: defcon
  • 8080: le istruzioni del workshop
  • 2121-2141 e 31337-31347: intervallo di porte web per il server FTP

Gli script Python menzionati si trovano qui: https://github.com/mainframed/DC30_Workshop/tree/main/extra

Container per esperti

Questo espone più porte e consente di avere volumi permanenti. Dà accesso alle console Hercules e MVS, ai lettori/scrittori di schede, ecc.

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

Porte

Volumi

Utenti

⚠️ Con la configurazione attuale il numero massimo di utenti contemporanei è 24. Se un 25° utente accede, si ottiene il seguente messaggio di errore IKT00203I ADDRESS SPACE CREATION FAILED.

Costruire da zero

  • Scarica la versione più recente di MVSCE da https://github.com/MVS-sysgen/sysgen/releases
  • Copia il server FTPD vulnerabile in MVP: cp extra/FTPD.MVP MVSCE/MVP/packages
  • Avvia MVSCE
  • Invia il job MACLFTPF.jcl: cat jcl/MACLFTPF.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Invia il job logon_screen.jcl: cat jcl/logon_screen.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Invia il job terminal.jcl: cat terminal.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Clona il repository ARBAUTH: git clone https://github.com/jake-mainframe/ARBAUTH
  • Esegui lo script Python upload.py: ./upload.py motd.txt
  • Invia il job upload.jcl:

File

  • GETSPLOIT/hello.c programma C vulnerabile da https://github.com/jake-mainframe/GETSPLOIT
  • ARBAUTH da https://github.com/jake-mainframe/ARBAUTH
  • File EBCDIC overflows/LGBT400, overflows/LOC400, overflows/WTO400
  • Dockerfile usato per creare l'immagine docker
  • MACLFTPD.jcl: file JCL per installare MACLIBS e il server FTPD usando MVP
  • logon_screen.ans/jcl/logon_screen.jcl: ANSI/JCL per sostituire la schermata di accesso NETSOL
  • upload.py genera il JCL usato per creare i dataset, copiare i file e preparare il sistema
  • jcl/terminals.jcl aggiunge 32 nuove interfacce terminale e aggiorna la configurazione VTAM
  • crea i file da a nella cartella
Scarica lo strumento
PortDescription
2323Porta del server TN3270 cifrata TLS
3270Porta del server TN3270 non cifrata
3221Server FTPD cifrato
2121Porta del server FTP non cifrata
8443Client 3270 basato sul web che si connette automaticamente al mainframe del laboratorio https://localhost:8443
8080Il Wiki del corso https://localhost:8080
8888Server Web Hercules/Console MVS. Utente/password = docker
3505Lettore di schede perforate. Converte ASCII in EBCDIC.
3506Lettore di schede perforate. Accetta solo file EBCDIC.
31337-32337Intervallo porte passive del server FTP
FolderDescription
/configContiene i file di configurazione di Hercules e web3270
/printersContiene l'output delle stampanti su CLASS=A
/punchcardsContiene l'output dello scrittore di schede su CLASS=B
/logsContiene i log di Hercules
/dasdContiene le immagini disco MVS/CE
/certsContiene i certificati usati per la cifratura TLS
UsernamePasswordDescription
IBMUSERSYS1Utente amministrativo con accesso a tutto
MVSCE01CUL8TRUtente amministrativo con accesso a tutto
MVSCE02PASS4UUtente generico
DC0DC0Utente del workshop DEFCON
DC1DC1Utente del workshop DEFCON
DC2DC2Utente del workshop DEFCON
DC3DC3Utente del workshop DEFCON
DC4DC4Utente del workshop DEFCON
DC5DC5Utente del workshop DEFCON
DC6DC6Utente del workshop DEFCON
DC7DC7Utente del workshop DEFCON
DC8DC8Utente del workshop DEFCON
DC9DC9Utente del workshop DEFCON
DC10DC10Utente del workshop DEFCON
DC11DC11Utente del workshop DEFCON
DC12DC12Utente del workshop DEFCON
DC13DC13Utente del workshop DEFCON
DC14DC14Utente del workshop DEFCON
DC15DC15Utente del workshop DEFCON
DC16DC16Utente del workshop DEFCON
DC17DC17Utente del workshop DEFCON
DC18DC18Utente del workshop DEFCON
DC19DC19Utente del workshop DEFCON
DC20DC20Utente del workshop DEFCON
DC21DC21Utente del workshop DEFCON
DC22DC22Utente del workshop DEFCON
DC23DC23Utente del workshop DEFCON
cat upload.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Installa https://github.com/mvslovers/rdrprep sul tuo sistema Linux
  • Clona https://github.com/mvslovers/jcc in questa cartella
  • Installa wine e wine 32: sudo apt install wine wine32
  • Compila GETSPLOIT/hello.c:
    • wine ./jcc/jcc.exe -I./jcc/include -o ./GETSPLOIT/hello.c
    • ./jcc/prelink -s ./jcc/objs hello.load hello.obj
  • Copia hello.load in ./GETSPLOIT: cp hello.load GETSPLOIT
  • Esegui usersjcl.py: ./usersjcl.py
  • Converti ogni job nella cartella users con rdrprep e inviali uno a uno:
    • for i in *.jcl; do echo $i;rdrprep $i;cat reader.jcl|ncat --send-only -w1 172.17.0.3 3506; read; done
    • Puoi controllare l'output di MVSCE printers/prt00e.txt per vedere ogni job completato
  • Spegni MVS/CE
  • Esegui nuovamente l'IPL di MVS/CE e goditi il tuo ambiente di laboratorio
  • Poi scarica web3270 da https://github.com/MVS-sysgen/web3270
  • Segui le istruzioni su come preparare web3270
  • Modifica web3270.ini come appropriato
  • Avvia web3270 con python3 -u ./server.py --config /path/to/config --certs /path/to/certs
  • usersjcl.py
    DC00.jcl
    DC23.jcl
    ./users
  • automation.py uno script Python di automazione MVS usato per il deployment su docker
  • matrix.txt Segui il coniglio bianco
  • rexx/DEBRUIJN.rex: script REXX per generare pattern di de Bruijn
  • rexx/decodei.rex: decodifica le istruzioni hex MVS in formato leggibile
  • motd.txt la CLIST eseguita all'accesso a TSO
  • mvs.sh lo script di avvio del container per lanciare web3270, hercules