Skip to main content

DockerSecurityPlayground - A Microservices-based Framework @rajbhx

DockerSecurityPlayground - A Microservices-based Framework For The Study Of Network Security And Penetration Test Techniques


DockerSecurityPlayground - A Microservices-based Framework For The Study Of Network Security And Penetration Test Techniques

Docker Security Playground is an application that allows you to:
  • Create network and network security scenarios, in order to understand network protocols,
    rules, and security issues by installing DSP in your PC.
  • Learn penetration testing techniques by simulating vulnerability labs scenarios
  • Manage a set of docker-compose project . Main goal of DSP is to learn in penetration testing and network security, but its flexibility allows you the creationgraphic editing and managment run / stop of all your docker-compose labs. For more information look at the Labs Managment page.

DSP Features
  • Graphic Editor of docker-compose
  • Docker Image Management
  • GIT Integration
  • DSP Repository with a set of network sescurity scenarios

How can I share my labs with the world ?
During the installation you can create a local environment that has not link with git, or you can associate a personal repository the the application. This is very useful if you want to share your work with other people.
DSP Repository must have several requirements, so I have created a base DSP Repo Template that you can use to create your personal repository.
So, the easiest way to share labs is the following:
  1. Fork the DSP_Repo project: https://github.com/giper45/DSP_Repo.git
  2. During the installation set github directory param to your forked repository.
  3. Now create your labs and share it!
It is important that all images that you use should be available to other users, so:
  • You can publish on docker hub so other users can pull your images in order to use your labs.
  • You can provide dockerfiles inside the .docker-images directory, so users can use build.sh to build your images and use your repo.
If you need a "private way" to share labs you should share the repository in other ways, at current time there is no support to share private repositories.
In DSP you can manage multiple user repositories (Repositories tab)

Prerequisites
  • Nodejs (v 7 or later)
  • git
  • docker
  • docker-compose
  • compiler tools (g++, c, c++)

Installation
Install prerequisites and run:
npm install

