Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
DC30_Workshop — Контейнер воркшопа DEFCON 30 по переполнению буфера в мейнфреймах | Kitploit
Инструменты/GitHubGitHub/mainframed/dc30_workshop
Анализ уязвимостейЭксплуатацияОбратная инженерияОбучение и ОбразованиеРазработка Полезной НагрузкиЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHubmainframed/dc30_workshop

DC30_Workshop

Контейнер воркшопа DEFCON 30 по переполнению буфера в мейнфреймах

Репозиторий
961212 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Контейнер мейнфрейма для воркшопа DEF CON 30

DEFCON МЕЙНФРЕЙМ

Скрипты здесь используются для сборки виртуального мейнфрейма MVS 3.8j для воркшопа DEFCON 30.

Спасибо, что заглянули на воркшоп DEFCON 30 по переполнению буфера на мейнфрейме.

Использование docker

Этот docker-контейнер содержит всё необходимое, чтобы научиться делать переполнение буфера в MVS!

Чтобы начать занятие, запустите контейнер и перейдите на http://localhost:8080

Для запуска контейнера используйте команды ниже; обязательно замените $(pwd)/docker на папку вашей системы. $(pwd) помещает тома docker в вашу текущую рабочую папку.

Минимальный контейнер

Используйте эту команду, если хотите запустить контейнер в автономном режиме. ⚠️ Если вы удалите и перезапустите контейнер, вы потеряете все изменения, внесённые в среду мейнфрейма.

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

Описание портов:

  • 2323: порт сервера 3270
  • 8443: веб-клиент tn3270, секрет — D3FC0N
  • 8888: веб-сервер консоли Hercules. Имя пользователя/пароль: defcon
  • 8080: инструкции к воркшопу
  • 2121-2141 и 31337-31347: диапазон портов для FTP-сервера

Упомянутые Python-скрипты можно найти здесь: https://github.com/mainframed/DC30_Workshop/tree/main/extra

Экспертный контейнер

Он открывает больше портов и позволяет использовать тома с постоянным хранением. Даёт доступ к консолям Hercules и MVS, устройствам чтения/записи перфокарт и т.д.

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

Порты

PortDescription
2323Порт сервера TN3270 с шифрованием TLS
3270Порт сервера TN3270 без шифрования
3221FTPD-сервер с шифрованием
2121Порт FTP-сервера без шифрования
8443Веб-клиент 3270, который автоматически подключается к лабораторному мейнфрейму https://localhost:8443
8080Вики занятия https://localhost:8080
8888Веб-сервер Hercules/консоль MVS. Пользователь/пароль = docker
3505Устройство чтения перфокарт. Преобразует ASCII в EBCDIC.
3506Устройство чтения перфокарт. Принимает только файлы EBCDIC.
31337-32337Диапазон пассивных портов FTP-сервера

Тома

FolderDescription
/configСодержит файлы конфигурации Hercules и web3270
/printersСодержит вывод принтеров на CLASS=A
/punchcardsСодержит вывод устройства записи перфокарт на CLASS=B
/logsСодержит журналы Hercules
/dasdСодержит образы дисков MVS/CE
/certsСодержит сертификаты, используемые для TLS-шифрования

Пользователи

Имя пользователяПарольОписание
IBMUSERSYS1Административный пользователь с доступом ко всему
MVSCE01CUL8TRАдминистративный пользователь с доступом ко всему
MVSCE02PASS4UОбычный пользователь
DC0DC0Пользователь воркшопа DEFCON
DC1DC1Пользователь воркшопа DEFCON
DC2DC2Пользователь воркшопа DEFCON
DC3DC3Пользователь воркшопа DEFCON
DC4DC4Пользователь воркшопа DEFCON
DC5DC5Пользователь воркшопа DEFCON
DC6DC6Пользователь воркшопа DEFCON
DC7DC7Пользователь воркшопа DEFCON
DC8DC8Пользователь воркшопа DEFCON
DC9DC9Пользователь воркшопа DEFCON
DC10DC10Пользователь воркшопа DEFCON
DC11DC11Пользователь воркшопа DEFCON
DC12DC12Пользователь воркшопа DEFCON
DC13DC13Пользователь воркшопа DEFCON
DC14DC14Пользователь воркшопа DEFCON
DC15DC15Пользователь воркшопа DEFCON
DC16DC16Пользователь воркшопа DEFCON
DC17DC17Пользователь воркшопа DEFCON
DC18DC18Пользователь воркшопа DEFCON
DC19DC19Пользователь воркшопа DEFCON
DC20DC20Пользователь воркшопа DEFCON
DC21DC21Пользователь воркшопа DEFCON
DC22DC22Пользователь воркшопа DEFCON
DC23DC23Пользователь воркшопа DEFCON

