Cyber security

EGO Vulnerability Scanner – Revolutionizing Cybersecurity With Advanced Scanning Capabilities

EGO is a vulnerability scanner developed by chickenpwny at PolitoInc. It was created to provide a platform for hackers to store multiple projects in a REST API.

Recognizing a need for such a tool, EGO was developed to utilize various open-source security tools and libraries to perform comprehensive reconnaissance scans.

Note: As this tool was developed by a single developer, it assumes a fair amount of technical knowledge and currently lacks documentation.

EGO provides a user-friendly GUI interface, eliminating the need for spreadsheets and files to record reconnaissance data. You can access the data using scripts or tools like Jupyter Notebook to interact with the database and identify vulnerabilities.

EGO also provides a REST API for reconnaissance agents to connect back to. This allows penetration testers to scan isolated networks and retrieve nmap logs using only the HTTP protocol.

Installation

  1. Install the required Python packages:
  2. Install Postgres and create a user named ‘postgres’.
sudo -i -u postgres psql
CREATEUSER postgres;
ALTER USER postgres WITH PASSWORD 'test';
CREATE DATABASE test;
\l -list
\q
  1. In the settings.py file, change the DATABASES PASSWORD AND USER to the Postgres values.
  2. Install nmap:
sudo apt-get install nmap

5. Install nuclei: First we need to install go1.21

sudo apt-get update
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
sudo tar -xvf go1.21.0.linux-amd64.tar.gz
sudo mv go /usr/local
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
source ~/.profile

go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

All settings and switches for the agents are controlled by the REST API. The agents find the REST API using /EGO_agent/EgoSettings.py.

Configuration

EgoAgentUser = "ego" EgoAgentPassWord = "password" HostAddress = "http://127.0.0.1" Port = "5000" api_accessKey = ""

Usage

To run EgoRecon.py:

python3 EgoRecon.py
vim /etc/systemd/system/EGORecon.service

[Unit]
Description=Interactsh
After=network.target

[Service]
Type=simple
User=root
UMask=007
ExecStart= python3 manage runserver 0.0.0.0:5000
Restart=on-failure

# Configures the time to wait before service is stopped forcefully.
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

To run the nuclei python wrapper:

python3 gnaw.py

To run the EGO custom web vulnerability scanner, mantis:

python3 mantis.py
pip3 install -r requirements.txt
pip3 install "censys==2.0.7; python_version > '3.8'" "censys==0.0.8; python_version <= '3.8'"
Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

4 days ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

4 days ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

5 days ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

1 week ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

1 week ago

who Command in Linux: Show All Logged-In Users and Sessions

When you share a server with a team or investigate unexpected activity, the first question…

1 week ago