/docker-parrot

Parrot OS (Core/Security) or just Parrot Tools in Docker with the usage of Makefile, Dockerfiles and docker-compose.yaml for Bug Bounty, Penetration Testing, Security Research, Computer Forensics and Reverse Engineering, repository also contains Proof of Concept with kind (K8s in Docker) for ParrotOS with/without systemd in K8s cluster

Primary LanguageMakefile

docker-parrot

ParrotOS Official Doc

Parrot OS (Core/Security) or just Parrot Tools in Docker with the usage of Makefile, Dockefiles and docker-compose.yaml for Bug Bounty, Penetration Testing, Security Research, Computer Forensics and Reverse Engineering. Repository also contains Proof of Concept with kind (Kubernetes in Docker) to test Parrot OS in Docker.

For the further details how it works read the Makefile

!!! I am using Docker host network driver, please remember that: The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server !!! The usage of the host network driver is to optimize performance or to use that in a situation where container needs to handle a wide large range of ports

If you want to run this project on the Mac, Windows, Windows server please remove from all commands --network host!!!

Dockerhub

lostcauze7/parrot-core-systemd

lostcauze7/parrot-sec-systemd

lostcauze7/parrot-core

lostcauze7/parrot-security

Deployment for Kubernetes

Local cluster with Kind - (K8s in Docker):

# Creates kind cluster, 1 master + 2 worker nodes
make cc
# Deletes kind cluster
make dc

Without enabled systemd:

# ParrotOS Core:
kubectl apply -f core/deploy/deploy.yaml
# ParrotOS Security:
kubectl apply -f security/deploy/deploy.yaml

With enabled systemd:

# ParrotOS Core:
kubectl apply -f systemd_k8s/core/deploy.yaml
# ParrotOS Security:
kubectl apply -f systemd_k8s/security/deploy.yaml

Installation of Trivy

Trivy installation for Docker Image vulnerabilities:

If you are not using Debian/Ubuntu, read docs

One liner to install Trivy by specific version (Linux/Ubuntu):

TRIVY_VERSION=0.44.0; curl -sSLO https://github.com/aquasecurity/trivy/releases/download/v${TRIVY_VERSION}/trivy_${TRIVY_VERSION}_Linux-64bit.deb && sudo dpkg -i trivy_${TRIVY_VERSION}_Linux-64bit.deb

Trivy usage:

trivy image <image>

Installing Docker + Docker compose

Install Docker engine by your way you or you can install it by shell script:

curl -fsSL https://get.docker.com -o get-docker.sh; sudo sh get-docker.sh; rm -rf get-docker.sh

#Permissions:
sudo usermod -aG docker $USER
newgrp docker

Docker compose installation (latest release), it is expected you're using only docker compose v2! Used version of docker-compose.yaml is 3.8

mkdir -p ~/.docker/cli-plugins/; DOCKER_COMPOSE=2.20.2; curl -SL https://github.com/docker/compose/releases/download/v${DOCKER_COMPOSE}/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose; chmod +x ~/.docker/cli-plugins/docker-compose #permission

docker compose version #verify

Local development

# Builds up the Parrot OS - Core
make build-core
# Builds up the Parrot OS - Core with systemd
make build-core-systemd
# Run Parrot OS - Core
make run-core
# Run Parrot OS - Core with systemd
make run-core-s
# Scan for vuln. in Parrot OS Core Docker Image
make core-scan
# Scan for vuln. in Parrot OS Core with Docker Image with systemd
make core-s-scan
# Docker stats for Parrot OS Core Docker Image
make core-stats
# Docker stats for Parrot OS Core Docker Image with systemd
make core-s-stats
# Builds up the Parrot OS - Security
make build-security
# Builds up the Parrot OS - Security with systemd
make build-security-systemd
# Run Parrot OS - Security
make run-security
# Run Parrot OS - Security with systemd
make run-security-s
# Scan for vuln. in Parrot OS Security Docker Image
make security-scan
# Scan for vuln. in Parrot OS Security Docker Image with systemd
make security-s-scan
# Docker stats for Parrot OS Security Docker Image
make security-stats
# Docker stats for Parrot OS Security Docker Image with systemd
make security-s-stats
# Run Parrot Tools Docker image (read Makefile) - Nmap
make nmap
# Run Parrot Tools Docker image (read Makefile) - metasploit 
make metasploit
# Run Parrot Tools Docker image (read Makefile) - set 
make pset
# Run Parrot Tools Docker image (read Makefile) - bettercap 
make bettercap
# Run Parrot Tools Docker image (read Makefile) - sqlmap 
make sqlmap


## Docker compose:

# Starts ParrotOS Core & Parrot OS Security docker compose services defined in docker-compose.yaml
make up
# Stops and Removes ParrotOS Core & Parrot OS Security docker compose services defined in docker-compose.yaml
make down


## Cleaning

# Removes Volumes 
make rm-volumes
# Stop/remove all docker images
make rmrf
# Docker prune
make prune
# Docker volume prune
make volume-prune