⚠️ При текущей настройке максимальное количество одновременных пользователей — 24. Если войдёт 25-й пользователь, вы получите следующее сообщение об ошибке IKT00203I ADDRESS SPACE CREATION FAILED.

Сборка с нуля

  • Скачайте последнюю версию MVSCE с https://github.com/MVS-sysgen/sysgen/releases
  • Скопируйте уязвимый FTPD-сервер в каталог MVP: cp extra/FTPD.MVP MVSCE/MVP/packages
  • Запустите MVSCE
  • Отправьте задание MACLFTPF.jcl: cat jcl/MACLFTPF.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Отправьте задание logon_screen.jcl: cat jcl/logon_screen.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Отправьте задание terminal.jcl: cat terminal.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Клонируйте репозиторий ARBAUTH: git clone https://github.com/jake-mainframe/ARBAUTH
  • Запустите python-скрипт upload.py: ./upload.py motd.txt
  • Отправьте задание upload.jcl: cat upload.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Установите https://github.com/mvslovers/rdrprep на вашей Linux-машине
  • Клонируйте https://github.com/mvslovers/jcc в эту папку
  • Установите wine и wine 32: sudo apt install wine wine32
  • Скомпилируйте GETSPLOIT/hello.c:
    • wine ./jcc/jcc.exe -I./jcc/include -o ./GETSPLOIT/hello.c
    • ./jcc/prelink -s ./jcc/objs hello.load hello.obj
  • Скопируйте hello.load в ./GETSPLOIT: cp hello.load GETSPLOIT
  • Запустите usersjcl.py: ./usersjcl.py
  • Преобразуйте каждое задание в папке users с помощью rdrprep и отправляйте их по одному:
    • for i in *.jcl; do echo $i;rdrprep $i;cat reader.jcl|ncat --send-only -w1 172.17.0.3 3506; read; done
    • Вы можете проверить вывод MVSCE в printers/prt00e.txt, чтобы увидеть, что каждое задание завершено
  • Завершите работу MVS/CE
  • Повторно выполните IPL MVS/CE и наслаждайтесь лабораторной средой
  • Затем скачайте web3270 с https://github.com/MVS-sysgen/web3270
  • Следуйте инструкциям по подготовке к web3270
  • Отредактируйте web3270.ini соответствующим образом
  • Запустите web3270 командой python3 -u ./server.py --config /path/to/config --certs /path/to/certs

Файлы

  • GETSPLOIT/hello.c — уязвимая программа на C из https://github.com/jake-mainframe/GETSPLOIT
  • ARBAUTH — из https://github.com/jake-mainframe/ARBAUTH
  • EBCDIC-файлы overflows/LGBT400, overflows/LOC400, overflows/WTO400
  • Dockerfile — используется для сборки docker-образа
  • MACLFTPD.jcl: JCL-файл для установки MACLIBS и FTPD-сервера с помощью MVP
  • logon_screen.ans/jcl/logon_screen.jcl: ANSI/JCL для замены экрана входа NETSOL
  • upload.py создаёт JCL, используемый для подготовки наборов данных, копирования файлов и приведения системы в готовность
  • jcl/terminals.jcl добавляет 32 новых терминальных интерфейса и обновляет конфигурацию VTAM
  • usersjcl.py создаёт файлы DC00.jcl – DC23.jcl в папке ./users
  • automation.py — python-скрипт автоматизации MVS, используемый для развёртывания в docker
  • matrix.txt — следуй за белым кроликом
  • rexx/DEBRUIJN.rex: REXX-скрипт для генерации паттерна де Брёйна
  • rexx/decodei.rex: декодирует hex-инструкции MVS в удобочитаемый вид
  • motd.txt — CLIST, запускаемый при входе в TSO
  • mvs.sh — скрипт запуска контейнера для запуска web3270 и hercules
Скачать инструмент