This repository holds a target infrastructure you can use for running the nimbostratus tools.
Python
Latest commit 73b1ff9 Mar 9, 2015 @andresriancho Update user_data.py
Fixing issue reported by Zhen:

Mar 06 23:52:15 deploy cloud-init: DEBUG: You just installed Django's auth system, which means you don't have an
y superusers defined.
Mar 06 23:52:16 deploy cloud-init: DEBUG: Would you like to create one now? (yes/no):
Mar 06 23:52:16 deploy cloud-init: ERROR: python manage.py syncdb finished with return code 1

README.md

Nimbostratus target

This repository holds a target infrastructure you can use for testing nimbostratus.

This code deploys an Amazon AWS infrastructure which has various vulnerabilities and weak configuration settings which can be exploited using nimbostratus.

If you're not sure what this is all about, you better avoid using any of the code that lives here.

Installation

sudo apt-get install python-mysqldb
git clone git@github.com:andresriancho/nimbostratus-target.git
cd nimbostratus-target
pip install -r requirements.txt

Usage

Starting the environment

Make sure you have configured your "root" AWS credentials in ~/.boto before you run the fabric script.

fab deploy

The console messages will show you the progress to understand what's deployed and where. At the end you should end up with the following AWS components:

  • Front-end EC2 instance with:
    • HTTP server and vulnerable Web application
    • Celery configured to use SQS as broker
    • Deployed using user-data script
    • With an instance profile which allows acces to SQS
  • Backend worker:
    • Consumes SQS messages sent by front-end instance
    • Uses pickle as serialization method
    • No instance profile configured, hard-coded AWS credentials
    • AWS credentials can access RDS:* and IAM:*
    • Stores information in RDS database using low-privileged user
  • RDS database
  • IAM user for backend worker

A successfull run should look like this.

Killing the environment

Once you finish playing with this Amazon cloud, just delete it with:

fab teardown

Disclaimer

  • This code wasn't developed for re-usability.
  • Running this code will create Amazon AWS charges!
  • The teardown command might fail, charges might be applied by Amazon even after running it. You're responsible of checking the state of your services after running this tool.