Giter Site home page Giter Site logo

ultimatewebpentest's Introduction

UltimateWebPenTest

This is my first attempt at building a GitHub repo, so if you find any major issues; be nice and open a ticket under issues. I didn't create any of the containers, I just grouped them together in a single package.


When finished, the attached scripts should build a self contained Web Pen Testing Lab with multiple targets to practice on. Each mapped to a separate port.

Each target is a docker container with a vulnerable web application inside it.

Attached is a web based front end so you can navigate and access each container both for practice and to verify that it's accessible.

Portainer has also now been added to also manage the containers via a Web GUI in event a container isn't working.


My test build was created on Ubuntu Server LTS 20.04.2, but should work on any Debian system that supports docker.

You can download a bare bones Ubuntu Server VM from OSBoxes.org here https://www.osboxes.org/ubuntu-server/

Total build size for the VM when complete was around 20GB.


This project was inspired by WebSploit labs by Omar Santos. https://websploit.org/

Omar's lab is designed to be self contained inside a Kali or Parrot Linux build.

I wanted it to stand alone, which could then allow any offensive security distro to be used at any time without having to redeploy it.

This design also allows multiple users to attack it simultaneously if required.

System Requirements

My test build was a Ubuntu Server LTS 20.04 VM using VMware Workstation

  • 2 CPU
  • 4GB RAM (Runs at about 75% use, so increase if you have RAM to spare).
  • 80GB HDD (Thin Provisioned and used about 24GB when running).

Installation

Git clone the repo to your home folder

  • cd UltimateWebPenTest
  • run ./install.sh to execute the deployment script, this will:
    • Install docker.io, docker-compose and apache2.
    • Update the /etc/issue file so it displays the VM IP Address when loaded*.
  • *This assumes the IPv4 interface is ens32 so you might need to edit /etc/issue if your VM has a different interface ID. eg. when running in VirtualBox.
    • To determine the correct interface, type ip address and note it, then edit the /etc/issue file with sudo enabled.
    • Copy the Web Front end to the apache home directory
    • pull the docker images from hub.docker.com
    • run the docker images, remap the default web ports and ensure each container will run on start-up.
    • I have also added the Portainer Web GUI to make it easier to manage misbehaving containers.

To access the front page just browse to the VMs IP Address. http://x.x.x.x where x.x.x.x is the IP address of your VM.

Note: on boot you might have to wait a minute or two for all the web apps to load and successfully start before accessing them.


Issues when you first build the image

  1. Configure the Admin account for Portainer so you can stop/start troubleshoot containers from a Web GUI.

Some of the web apps require additional configuration after they're deployed.

  1. OWASP WebGoat.net: setup the Database with the following settings

  • Data Provider: Sqlite
  • Data File Path: db.sqlite3
  • Client Executable: /usr/bin/sqlite3 WebGoat.net-setup

  1. OWASP Mutillidae 2
  • Click setup/reset the DB

  1. bWapp - An Extremely Buggy Web App

bWapp-Install

  1. Vulnerable Wordpress
  • complete the installation by selecting the language and other configuration settings

Other temperamental Web Apps:

  1. WebGoat/WebWolf - The WebWolf component sometimes fails to start even though the Webgoat app is running fine.

Login to the Portainer Web Console

  • goto http://ip-address-of-your-vm:9000
  • Goto Home on the top left
  • Select the Docker Instance in the middle of the screen
  • Goto to containers
  • locate the Webgoat Container
  • Click Restart

  1. secretcorp-branch1 - I suspect this one may need more memory as it sometimes works, sometimes doesn't.

Login to the Portainer Web Console

  • goto http://ip-address-of-your-vm:9000
  • Goto Home on the top left
  • Select the Docker Instance in the middle of the screen
  • Goto to containers
  • locate the secretcorp-branch1 Container
  • Click Restart

ultimatewebpentest's People

Contributors

randomdave64 avatar

Stargazers

 avatar  avatar Ed|red avatar Shashi Kumar Nagulakonda avatar

Watchers

 avatar  avatar

Forkers

akshay-sh30

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.