Skip to content

Repository files navigation

Project Cerberus: Automated Security Orchestration Framework

Project Cerberus is a modular framework designed to automate the lifecycle of vulnerability management. It bridges the gap between offensive testing and defensive remediation by providing a unified interface for Auditing, Attacking, and Hardening Linux environments.

Project Overview

In modern DevOps, security is often siloed. Cerberus demonstrates a SOAR (Security Orchestration, Automation, and Response) approach by:

  1. Auditing: dynamically scanning live Kernel parameters (/proc/sys/...) and PAM configurations.
  2. Attacking: Simulating an internal Man-in-the-Middle (MITM) attack via ARP Spoofing.
  3. Hardening: Automatically remediating flaws using enterprise-standard tools (sysctl, sed) and verifying the fix.

Architecture

The infrastructure runs on a Multi-Container Docker Network (172.20.0.0/24) isolating the Attacker, Victim, and Gateway.

RoleContainerIPDescription
Attackercerberus_operator172.20.0.10Kali Linux (Rolling). Runs the main controller and attack modules.
Targetcerberus_target172.20.0.20Ubuntu 20.04. The victim server with vulnerable configurations.
Gatewaycerberus_gateway172.20.0.2Apache Guacamole. Provides clientless Web RDP/SSH access.

The Core Logic: "Spying vs. Blocking"

This project demonstrates the critical concept of Fail-Open vs. Fail-Closed security.

ScenarioKernel StateAttack ResultOutcome
Vulnerableip_forward=1SpyingThe attacker transparently routes traffic. The victim has internet, but Confidentiality is lost.
Hardenedip_forward=0BlockingThe attacker refuses to route traffic. The victim loses connection (DoS), but Confidentiality is preserved.

Installation & Usage

Prerequisites

  • Docker & Docker Compose

Quick Start

  1. Clone the repository:
    git clone https://github.com/ZTMY0/Project-Cerberus
  2. Launch (Builds the environment):
    docker-compose up -d --build
  3. Access the Web Gateway:
    • URL:http://127.0.0.1:8080
    • Credentials:guacadmin / guacadmin

Running the Framework

Inside the Kali terminal, launch the main controller:

/app/cerberus.sh
## Optional: Remote Access (Tailscale)
This framework supports secure remote auditing via **Tailscale**, allowing you to access the Kali terminal from **any external device** (Laptop, Tablet, or Smartphone) without exposing ports to the public internet.
### Setup Instructions
1. **Host Machine:** Install [Tailscale](https://tailscale.com/) on the computer running the Docker lab.
2. **Client Device:** Install Tailscale on your remote device (e.g., your phone or a second laptop) and log in to the same account.
3. **Access:*** Find your Host Machine's **Tailscale IP** (e.g., `100.x.y.z`). * Open a browser on the remote device and navigate to: `http://<Tailscale-IP>:8080`4. **Login:** Use the standard Guacamole credentials (`guacadmin`).**Benefit:** Simulates a "Zero-Trust" remote management scenario. You can trigger attacks or view audit logs from an iPad in a coffee shop or a laptop in another building.

Releases

Packages

Contributors

Languages