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

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

Install and Setup Alpine Term in Android App Welcome to the world of terminal and Linux environment on your Android device! 📲 In this blog post, we will guide you through the installation and setup process of Alpine Term, an amazing application that brings the power of Alpine Linux to your fingertips. Let's get started! 🚀 What is Alpine Term App? 🏔️ Alpine Term is a terminal and Linux environment application for Android. It utilizes Alpine Linux, running inside a headless x86_64 machine emulated with QEMU. The interaction with the operating system is done through terminals attached to the serial consoles of the virtual machine. This allows you to run commands, execute scripts, and experience a Linux environment on your Android device. System Requirements 📋 To install and use Alpine Term, make sure your device meets the following requirements: 📱 AArch64-based device. 🆙 Android 7.0 or higher. 💾 At least 500 MB of free space on the internal storage. 🌐 ...

Cloudflared in Termux to Create tunnels, Port Forwding

Step-by-Step Guide: Installing Cloudflared in Termux for Android (Alternative to ngrok) | 2024" J Link updated https://github.com/rajbhx/cloudflared-termux What is cloudflare Cloudflare, Inc. is an American content delivery network and DDoS mitigation company, founded in 2010. It acts as a reverse proxy between a website's visitor and the Cloudflare customer's hosting provider. Its headquarters are in San Francisco, California Usages cloudflared -url [localhost]:port_number] example : cloudflared -url localhost:8000 cloudflared tunnel localhost:[port_number] Installation Make sure your Termux app updated The commands you provided are the steps to install Cloudflared in Termux using the `rajbhx/cloudflared-termux` repository. Here's a breakdown of each command: 1. Update and upgrade packages:    ```    pkg update && pkg upgrade && pkg install git    ``` 2...

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 | termux | jarvisstaraq.blogspot.com What is truecallerjs Truecallerjs : A simple package to search phone number details.this tool also work in android and Termux app jarvisstaraq.blogspot.com Requirements Android phone Termux Proper valid Mobile Number(Phone number verification for truecaller) Truecaller InstallationId jarvisstaraq.blogspot.com Installation in Termux Installing Node.js, Git, and Wget in Termux:  To install Node.js, Git, and Wget in Termux, follow these steps: 1. Open your Termux app. 2. Run the following command to update the package lists:     ```    pkg update    ``` 3. Next, install Node.js using the following command:    ```    pkg install nodejs    ``` 4. Install Git using the command:    ```    pkg install git    ``` 5. Lastly...

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 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)...

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 ]

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

How to Install Java (Open-JDK-8) in Termux Method 1: Java 8 Installation Introduction Install Java (Open-JDK-8) in Termux without rooting your Android device. Follow these steps to get Java up and running in your Termux environment. 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 ftp.debian and copy the link to the OpenJDK-8-JRE deb package. Step 3: Download Deb Package in Kali Machine wget http://ftp.debian.org/debian/pool/main/o/openjdk-8/openjdk-8-jre-headless_8u275-b01-1_arm64.deb Step 4: Install 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 (in this case, Java 8) by typ...

How to delete Instagram Account by mrwn007 Report tool Termux

How to delete Instagram Account by mrwn007 Report tool Termux(Android) What is termux Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automatically - additional packages are available using the APT package manager. mrwn007 / 007spam-BOT Check out new updated repository Instagram mass reporter [ TERMUX ] Instagram Reporting 2 [ TERMUX ] Instagram delete new method by crevils [Termux] Why this tool not working:( Because this tool author removed all files and reposiory also just because this tool no working @__@ Installation  pkg install git pkg install python git clone https://github.com/mrwn007/007spam-BOT.git cd 007spam-BOT python3 -m pip install requests python3 bot.py this repo is dead for normal users to report in Ins...

🚀 The 2024 Java Developer Roadmap [UPDATED] 🚀

🚀 The 2024 Java Developer Roadmap [UPDATED] 🚀 Hello aspiring Java developers! 🌟 Welcome to the 2023 Java Developer Roadmap, a comprehensive guide designed to help you navigate your journey towards becoming a proficient Java professional. Whether you're just starting or looking to level up your Java skills, this roadmap will provide you with a clear path to success in the Java ecosystem. 🎉 Introduction Java, as a robust and versatile programming language, continues to be a leading choice for building enterprise-level applications, web services, mobile apps, and more. As we step into 2023, the Java landscape evolves, presenting exciting opportunities for developers like you. This updated Java Developer Roadmap encompasses years of expertise and industry insights to outline the key skills, tools, frameworks, libraries, and APIs that you should master to excel as a Java developer in 2023. 🔍 The Essentials Before diving into Java-specific to...