ABANDONED - This project is no longer actively maintained. Check out the improved Informant tool.
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.
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.
- Python 3.6 or later
- MongoDB 2.2 or later
- Redis Server
- Pip3
- Flask
- Flask-PyMongo
- Censys
- Fuzzywuzzy
- PyMongo
- Requests
- Redis
- RQ (Redis Queue)
- Install and start MongoDB
# Install MongoDB
sudo apt-get install -y mongodb-org
# Start MongoDB service
sudo systemctl start mongod
- 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
- Install and start redis server
# Install Redis Server
sudo apt install redis-server
# Start the Redis Server
sudo systemctl start redis
- 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
- Create a worker
# Start RQ worker (redis)
rq worker
- Start the development server
# Start dev web server on 127.0.0.1:5000
python3 app.py
- Navigate to FLYBY in your browser of choice at: 127.0.0.1:5000
- 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
- 🛩️🧨 Happy scanning! 💥️🦠
- 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.
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.