Troubleshooting during installation
If you have error regarding node-pty module, try to:
  • Install build-essentials : (In Ubuntu: apt install -y build-essentials)
  • Use nodejs LTS (note-pty has some isseus, as shown here

Update the application:
When you update the application it is important to update the npm packages (The application uses mydockerjs, a npm docker API that I am developing during DSP development: https://www.npmjs.com/package/mydockerjs)
npm run update

Start
Run
npm start  
To start the application. This will launch a server listening on 8080 (or another if you set have setted ENV variable in index.js file) port of your localhost.
Go to you favourite browser and digit localhost:8080. You'll be redirected on installation page, set parameters and click install.

Documentation
For documentation about DSP usage go to Wiki page:
It is a little outdated, I will update it as possible !

Docker Wrapper Image
DSP implements a label convention called DockerWrapperImage that allows you to create images that expose action to execute when a lab is running. Look at the doc

Error Debug
MacOS ECONNRESET error:
events.js:183
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at _errnoException (util.js:992:11)
at TCP.onread (net.js:618:25)
On Mac it seems that there is some problem with some node package, so in order to solve this run:
MacBook-Pro:DockerSecurityPlayground gaetanoperrone$ npm install ws@3.3.2 --save-dev --save-exact

Contributing
  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request, we'll check

Any Questions?
Use the Issues in order to ask everything you want!.

Links

Relevant DSP Repositories

Contributors
  • Technical support: Gaetano Perrone, Francesco Caturano
  • Documentation support Gaetano Perrone, Francesco Caturano
  • Application design: Gaetano Perrone, Simon Pietro Romano
  • Application development: Gaetano Perrone, Francesco Caturano
  • Docker wrapper image development: Gaetano Perrone, Francesco Caturano
Thanks to Giuseppe Criscuolo for the logo design

Changelog
Got to CHANGELOG.md to see al the version changes.



Popular posts from this blog

Cloudflared in Termux to Create tunnels, Port Forwding

Installing Cloudflared in Termux for Android (ngrok Alternative) – 2026 Updated Repository Link https://github.com/rajbhx/cloudflared-termux What Is Cloudflare? Cloudflare, Inc. is an American content delivery network (CDN) and DDoS protection company founded in 2010. It works as a reverse proxy between visitors and the hosting provider, improving security, performance, and reliability. Basic Usage Once installed, Cloudflared can expose a local service to the internet. cloudflared -url localhost:PORT Example: cloudflared -url localhost:8000 Alternative command: cloudflared tunnel localhost:PORT Installation Make sure your Termux app is fully updated before proceeding. Installation Commands Follow the steps below to install Cloudflared using the rajbhx/cloudflared-termux script. 1. Update Termux and install Git pkg update && pkg upgrade pkg install git 2. Clone the Cloudflared Termux repository git ...

[Apk Setup] Alpine-term App | without using termux

Install and Set Up Alpine Term on Android Alpine Term allows you to run a lightweight Linux environment directly on your Android device. This guide explains what Alpine Term is, its requirements, and how to install and use it. What Is Alpine Term? Alpine Term is a terminal and Linux environment app for Android. It runs Alpine Linux inside a headless x86_64 virtual machine powered by QEMU. Interaction with the system happens through terminal sessions connected to the virtual machine’s serial consoles. This setup makes it possible to run Linux commands, scripts, and tools on Android without rooting the device. System Requirements Before installing Alpine Term, ensure your device meets the following requirements: AArch64-based Android device Android 7.0 or higher At least 500 MB of free internal storage Internet connection (for installing or updating packages) Steps to Install Alpine Term Open the Google Play Store on your Android device Search ...

How to install and setup vShell in android app |कैसे इनस्टॉल करें

How to install and setup android vShell(Virtual Shell) app (no root) कैसे इनस्टॉल करें YouTube video link What is Android-vShell app vShell is a  virtual shell environment application  for the Android OS. A virtual Linux shell environment application for Android OS. Runs Alpine Linux in QEMU system emulator.  It provides a virtual machine running small Linux distribution ready for the use out-of-box. Application implements my view on how Linux terminal environments can look like on Android OS. As operating system security is getting more and more hardened over time (which is good btw), it become impossible to abuse design flaws such as executable user data to run Linux native executables. Ability to...

How to extract Details from any mobile number Using termux | rajbhx

How to Extract Details from Any Mobile Number Using Termux Website: jarvisstaraq.blogspot.com What Is truecallerjs? truecallerjs is a simple command-line tool used to search phone number details. It works on Android devices and can be used directly inside the Termux app. Requirements Android phone Termux installed Valid mobile number (required for Truecaller verification) Truecaller Installation ID Installation in Termux Install Node.js, Git, and Wget Open the Termux app. Update the package list: pkg update Install Node.js: pkg install nodejs Install Git: pkg install git Install Wget: pkg install wget Install truecallerjs and Use Its Commands Install truecallerjs globally using npm: npm install -g truecallerjs Verify installation and view available options: truecallerjs -h Log in to your Truec...

How to Install Java (Open-JDK-8) in Termux | two Methods

How to Install Java (OpenJDK 8) in Termux Method 1: Java 8 Installation Introduction This method explains how to install Java (OpenJDK 8) in Termux without rooting your Android device. Step-by-Step Guide Step 1: Install Kali Linux in Termux (Optional) pkg install wget proot -y wget https://raw.githubusercontent.com/MasterDevX/KaliTermux/master/InstallKali.sh bash InstallKali.sh Step 2: Download OpenJDK 8 JRE Deb Package Visit the Debian FTP repository and copy the link to the OpenJDK 8 JRE package. ftp.debian Step 3: Download the Deb Package in Kali wget http://ftp.debian.org/debian/pool/main/o/openjdk-8/openjdk-8-jre-headless_8u275-b01-1_arm64.deb Step 4: Install the Deb Package Manually dpkg -i openjdk-8-jre-headless_8u275-b01-1_arm64.deb Step 5: Change Java Version (Optional) sudo update-alternatives --config java Final Step: Verify Java Version Select the desired Java version (Java 8) by entering the corresponding number when pr...

How to install & use report-fb-account-termux tool in termux

report-fb-account-termux   [+]  Disclaimer : This tool is only for educational purpose. The developer is not responsible for any abuse of it.   [+] Installation apt update && apt upgrade -y apt install git python -y git clone https://github.com/jarvisstar/report-fb-account-termux.git cd autoreport python3 ar.py Or, Use Single Command apt install git python -y && git clone https://github.com/KasRoudra/autoreport && cd autoreport && python3 ar.py Screenshots:   Usage: Search "findfbid" in google to get victim's profile link. Such as Website1 , Website2 , Website3 , Website4 . Enter the victim's facebook profile link in the website, generate and copy the numeric id in clipboard. Run the script and enter or paste that id when asked! [+] Note: AUTOREPORT DOES NOT DISABLE ACCOUNT UNLESS THERE IS SPECIFIC POST(S)...

My IP Address - How to check IP address in Termux

My IP Address - How to check IP address in Termux Here are the steps to check the IP address in various operating systems: Termux (Android): Open the Termux app. Type "ipconfig" and press Enter. Look for "inet" followed by an IP address under the network adapter you are currently using to connect to the internet. Windows: Open the Start menu and type "Command Prompt" in the search bar. Open the Command Prompt and type "ipconfig" and press Enter. Look for "IPv4 Address" or "IPv6 Address" under the network adapter you are currently using to connect to the internet. Android: Open the Settings app. Scroll down and tap on "About phone" or " About device ". Tap on " Status ". Look for "IP address" or " Wi-Fi IP address " under the network section. macOS: Click on the Apple menu in the top-left corner of the screen and select "System Preferences". Click on "N...

My Termux | How to install Lazymux in Termux #rajbhx

My Termux | How to install Lazymux in Termux Lazymux t00ls !nstaller !s very easy t0 use, 0nly pr0v!ded f0r lazy Termux users, just k!dd!ng. Lazymux !s a t00l that !s spec!ally made f0r Termux user wh!ch pr0v!des a l0t 0f t00l ma!nly used t00ls !n Termux, Lazymux !nstall any 0f the g!ven t00ls pr0v!ded by !t fr0m !tself w!th just 0ne cl!ck, and Lazymux always get updated.  What !s Python 3?   My Termux | How to install Lazymux in Termux @rajbhx How to Install Oh My Zsh How to download copyright free GAME PLAY CODM/PUBG/BGMI/FreeFire Call of duty mobile 60fps   How to install FacebookToolkit in Termux + linux + windows 10/11 Download any video with termux using youtube-dl | #rajbhx HOw to install Raspbian 9 (Stretch) in Termux #rajbhx On Decembe...

How to delete Instagram Account by mrwn007 Report tool Termux

How to Delete an Instagram Account Using a Report Tool This post discusses an old Instagram reporting tool that was previously shared by mrwn007 and used through Termux on Android. The tool is no longer functional, but this guide also explains why and provides information on proper reporting methods. Termux (Android) What Is Termux? Termux is an Android terminal emulator and Linux environment app that works without root access. It installs a minimal Linux base system automatically, and additional packages can be installed using the APT package manager. mrwn007 / 007spam-BOT Previously, mrwn007 maintained a repository called 007spam-BOT , which claimed to mass-report Instagram accounts using Termux. Related repositories that once existed: Instagram Mass Reporter (Termux) Instagram Reporting Tool v2 (Termux) Instagram Delete Method (by Crevils) Current status: All of these repositories are no longer available. Why the Tool No Longer Works Th...

How to install | instagram reporting 2 tool termux by jarvisstaraq

How to install | instagram reporting 2 tool termux by jarvisstaraq Assuming the client truly breaks the instagram rule then their is more opportunities to get prohibited. Instagram limits the reports per unit time, apparatus will auto quit revealing later arrived at limit at very nearly 40 reports. Shows "Detailed Succesfully" later Each Request. You can Report target again later some time (later 2-3 min). Use IP of same district for high effecivity. In the event that you enter invalid username it will in any case send report demand. Assuming that you getting mistake on utilizing intermediaries then, at that point, don't. Requirements Python3 Or Above  Need to install git in linux or termux Download GIT Usage Instagram mass reporter [ TERMUX ]  How to delete Instagram Account by mrwn007 Report tool Termux   [ TERMUX ]