Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/mainframed/dc30_workshop
漏洞分析漏洞利用逆向工程学习与教育Payload 开发二进制利用实验室与实践
GitHubmainframed/dc30_workshop

DC30_Workshop

DEFCON 30 大型机缓冲区溢出工作坊容器

查看仓库
961212年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

DEF CON 30 研讨会大型机容器

DEFCON MAINFRAME

这里的脚本用于为 DEFCON 30 研讨会构建 MVS 3.8j 虚拟大型机。

感谢您关注 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: 基于 Web 的 tn3270 客户端,密码为 D3FC0N
  • 8888: Hercules 控制台 Web 服务器。用户名/密码: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

端口

卷

用户

⚠️ 在当前配置下,最大并发用户数为 24。如果有第 25 个用户登录,您会收到 以下错误消息 IKT00203I ADDRESS SPACE CREATION FAILED。

从零开始构建

  • 从 https://github.com/MVS-sysgen/sysgen/releases 下载最新版本的 MVSCE
  • 将易受攻击的 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

文件

  • GETSPLOIT/hello.c 易受攻击的 C 程序,来自 https://github.com/jake-mainframe/GETSPLOIT
  • ARBAUTH,来自 https://github.com/jake-mainframe/ARBAUTH
  • EBCDIC 文件 overflows/LGBT400、overflows/LOC400、overflows/WTO400
  • 用于构建 Docker 镜像的 Dockerfile
  • MACLFTPD.jcl:使用 MVP 安装 MACLIBS 和 FTPD 服务器的 JCL 文件
  • logon_screen.ans/jcl/logon_screen.jcl:用于替换 NETSOL 登录屏幕的 ANSI/JCL
  • upload.py 生成用于配置数据集、复制文件并使系统就绪的 JCL
  • jcl/terminals.jcl 添加 32 个新的终端接口并更新 VTAM 配置
  • usersjcl.py 在 文件夹中创建 到
下载工具
端口描述
2323TLS 加密的 TN3270 服务器端口
3270未加密的 TN3270 服务器端口
3221加密的 FTPD 服务器
2121未加密的 FTP 服务器端口
8443基于 Web 的 3270 客户端,自动连接到实验室大型机 https://localhost:8443
8080课程 Wiki https://localhost:8080
8888Hercules Web 服务器/MVS 控制台。用户/密码 = docker
3505读卡器。将 ASCII 转换为 EBCDIC。
3506读卡器。仅接受 EBCDIC 文件。
31337-32337FTP 服务器被动端口范围
文件夹描述
/config包含 Hercules 和 web3270 配置文件
/printers包含 CLASS=A 打印机输出
/punchcards包含 CLASS=B 打孔卡写入器输出
/logs包含 Hercules 日志
/dasd包含 MVS/CE 磁盘映像
/certs包含用于 TLS 加密的证书
用户名密码描述
IBMUSERSYS1拥有所有访问权限的管理员用户
MVSCE01CUL8TR拥有所有访问权限的管理员用户
MVSCE02PASS4U普通用户
DC0DC0DEFCON 研讨会用户
DC1DC1DEFCON 研讨会用户
DC2DC2DEFCON 研讨会用户
DC3DC3DEFCON 研讨会用户
DC4DC4DEFCON 研讨会用户
DC5DC5DEFCON 研讨会用户
DC6DC6DEFCON 研讨会用户
DC7DC7DEFCON 研讨会用户
DC8DC8DEFCON 研讨会用户
DC9DC9DEFCON 研讨会用户
DC10DC10DEFCON 研讨会用户
DC11DC11DEFCON 研讨会用户
DC12DC12DEFCON 研讨会用户
DC13DC13DEFCON 研讨会用户
DC14DC14DEFCON 研讨会用户
DC15DC15DEFCON 研讨会用户
DC16DC16DEFCON 研讨会用户
DC17DC17DEFCON 研讨会用户
DC18DC18DEFCON 研讨会用户
DC19DC19DEFCON 研讨会用户
DC20DC20DEFCON 研讨会用户
DC21DC21DEFCON 研讨会用户
DC22DC22DEFCON 研讨会用户
DC23DC23DEFCON 研讨会用户
  • 在你的 Linux 主机上安装 https://github.com/mvslovers/rdrprep
  • 将 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
  • 使用 rdrprep 转换 users 文件夹中的每个作业并逐一提交:
    • 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,然后开始使用您的实验环境
  • 然后从 https://github.com/MVS-sysgen/web3270 下载 web3270
  • 按照准备 web3270 的说明操作
  • 根据需要编辑 web3270.ini
  • 使用 python3 -u ./server.py --config /path/to/config --certs /path/to/certs 启动 web3270
  • ./users
    DC00.jcl
    DC23.jcl
  • automation.py 一个用于部署到 Docker 的 MVS 自动化 Python 脚本
  • matrix.txt 跟随白兔
  • rexx/DEBRUIJN.rex:用于生成 de Bruijn 模式的 REXX 脚本
  • rexx/decodei.rex:将 MVS 十六进制指令解码为人类可读格式
  • motd.txt 登录 TSO 时运行的 CLIST
  • mvs.sh 用于启动 web3270、hercules 的容器运行脚本