⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

WillB97/bash101

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bash101 Challenge

Users connect over SSH to the server. Each new connection to a user beginning with bash creates a new container from the named image and redirects the shell into the container. Containers are automatically destroyed when the user logs out.

Each level is a separate folder or git repo. The folder contains a dockerfile, a tag file, an info file and a readme.

The tag file contains the username to be used for the challenge.

The info file is echoed to the terminal when a user connects as the challenge user

The dockerfile follows the form:

FROM <base-image>
ARG flag0=flag
ARG chal_user=bash
RUN adduser --gecos "" --disabled-password $chal_user
WORKDIR /home/$chal_user

# place this flag where it is wanted
RUN echo "flag{$flag0}" > flag.txt
# insert an embedded flag
# RUN sed -i "s/flag{}/flag{$flag0}/" flag.txt 

# set the command to run at container start (generally a shell)
CMD bash

Flags and passwords are then set at build time.

Build each challenge using:

cd bash0
chal_make <challenge-password> <flag-value> [<flag-value> ..]

Setup

./setup.sh
sudo systemctl reload ssh
# restart your session to apply groups
./run.sh

About

Docker & SSH based shell challenge framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages