Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
DC30_Workshop — DEFCON 30 메인프레임 버퍼 오버플로 워크숍 컨테이너 | Kitploit
도구/GitHubGitHub/mainframed/dc30_workshop
Vulnerability AnalysisExploitationReverse EngineeringLearning & EducationPayload DevelopmentBinary ExploitationLabs & Practice
GitHubmainframed/dc30_workshop

DC30_Workshop

DEFCON 30 메인프레임 버퍼 오버플로 워크숍 컨테이너

저장소 보기
9612132년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

DEF CON 30 워크숍 메인프레임 컨테이너

DEFCON MAINFRAME

여기 있는 스크립트들은 DEFCON 30 워크숍을 위한 MVS 3.8j 가상 메인프레임을 구축하는 데 사용됩니다.

DEFCON 30 메인프레임 버퍼 오버플로우 워크숍을 살펴봐 주셔서 감사합니다.

Docker 사용

이 docker 컨테이너에는 MVS 버퍼 오버플로우를 배우는 데 필요한 모든 것이 포함되어 있습니다!

수업을 시작하려면 컨테이너를 실행하고 http://localhost:8080 으로 접속하세요.

컨테이너를 실행하려면 아래 명령어를 사용하세요. $(pwd)/docker를 시스템의 폴더로 변경해야 합니다. $(pwd)는 docker 볼륨을 현재 작업 폴더에 배치합니다.

최소 컨테이너

자체 포함된 형태로 실행하려면 이 명령어를 사용하세요. ⚠️ 컨테이너를 제거하고 다시 실행하면 메인프레임 환경에서 변경한 모든 사항을 잃게 됩니다.

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 콘솔, 카드 리더/라이터 등에 접근할 수 있습니다.

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
2323TLS 암호화 TN3270 서버 포트
3270암호화되지 않은 TN3270 서버 포트
3221암호화된 FTPD 서버
2121암호화되지 않은 FTP 서버 포트
8443랩 메인프레임에 자동 연결되는 웹 기반 3270 클라이언트 https://localhost:8443
8080수업 위키 https://localhost:8080
8888Hercules 웹 서버/MVS 콘솔. 사용자/비밀번호 = docker
3505펀치 카드 리더. ASCII를 EBCDIC로 변환합니다.
3506펀치 카드 리더. EBCDIC 파일만 허용합니다.
31337-32337FTP 서버 패시브 포트 범위

볼륨

FolderDescription
/configHercules 및 web3270 구성 파일 포함
/printersCLASS=A 프린터 출력 포함
/punchcardsCLASS=B 펀치카드 라이터 출력 포함
/logsHercules 로그 포함
/dasdMVS/CE 디스크 이미지 포함
/certsTLS 암호화에 사용되는 인증서 포함

사용자

UsernamePasswordDescription
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 워크숍 사용자

⚠️ 현재 구성에서 최대 동시 사용자 수는 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
  • 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를 종료하세요.
  • MVS/CE를 다시 IPL하고 랩 환경을 이용하세요.
  • 그런 다음 https://github.com/MVS-sysgen/web3270 에서 web3270을 다운로드하세요.
  • web3270 준비 방법에 대한 지침을 따르세요.
  • web3270.ini를 적절히 편집하세요.
  • web3270을 python3 -u ./server.py --config /path/to/config --certs /path/to/certs로 실행하세요.

파일

도구 다운로드