Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Penetration Testing Playground

There are lots of interesting tools for testing the security of web applications. Unfortunately many of them are unknown to most developers and poorly packaged (I don't want a separate distro thanks). This project aims to bring together some familiar developer tools (like Vagrant and Puppet) with as many interesting security tools as I can find.

Once you have have tools you want somewhere safe to test them out. This project also contains a vulnerable web application running in a separate virtual machine which can be used as a test bed.


I'm assuming you already have Ruby and Vagrant installed. The we need to install the dependencies.

bundle install
bundle exec librarian-puppet install

This should fill your modules folder with puppet modules from the Puppet Forge. Next up we can start our virtual machines.

vagrant up

This should launch two machines, one called attacker and the other victim. Attacker gets lots of tools installed and victim gets a vulnerable web application setup.

If you want to test some of the tools out then you'll want to ssh into the attacker virtual machine:

vagrant ssh attacker

Many of the tools are not packages and these are simply installed into /opt. Just cd to the relevant directory and run the tools from there.

If you want to change anything on the victim virtual machine you can access that with:

vagrant ssh victim

If you only wanted the attacker (or victim) virtual machine then you can use either:

vagrant up attacker vagrant up victim

Tools installed

If you would like to add something else then please send a pull request or open an issue.


These tools are designed to attack or find vulnerabilities in other applications. Testing for vulnerabilities is an important part of building a secure web application, but please don't use this set of tools to attack other peoples site. It's probably illegal and definitely not very polite.


Code for installing various security minded tools onto Vagrant powered virtual machines






No releases published


No packages published