DC619/DC858 Mainframe Environment/Lab

Related tags

Miscellaneous DC619
Overview

DC619 Training LPAR

DEFCON MAINFRAME

The file DC619 - Mainframe Overflows Hands On.pdf contains the labs and walks through how to perform them.

Use docker

You can use docker instead of building from scratch: https://hub.docker.com/r/mainframed767/mvsce_dc619

Building from scratch

  • Download the most recent version of MVSCE from https://github.com/MVS-sysgen/sysgen/releases
  • Launch MVSCE
  • Install Review Front end:
    • Logon to MVSCE
    • At the TSO ready prompt: RX MVP INSTALL REVIEW
  • Submit the job logon_screen.JCL: cat logon_screen.JCL|ncat --send-only -w1 127.0.0.1 3505
  • Submit the job motd.jcl: cat motd.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Submit the job terminal.jcl: cat terminal.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Submit the job make_staging.jcl: cat make_staging.jcl|ncat --send-only -w1 127.0.0.1 3505
  • Using RFE in TSO edit SYS1.VTAMLST(ATCCON00) and replace LCL400 with DC619T
  • Edit SYS1.PARMLIB members:
    • IEASYS00 and change MAXUSERS to 32
    • IKJTSO00 and change USERMAX to 32
  • Install https://github.com/mvslovers/rdrprep on your Linux box
  • Clone https://github.com/mvslovers/jcc to this folder
  • Compile hello.c:
    • ./jcc/jcc -I./jcc/include -o hello.c
    • ./jcc/prelink -s ./jcc/objs hello.load hello.obj
  • Copy hello.load to users: cp hello.load users
  • Run usersjcl.py: python3 usersjcl.py
  • Convert each job in the users folder with rdrprep and submit them one by one:
    • for i in *.jcl; do echo $i;rdrprep $i;cat reader.jcl|ncat --send-only -w1 172.17.0.3 3506; read; done
    • You can check the output of MVSCE printers/prt00e.txt to see each job completed
  • Shutdown MVS/CE
  • Re-IPL MVS/CE and enjoy your lab environment

Files

  • hello.c vulnerable C program from https://github.com/jake-mainframe/GETSPLOIT
  • EBCDIC files LGBT400, LOC400 and WTO400
  • Dockerfile used to build docker image from the contents for ./dasd: https://github.com/jake-mainframe/GETSPLOIT
  • logon_screen.ans/logon_screen.JCL: ANSI/JCL to replace the NETSOL logon screen
  • motd.jcl replaces the TSO logon clist
  • terminal.jcl adds 32 new terminal interfaces and updates VTAM config
  • usersjcl.py creates DC00.jcl through DC29.jcl in the ./users folder
You might also like...
pydock - Docker-based environment manager for Python

pydock - Docker-based environment manager for Python ⚠️ pydock is still in beta mode, and very unstable. It is not recommended for anything serious. p

 Minimalistic Gridworld Environment (MiniGrid)
Minimalistic Gridworld Environment (MiniGrid)

Minimalistic Gridworld Environment (MiniGrid) There are other gridworld Gym environments out there, but this one is designed to be particularly simple

A StarkNet project template based on a Pythonic environment

StarkNet Project Template This is an opinionated StarkNet project template. It is based around the Python's ecosystem and best practices. tox to manag

Exercise to teach a newcomer to the CLSP grid to set up their environment and run jobs

Exercise to teach a newcomer to the CLSP grid to set up their environment and run jobs

A turtlebot auto controller allows robot to autonomously explore environment.

A turtlebot auto controller allows robot to autonomously explore environment.

pyToledo is a Python library to interact with the common virtual learning environment for the Association KU Leuven (Toledo).

pyToledo pyToledo is a Python library to interact with the common virtual learning environment for the Association KU Leuven a.k.a Toledo. Motivation

Python implementation of an automatic parallel parking system in a virtual environment, including path planning, path tracking, and parallel parking
Python implementation of an automatic parallel parking system in a virtual environment, including path planning, path tracking, and parallel parking

Automatic Parallel Parking: Path Planning, Path Tracking & Control This repository contains a python implementation of an automatic parallel parking s

Application launcher and environment management
Application launcher and environment management

Application launcher and environment management for 21st century games and digital post-production, built with bleeding-rez and Qt.py News Date Releas

This simple script generates a backup of a given Python and R environment

Python Environment Backup It’s always good to maintain your Python and R Anaconda environment packages properly listed and well-kept in case you have

Owner
Soldier of FORTRAN
Mainframe hacker extraordinaire
Soldier of FORTRAN
Q-Tracker is originally a High School Project created by Admins of Cirus Lab.

Q-Tracker is originally a High School Project created by Admins of Cirus Lab. It's completly coded in python along with mysql.(Tkinter For GUI)

Adithya Krishnan 2 Nov 14, 2022
Manipulation OpenAI Gym environments to simulate robots at the STARS lab

liegroups Python implementation of SO2, SE2, SO3, and SE3 matrix Lie groups using numpy or PyTorch. [Documentation] Installation To install, cd into t

STARS Laboratory 259 Dec 11, 2022
This repository contains the code for the python introduction lab

This repository contains the code for the python introduction lab. The purpose is to have a fairly simple python assignment that introduces the basic features and tools of python

null 1 Jan 24, 2022
Interactivity Lab: Household Pulse Explorable

Interactivity Lab: Household Pulse Explorable Goal: Build an interactive application that incorporates fundamental Streamlit components to offer a cur

null 1 Feb 10, 2022
RELATE is an Environment for Learning And TEaching

RELATE Relate is an Environment for Learning And TEaching RELATE is a web-based courseware package. It is set apart by the following features: Focus o

Andreas Klöckner 311 Dec 25, 2022
Transparently load variables from environment or JSON/YAML file.

A thin wrapper over Pydantic's settings management. Allows you to define configuration variables and load them from environment or JSON/YAML file. Also generates initial configuration files and documentation for your defined configuration.

Lincoln Loop 90 Dec 14, 2022
AndroidEnv is a Python library that exposes an Android device as a Reinforcement Learning (RL) environment.

AndroidEnv is a Python library that exposes an Android device as a Reinforcement Learning (RL) environment.

DeepMind 814 Dec 26, 2022
My solution for a MARL problem on a Grid Environment with Q-tables.

To run the project, run: conda create --name env python=3.7 pip install -r requirements.txt python run.py To-do: Add direction to the state space Take

Merve Noyan 12 Dec 25, 2021
A step-by-step tutorial for how to work with some of the most basic features of Nav2 using a Jupyter Notebook in a warehouse environment to create a basic application.

This project has a step-by-step tutorial for how to work with some of the most basic features of Nav2 using a Jupyter Notebook in a warehouse environment to create a basic application.

Steve Macenski 49 Dec 22, 2022
BridgeWalk is a partially-observed reinforcement learning environment with dynamics of varying stochasticity.

BridgeWalk is a partially-observed reinforcement learning environment with dynamics of varying stochasticity. The player needs to walk along a bridge to reach a goal location. When the player walks off the bridge into the water, the current will move it randomly until it gets washed back on the shore. A good agent in this environment avoids this stochastic trap

Danijar Hafner 6 Jun 13, 2022