Spry LogoOpsfolio
Enterprise Assets Assessment (EAA)

Quick Start

Manual and automated installation guide for security tools and Fleetfolio pentest workflows.

Quick Start Guide

This guide covers two methods for setting up and running the Fleetfolio Pentest Workflow. Choose the method that best fits your environment.

Local Installation on Kali Linux

This method involves installing all dependencies directly onto your host machine.

Prerequisites (Pre-installed in Kali)

The following tools are generally pre-installed in Kali Linux: Whatweb, Nmap, Openssl, wafw00f, sqlmap, WPScan, Amass, Nikto, DNSEnum, TheHarvester, SSLyze, and smtp-user-enum.

Install Additional Tools

Run the following block to install system dependencies, Go-based tools, and Python scripts:

# Install system packages
sudo apt install -y subfinder dnsx httpx-toolkit naabu nuclei xq jq dirsearch testssl.sh paramspider commix && \

# Install Go-based tools and move to bin
go install github.com/projectdiscovery/katana/cmd/katana@latest && sudo cp ~/go/bin/katana /bin/ && \
go install github.com/projectdiscovery/tlsx/cmd/tlsx@latest && sudo cp ~/go/bin/tlsx /bin/ && \
go install -v github.com/PentestPad/subzy@latest && sudo cp ~/go/bin/subzy /bin/ && \
go install -v github.com/projectdiscovery/pdtm/cmd/pdtm@latest && sudo cp ~/go/bin/pdtm /bin/ && \
go install github.com/intigriti/misconfig-mapper/cmd/misconfig-mapper@latest && sudo cp ~/go/bin/misconfig-mapper /bin/

