From a command terminal, execute the following command.
$ ssh introduction@10.3.13.37Password:
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 -vvTo 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