Virtual Machine or Manual Setup
You can download Security Shepherd VM’s or Manual Installation Packs from GitHub
There is also a docker image available from Dockerhub you can pull it down with
docker pull ismisepaul/securityshepherd
Note: You’ll need to get a shell on your docker container and run mysql and tomcat manually;
docker run -i -p 80:80 -p 443:443 -p 27017:27017 -t ismisepaul/securityshepherd /bin/bash
/usr/bin/mongod & /usr/bin/mysqld_safe & service tomcat7 start
If you don’t have
authbind installed and configured on your host machine e.g. on Ubuntu you’ll need to do the following;
sudo apt-get install authbind touch /etc/authbind/byport/80 touch /etc/authbind/byport/443 chmod 550 /etc/authbind/byport/80 chmod 550 /etc/authbind/byport/443 chown tomcat7 /etc/authbind/byport/80 chown tomcat7 /etc/authbind/byport/443
How do I setup Security Shepherd?
We’ve got fully automated and step by step walkthroughs on our wiki page to help you get Security Shepherd up and running.
What can Security Shepherd be used for?
Security Shepherd can be used as a;
- Teaching Tool for All Application Security
- Web Application Pen Testing Training Platform
- Mobile Application Pen Testing Training
- Safe Playground to Practise AppSec Techniques
- Platform to demonstrate real Security Risk examples
Why choose Security Shepherd?
There are a lot of purposefully vulnerable applications available in the OWASP Project Inventory, and even more across the internet. Why should you use Security Shepherd? Here are a few reasons;
- Wide Topic Coverage
Shepherd includes over sixty levels across the entire spectrum of Web and Mobile application security under a single project.
- Gentle Learning Curve
Shepherd is a perfect for users completely new to security with levels increases in difficulty at a pleasant pace.
- Layman Write Ups
Each security concept when first presented in Shepherd, is done so in layman terms so that anyone can beginner can absorb them.
- Real World Examples
The security risks in Shepherd are real vulnerabilities that have had their exploit impact dampened to protect the application, users and environment. There are no simulated security risks which require an expected, specific attack vector in order to pass a level. Attack vectors when used on Shepherd are how they would behave in the real world.
Shepherd can be used locally by a single user or easily as a server for a high amount of users.
- Highly Customisable
Shepherd enables admins to set what levels are available to their users and in what way they are presented (Open, CTF and Tournament Layouts)
- Perfect for Classrooms
Shepherd gives its players user specific solution keys to prevent students from sharing keys, rather than going through the steps required to complete a level.
Security Shepherd has a configurable scoreboard to encourage a competitive learning environment. Users that complete levels first, second and third get medals on their scoreboard entry and bonus points to keep things entertaining on the scoreboard.
- User Management
Security Shepherd admins can create users, create admins, suspend, unsuspend, add bonus points or take penalty points away user accounts with the admin user management controls. Admins can also segment their students into specific class groups. Admins can view the progress a class has made to identify struggling participants. An admin can even close public registration and manually create users if they wish for a private experience.
- Robust Service
Shepherd has been used to run online CTFs such as the OWASP Global CTF and OWASP LATAM Tour CTF 2015, both surpassing 200 active users and running with no down time, bar planned maintenance periods.
- Configurable Feedback
An administrator can enable a feedback process, which must be completed by users before a level is marked as complete. This is used both to facilitate project improvements based on feedback submitted and for system administrators to collect “Reports of Understanding” from their students.
- Granular Logging
The logs reported by Security Shepherd are highly detailed and descriptive, but not screen blinding. If a user is misbehaving, you will know.