automated terminal push

This commit is contained in:
Software Shinobi
2025-03-14 16:35:47 -04:00
parent 9b8ad2526b
commit d74e8eb7cd
57 changed files with 51 additions and 10 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

View File

@@ -0,0 +1,78 @@
# gemini prompts to create
## gemini
so we are making a 10 part linux terminal game. where rookies get experience by solving challenges on the terminal. we are creating a clone of the war games on over the wire and putting in story.
so let's first set the stage. monaco.
there are two protagonists. whiplash(him) and talon(her). the team are of 'team six', an elite team of mercenaries who specialize with digital and perimeter infiltration and close range combat and long distance target neutralization.
they are on a mission to steal a lambo from the top floor of the penthouse, where Mateo Montenegro. the criminal boss who lives at the penthouse in the fictional monaco intercontinental hotel and owns the monaco motors car dealerships across europe.
give me a 10 part heist situation. ending with stealing the lambo and getting away.
each of the 10 parts ends with something that must be found in the environment to get to the next level.
Each Level Must come with this:
a challenge that can implement on a linux file system simulation for my students.
* the linux commands to create the files and directories to represent the map of the building the characters in.
## level challenges
only create 10 levels in total not counting the lobby.
* one level must: require the user to generate an md5 hash string as the passowrd to the next level
* one level must: require the user find the password in the filesystem ending with a specific file extension
* one level must: the user must diff two files and the password is one of the lines that's diff the files
* one level must: The password for the next level is stored in a file called readme (or something else) located in the home directory. Use this password to log into bandit1 using SSH.
-
* one level must: The password for the next level is stored in a file called - located in the home directory
* one level must: The password for the next level is stored in a file called spaces in this filename located in the home directory
* one level must: The password for the next level is stored in a hidden file in the inhere directory.
* one level must: The password for the next level is stored in the only human-readable file in the inhere directory. Tip: if your terminal is messed up, try the “reset” command.
* one level must: The password for the next level is stored in a file somewhere under the inhere directory and has all of the following properties:
human-readable
1033 bytes in size
not executable
* one level must: The password for the next level is stored somewhere on the server and has all of the following properties:
owned by user bandit7
owned by group bandit6
33 bytes in size
* one level must: The password for the next level is stored in the file data.txt next to the word millionth
* one level must: The password for the next level is stored in the file data.txt, which contains base64 encoded data
* include about 200 words of total character dialogues per level, written in the format of Shakespearean plays between whiplash, talon, and any computer systems and enemy combatants and tech that may be interacted with like cards, computers, eye scanners.
* each story should have some element of danger and violence and evasion. gunshots too.

View File

@@ -0,0 +1,20 @@
# Bottom Floor → Floor 1
## Level Goal
The password for the next level is stored in a file called readme located in the home directory. Use this password to log into bandit1 using SSH. Whenever you find a password for a level, use SSH (on port 2220) to log into that level and continue the game.
Commands you may need to solve this level
ls , cd , cat , file , du , find
## War Games Pro Tip
Create a file for notes and passwords on your local machine!
Why? Passwords for levels are not saved automatically. If you do not save them yourself, you will need to start over from bandit0.
## Note
Passwords also occassionally change. It is recommended to take notes on how to solve each challenge. As levels get more challenging, detailed notes are useful to return to where you left off, reference for later problems, or help others after youve completed the challenge.
## namaste.

View File

@@ -0,0 +1,20 @@
# Bottom Floor → Floor 1
## Level Goal
The password for the next level is stored in a file called readme located in the home directory. Use this password to log into bandit1 using SSH. Whenever you find a password for a level, use SSH (on port 2220) to log into that level and continue the game.
Commands you may need to solve this level
ls , cd , cat , file , du , find
## War Games Pro Tip
Create a file for notes and passwords on your local machine!
Why? Passwords for levels are not saved automatically. If you do not save them yourself, you will need to start over from bandit0.
## Note
Passwords also occassionally change. It is recommended to take notes on how to solve each challenge. As levels get more challenging, detailed notes are useful to return to where you left off, reference for later problems, or help others after youve completed the challenge.
## namaste.

View File

@@ -0,0 +1,13 @@
# Bandit Level 1 → Level 2
## Level Goal
The password for the next level is stored in a file called - located in the home directory
Commands you may need to solve this level
ls , cd , cat , file , du , find
## Helpful Reading Material
* Google Search for: "dashed filename"
* Advanced Bash-scripting Guide - Chapter 3 - Special Characters

View File

@@ -0,0 +1,12 @@
# Bandit Level 2 → Level 3
## Level Goal
The password for the next level is stored in a file called spaces in this filename located in the home directory
Commands you may need to solve this level
ls , cd , cat , file , du , find
## Helpful Reading Material
* Google Search for “spaces in filename”

View File

@@ -0,0 +1,9 @@
# Bandit Level 3 → Level 4
## Level Goal
The password for the next level is stored in a hidden file in the inhere directory.
## Commands you may need to solve this level
ls , cd , cat , file , du , find

View File

@@ -0,0 +1,13 @@
# Bandit Level 4 → Level 5
## Level Goal
The password for the next level is stored in the only human-readable file in the inhere directory.
## Pro Tip
If your terminal is messed up, try the "reset" command.
## Commands you may need to solve this level
ls , cd , cat , file , du , find

View File

@@ -0,0 +1,13 @@
# Bandit Level 5 → Level 6
## Level Goal
The password for the next level is stored in a file somewhere under the inhere directory and has all of the following properties:
* human-readable
* 1033 bytes in size
* not executable
## Commands you may need to solve this level
ls , cd , cat , file , du , find

View File

