/FLYBY

An open source passive reconnaissance and vulnerability assessment platform.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

FLYBY🛩️

ABANDONED - This project is no longer actively maintained. Check out the improved Informant tool.

Passive Reconnaissance and Vulnerability Assessment Platform

License: GNU V3 Twitter: LA-Shill

FLYBY

FLYBY is a open source web based passive reconnaissance and vulnerability assessment platform which utilises scan data from the Censys network to identify known vulnerabilities. All vulnerability data is pulled from the National Vulnerability Database (NVD) which is maintained by the U.S. government.

The FLYBY platform has been developed as part of my penultimate year Ethical Hacking mini-project at Abertay University.

Table of Contents

Getting Started

FLYBY comes as both a standalone command line application as well as a web based application. The application relies on numerous dependencies and requires a valid Censys account API key.

Dependencies

  • Python 3.6 or later
  • MongoDB 2.2 or later
  • Redis Server
  • Pip3
    • Flask
    • Flask-PyMongo
    • Censys
    • Fuzzywuzzy
    • PyMongo
    • Requests
    • Redis
    • RQ (Redis Queue)

Installation

  1. Install and start MongoDB
# Install MongoDB
sudo apt-get install -y mongodb-org

# Start MongoDB service
sudo systemctl start mongod
  1. Install cve-search and populate MongoDB (timely process . . .)
    note cve-search is designed to work on Linux only - However can be adapted for Windows, get in touch if you need a hand.
# Install dependencies
sudo pip3 install -r requirements.txt

# Create and populate CVEDB in MongoDB
./sbin/db_mgmt_cpe_dictionary.py -p

# then . . patience . .
./sbin/db_mgmt_json.py -p

# then . . . patience is seriously a virtue . . .
./sbin/db_updater.py -c
  1. Install and start redis server
# Install Redis Server
sudo apt install redis-server

# Start the Redis Server
sudo systemctl start redis
  1. Install FLYBY 🛩️
# Download repo
sudo git clone https://github.com/LA-Shill/FLYBY.git

# Access directory
cd FLYBY

# Install dependencies
sudo pip3 install -r requirements.txt

Usage

Startup

  1. Create a worker
# Start RQ worker (redis)
rq worker
  1. Start the development server
# Start dev web server on 127.0.0.1:5000
python3 app.py
  1. Navigate to FLYBY in your browser of choice at: 127.0.0.1:5000

  1. Finally add your Censys API key and generate the local CPE file by navigating to the settings tab located at: 127.0.0.1:5000/settings

  1. 🛩️🧨 Happy scanning! 💥️🦠

Features

Network Scanning

*Currently only supports Censys (HTTP, HTTPS, FTP, SSH and SMTP)
Network Scan Results

Vulnerability Scanning

Vulnerability Scan Results
Overview


IP Range Result Breakdown


IP Range Statistical Overview

Settings & Platform Status

Future Features (TODO)
  • Implement Shodan, BinaryEdge and GreyNoise support
  • Bug fixes and design changes
  • Vastly improve code structure, take more of a OOP approach
  • Improve false positive detection rate
  • Scrap redis, custom task management
  • Automatic database updating

Open to additional feature requests.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

GNU V3