# Install pdtm tools and Fierce
sudo apt install -y libpcap-dev && pdtm -install-all && sudo cp /home/kali/.pdtm/go/bin/* /bin && \
pip install fierce --break-system-packages

# Install VulnAPI
wget https://github.com/cerberauth/vulnapi/releases/download/v0.8.9/vulnapi_0.8.9_linux_amd64.deb && \
dpkg -i vulnapi_0.8.9_linux_amd64.deb

# Install WAF Bypass and Brew-based tools
git clone https://github.com/nemesida-waf/waf_bypass.git waf_bypass && cd waf_bypass && pip3 install -r requirements.txt --break-system-packages && \
brew install rustscan dalfox trivy

Install Corsy

git clone https://github.com/s0md3v/Corsy.git && cd Corsy && pip3 install -r requirements.txt --break-system-packages

Install Ghauri

git clone https://github.com/r0oth3x49/ghauri.git && cd ghauri && sudo python3 setup.py install

Clone and Configure

Clone the repository and set up your scope in the .env file.

git clone https://github.com/surveilr/www.surveilr.com.git && \
cd www.surveilr.com/lib/service/fleetfolio/eaa

Configure Environment: Create your .env configuration using the following block:

sudo tee -a .env > /dev/null << 'EOF'
# Scope configuration
OPSFOLIO_EAA_HOME=/opt/eaa/sessions
OPSFOLIO_EAA_TENANT_ID=NET1234
OPSFOLIO_EAA_TENANT_NAME=Netspective
OPSFOLIO_EAA_PURPOSE=Threat
OPSFOLIO_EAA_DESCRIPTION=Demo_Threat
OPSFOLIO_EAA_CONTEXT_JSON='{ "Sample": "Value" }'
OPSFOLIO_EAA_EXIT_EMAIL_ADDRESSES=example@nespective.com
OPSFOLIO_EAA_DOMAINS=netspective.com
OPSFOLIO_EAA_SUBDOMAINS=
OPSFOLIO_EAA_IP_RANGES=
OPSFOLIO_EAA_EXCLUDES=
OPSFOLIO_EAA_KEY_URLS=https://netspective.com/
OPSFOLIO_EAA_KEY_APIS=
OPSFOLIO_EAA_KEY_GIT_URLS=
OPSFOLIO_EAA_CORSY_PATH=/opt/eaa/Corsy
OPSFOLIO_EAA_WP_TOKEN=TOKEN
OPSFOLIO_EAA_VIRUSTOTAL_API_KEY=KEY
OPSFOLIO_EAA_RATE_LIMIT=200
OPSFOLIO_EAA_CONCURRENCY=50
OPSFOLIO_EAA_NAABU_PORTS=top-100
OPSFOLIO_EAA_NUCLEI_TEMPLATES=cves,default
EOF

Execute using Spry

Run the following commands to execute the workflows.

  • Run entire code:
    sudo spry rb run fleetfolio-eaa-pentest-lite.spry.md --verbose rich
  • Run a single task:
    sudo spry rb task <task_id> fleetfolio-eaa-pentest-lite.spry.md --verbose rich

If a graph is mentioned in the markdown of any script, the above two commands will not work. You must also include the --graph flag, as shown below.

sudo spry rb run fleetfolio-eaa-pentest-lite.spry.md --graph <name> --verbose rich

Containerized Method

This is the recommended method for clean environments and avoiding dependency conflicts.

Install Docker

Ensure Docker is installed and running on your system.

sudo apt update && sudo apt install docker.io -y && sudo systemctl enable docker --now

Error Fix

If the update fails, run:

sudo sed -i 's|http://http.kali.org|https://http.kali.org|' /etc/apt/sources.list && sudo apt-get clean && sudo apt-get update --fix-missing

Clone and Configure

Clone the repository.

git clone https://github.com/surveilr/www.surveilr.com.git && \
cd www.surveilr.com/lib/service/fleetfolio/eaa

Configure Environment: Create your .env configuration using the following block:

sudo tee -a .env > /dev/null << 'EOF'
# Scope configuration
OPSFOLIO_EAA_HOME=/opt/eaa/sessions
OPSFOLIO_EAA_TENANT_ID=NET1234
OPSFOLIO_EAA_TENANT_NAME=Netspective
OPSFOLIO_EAA_PURPOSE=Threat
OPSFOLIO_EAA_DESCRIPTION=Demo_Threat
OPSFOLIO_EAA_CONTEXT_JSON='{ "Sample": "Value" }'
OPSFOLIO_EAA_EXIT_EMAIL_ADDRESSES=example@nespective.com
OPSFOLIO_EAA_DOMAINS=netspective.com
OPSFOLIO_EAA_SUBDOMAINS=
OPSFOLIO_EAA_IP_RANGES=
OPSFOLIO_EAA_EXCLUDES=
OPSFOLIO_EAA_KEY_URLS=https://netspective.com/
OPSFOLIO_EAA_KEY_APIS=
OPSFOLIO_EAA_KEY_GIT_URLS=
OPSFOLIO_EAA_CORSY_PATH=/opt/eaa/Corsy
OPSFOLIO_EAA_WP_TOKEN=TOKEN
OPSFOLIO_EAA_VIRUSTOTAL_API_KEY=KEY
OPSFOLIO_EAA_RATE_LIMIT=200
OPSFOLIO_EAA_CONCURRENCY=50
OPSFOLIO_EAA_NAABU_PORTS=top-100
OPSFOLIO_EAA_NUCLEI_TEMPLATES=cves,default
EOF

Build and Run

Build the Docker image and launch the container.

sudo docker build -t fleetfolio-eaa:latest . && \
sudo docker run --rm -it -v $(pwd)/results:/opt/eaa/sessions/ fleetfolio-eaa:latest

The --graph switch is used to generate graphs for tasks that support them.
By default, --graph is set to daily in the Dockerfile.
To change this, modify the Dockerfile before building the image. Example:

CMD [ "bash", "-c", "source /opt/eaa/.env && spry rb run fleetfolio-eaa-pentest-lite.spry.md --graph `<name>` --verbose rich" ]

Use daily, weekly, monthly, quarterly, or annually as needed.

After execution, a results directory will be created in your current path containing all generated reports and data.

How is this guide?

Last updated on

On this page