@@ -0,0 +1,13 @@
# Bandit Level 6 → Level 7
## Level Goal
The password for the next level is stored somewhere on the server and has all of the following properties:
* owned by user bandit7
* owned by group bandit6
* 33 bytes in size
## Commands you may need to solve this level
ls , cd , cat , file , du , find , grep

View File

@@ -0,0 +1,9 @@
# Bandit Level 7 → Level 8
## Level Goal
The password for the next level is stored in the file data.txt next to the word millionth
## Commands you may need to solve this level
man, grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd

View File

@@ -0,0 +1,13 @@
# Bandit Level 8 → Level 9
## Level Goal
The password for the next level is stored in the file data.txt and is the only line of text that occurs only once
## Commands you may need to solve this level
grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd
## Helpful Reading Material
* Piping and Redirection

View File

@@ -0,0 +1,9 @@
# Bandit Level 9 → Top Floor
## Level Goal
The password for the next level is stored in the file data.txt in one of the few human-readable strings, preceded by several = characters.
## Commands you may need to solve this level
grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd

View File

@@ -0,0 +1,31 @@
# Bottom Floor
## Level Goal
The goal of this level is for you to log into the game using SSH. The host to which you need to connect is
## Server Details
```
hostname / bandit.labs.overthewire.org
```
```
port / 2222
```
```
username / bandit0
```
```
password / bandit0
```
## Once logged in
Go to the Level 1 page to find out how to beat Level 1.
Commands you may need to solve this level
ssh

View File

@@ -0,0 +1,51 @@
# Lobby
The Monaco Heist: A Terminal Text Adventure.
!["The Monaco Heist: A Terminal Text Adventure"](cover.png)
## Pre Flight Checks:
**(Scene: Inside a military transport plane soaring high above the French Riviera. Whiplash meticulously examines a blueprint, while Talon sharpens her combat knife.)**
**Whiplash:** (Eyes glued to the blueprint) The target is on the top floor of the Monaco Intercontinental. We'll need to bypass security systems, crack codes, and maybe even deal with a few guards along the way.
**Talon:** (Testing the edge of her knife) Sounds like a typical Tuesday for Team Six. Just another day at the office.
**Tech (voice crackles through the comms):** Gear up, team. We're approaching the drop zone. Get ready to make your entrance.
**(The roar of the engines intensifies as the plane prepares to descend. A rush of adrenaline surges through Whiplash and Talon as they brace themselves for the jump.)**
**Are you ready to join them on this thrilling heist? Connect to Level 0 and let the adventure begin!**
## Introduction
**Welcome, rookie, to Team Six's latest mission: infiltrate the penthouse of the infamous Mateo Montenegro and steal his prized possession - a top-of-the-line Lamborghini!**
This is an interactive text-based adventure game, played entirely within your terminal window. You'll take on the role of Whiplash and Talon, an elite mercenary duo known for their digital infiltration and combat skills.
## Gear Up and Get Connected:
Before you embark on this daring heist, make sure you've got the necessary tools:
* **A computer with a terminal emulator:** This is your command center, where you'll interact with the game's systems and solve puzzles. Popular terminal emulators include Terminal (macOS/Linux) and cmder (Windows).
* **An SSH client:** This will allow you to connect securely to the remote server hosting the game. Most terminal emulators come with built-in SSH functionality.
## Patch Into Level 0:
Your mission begins at Level 0, the lobby of the Monaco Intercontinental Hotel. Here are your connection details:
* **Server:** linux.academy.softwareshinobi.com
* **Port:** 2222
* **Username:** monaco0
* **Password:** monaco0
This is the ssh command to type to connect to the proving grounds.
```
ssh -p 2222 monaco0@linux.academy.softwareshinobi.com
```
**Once connected, use the `cd` command to navigate to the directory for Level 1 (/page-01) and get started on your first challenge!**

View File

@@ -0,0 +1,52 @@
#####
## Introduction
The Bandit wargame is aimed at absolute beginners. It will teach the basics needed to be able to play other wargames.
If you notice something essential is missing or have ideas for new levels, please let us know!
## How It Works
This game, like most other games, is organised in levels. You start at Level 0 and try to "beat" or "finish" it.
Finishing a level results in information on how to start the next level. The pages on this website for "Level <X>" contain information on how to start level X from the previous level.
E.g. The page for Level 1 has information on how to gain access from Level 0 to Level 1.
All levels in this game have a page on this website, and they are all linked to from the sidemenu on the left of this page.
## You Might Get Lost
You will encounter many situations in which you have no idea what you are supposed to do. Dont panic! Dont give up! The purpose of this game is for you to learn the basics.
Part of learning the basics, is reading a lot of new information. If youve never used the command line before, a good first read is this introduction to user commands.
## When You Are Unsure
There are several things you can try when you are unsure how to continue:
1. First, if you know a command, but dont know how to use it, try the manual (man page) by entering man <command>. For example, man ls to learn about the "ls" command. The "man" command also has a manual, try it! When using man, press q to quit (you can also use / and n and N to search).
1. Second, if there is no man page, the command might be a shell built-in. In that case use the "help <X>" command. E.g. help cd
1. Also, your favorite search-engine is your friend. Learn how to use it! I recommend Google.
Youre ready to start! Begin with Level 0, linked at the left of this page. Good luck!
## Connect To Level 0
Connect to `Level 0` using SSH. The host to which you need to connect is below:
* `server`: linux.academy.softwareshinobi.com
* `port`: 2222
* `user`: monaco0
* `pass`: monaco0
Go to the Level 1 (/page-01) page to find out how to beat Level 1.
## Commands you may need to enter the game
```
ssh
```