Tutorials

Deployment Instructions – Setting Up The PinguCrew Project With Docker, Python, And Node.js

At the moment the default configuration when the run_server butler command uses docker containers to run the MongoDB, rabbit-mq and minio services.

It is mandatory to have docker service installed in case the the fault configuration is used.

To install docker you can refer to the official installtion instructions Install Docker Engine:

Python

To run the backend server and the Pingu bot it is necessary to have latest python version installed in your system.

Node.js

By the fault in order to execute the Pingu Frontend the framework uses NodeJS.

Deployment Steps

  1. Sync Submodules: First of all as the project is fragmented in multiple git submodules once the PinguCrew project is cloned it will be necessary to run the following git command to sync the rest of git submodules.
git submodule update --init
  1. Install Dependencies: Instead of manually installing all the dependency manually use the butler boostrap command.
  2. Setup configuration file parameters: You can find and modify the project configuration by editting the file located in configs/test/project.yaml. The following parameters need to be configured before jumping to the following deployment step:
    • MINIO_ROOT_USER & MINIO_ROOT_PASSWORD: admin credentials to access the Mino Dashboards.
    • SECRET_KEY: This ensures that sensitive information, like connection strings, API credentials, and user data, are encrypted and protected from unauthorized access in the Django Backend.
    • MINIO_STORAGE_PATH: local folder path where the Minio bucket DB will be stored.
    • MONGO_DB_PATH: local path where the MongoDB will be stored.
    • BACKEND_SUPERUSER: Django dashboard admin username. The admin password will be requested during when run_server butler command line is executed if the boostrap flag (-b) is set.
  3. Run backend server: The easiest way to run the backend service is using the run_server butler command line boostrap command. The butler assitant will make sure to initialize all the backend components for you including MongoDb, rabbit-mq and minio.
  4. Generate access tokens for the bots: The Pingu bots need access tokens to comunicate with the backend API and the minio buckets API.
    • Therefore, before execution any bot it is necesary to manually generate these token using the Django Admin dashboard or using the API directly and the minio dashboard.
      • Note: At this point you will notice that the configs/ folder has been linked to all the subprojects.Note: every time the butler command line is use the source folder will be sync with their copies.
        • There are few key values inside the project.yaml file that you will need to modify in order to run the Pingu bot succesfully:
          1. MINIO_ACCESS_KEY & MINIO_SECRET_KEY: To get this keys it is necesary to generate them using the minio dashboard.
          2. API_HOST && API_KEY: API host and API token used by the bots to interact with the backend.
            • At the moment all the bots share the same access token but in the future this configuration variable will be moved to the “src/pingubot/bot_working_directory/env.yaml” configuration file that way each bot will have its own access token.
  5. Run forntend server: The easyest way to run the frontend dashboard is by using the run_web butler command.
    • At this point it is posible to create a dashboard user by using the Django Admin dashboard or directly using the registration form in the login page.
Varshini

Tamil has a great interest in the fields of Cyber Security, OSINT, and CTF projects. Currently, he is deeply involved in researching and publishing various security tools with Kali Linux Tutorials, which is quite fascinating.

Recent Posts

Kali Linux 2024.4 Released, What’s New?

Kali Linux 2024.4, the final release of 2024, brings a wide range of updates and…

4 days ago

Lifetime-Amsi-EtwPatch : Disabling PowerShell’s AMSI And ETW Protections

This Go program applies a lifetime patch to PowerShell to disable ETW (Event Tracing for…

4 days ago

GPOHunter – Active Directory Group Policy Security Analyzer

GPOHunter is a comprehensive tool designed to analyze and identify security misconfigurations in Active Directory…

6 days ago

2024 MITRE ATT&CK Evaluation Results – Cynet Became a Leader With 100% Detection & Protection

Across small-to-medium enterprises (SMEs) and managed service providers (MSPs), the top priority for cybersecurity leaders…

1 week ago

SecHub : Streamlining Security Across Software Development Lifecycles

The free and open-source security platform SecHub, provides a central API to test software with…

2 weeks ago

Hawker : The Comprehensive OSINT Toolkit For Cybersecurity Professionals

Don't worry if there are any bugs in the tool, we will try to fix…

2 weeks ago