From a command terminal, execute the following command.
$ ssh [email protected]
Password:
wargame
- introduction - introduces the game.
- introstrings - using basic linux tools for string extraction.
- introtempdir - demonstrates the use of the temporary directories.
- introexfil - introduces how to get files off the system for local analysis
- intronc - introduces the use of netcat
- intropwntools - demonstrates the use of pwntools for exploit development
- babyxor - simple single byte xor cryptography challenge
- babyre - simple crackme involving dictionaries
- babyrsa - basic RSA challenge
- babypwn - simple exploitation challenge
- babyweb - simple local file inclusion PHP web challenge
- fourbytewrite - GOT overwrite pwnable
- blackbeauty - overwrite global variables to get shell
- dragrace - bypass constraints and jump to shellcode
- angelica - python pickle challenge
First install ansible on your machine. Refer to the docs:
http://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html
Once installed, to provision the game on your local machine (localhost
), execute the ansible-playbook
command.
ansible-playbook -c local provision-game.yml --become -vv
To bring up a local development environment, do the following:
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/xenial64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/xenial64' is up to date...
==> default: Setting the name of the VM: cs4238-challenge-creation_default_1525167254976_91331
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
...
==> default: Running provisioner: ansible...
default: Running ansible-playbook...
PYTHONUNBUFFERED=1 ANSIBLE_FORCE_COLOR=true ANSIBLE_HOST_KEY_CHECKING=false ANSIBLE_SSH_ARGS='-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s' ansible-playbook --connection=ssh --timeout=30 --limit="default" --inventory-file=/Users/amon/school/cs4238-challenge-creation/.vagrant/provisioners/ansible/inventory -v provision-game.yml
Using /Users/amon/school/cs4238-challenge-creation/ansible.cfg as config file
PLAY [all] *********************************************************************
TASK [install python2] *********************************************************
...
To login as a sudoer:
$ vagrant ssh
vagrant ssh
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-122-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
0 packages can be updated.
0 updates are security updates.
Last login: Tue May 1 09:36:22 2018 from 10.0.2.2
vagrant@ubuntu-xenial:~$
To access services on the vagrant box from the host system, you may use the IP
address 10.3.13.37
. For instance,
nc 10.3.13.37 31337
What fell on Issac Newton's head?
To run the playbook against an SSH server you have root access to:
ansible-playbook -i 206.189.43.131, provision-game.yml -u root -vv