Eyeballer - Convolutional Neural Network For Analyzing Pentest Screenshots
Give those screenshots of yours a quick eyeballing.
Eyeballer is meant for large-scope network penetration tests where you lot bespeak to abide by "interesting" targets from a huge prepare of web-based hosts. Go ahead as well as role your favorite screenshotting tool similar normal (EyeWitness or GoWitness) as well as and hence run them through Eyeballer to say you lot what's probable to incorporate vulnerabilities, as well as what isn't.
Example Labels
Old-Looking Sites
Login Pages
Homepages
Custom 404's
Eyeballer uses TF.keras on Tensorflow 2.0. This is (as of this moment) soundless inward "beta". So the pip requirement for it looks a flake weird. It'll also in all likelihood conflict amongst an existing TensorFlow installation if you've got the regular 1.0 version installed. So, heads-up there. But 2.0 should hold upwards out of beta as well as official "soon" according to Google, hence this employment ought to solve itself inward brusque order.
Setup
Download required packages on pip:
Training Data You tin abide by our preparation information here:
https://www.dropbox.com/sh/7aouywaid7xptpq/AAD_-I4hAHrDeiosDAQksnBma?dl=1
Pretty soon, we're going to add together this equally a TensorFlow DataSet, hence you lot don't bespeak to download this separately similar this. It'll also permit us version the information a flake better. But for now, only bargain amongst it. There's ii things you lot bespeak from the preparation data:
Predicting Labels
To eyeball roughly screenshots, only run the "predict" mode:
Training
To educate a novel model, run:
This volition output a novel model file (weights.h5 yesteryear default).
Evaluation
You only trained a novel model, cool! Let's run across how good it performs against roughly images it's never seen before, across a multifariousness of metrics:
Eyeballer is meant for large-scope network penetration tests where you lot bespeak to abide by "interesting" targets from a huge prepare of web-based hosts. Go ahead as well as role your favorite screenshotting tool similar normal (EyeWitness or GoWitness) as well as and hence run them through Eyeballer to say you lot what's probable to incorporate vulnerabilities, as well as what isn't.
Example Labels
Old-Looking Sites
Login Pages
Homepages
Custom 404's
Eyeballer uses TF.keras on Tensorflow 2.0. This is (as of this moment) soundless inward "beta". So the pip requirement for it looks a flake weird. It'll also in all likelihood conflict amongst an existing TensorFlow installation if you've got the regular 1.0 version installed. So, heads-up there. But 2.0 should hold upwards out of beta as well as official "soon" according to Google, hence this employment ought to solve itself inward brusque order.
Setup
Download required packages on pip:
sudo pip3 install -r requirements.txt
Or if you lot desire GPU support:sudo pip3 install -r requirements-gpu.txt
NOTE: Setting upwards a GPU for role amongst TensorFlow is agency beyond the orbit of this README. There's hardware compatibility to consider, drivers to install... There's a lot. So you're only going to accept to figure this business office out on your ain if you lot desire a GPU. But at to the lowest degree from a Python packet perspective, the inward a higher identify requirements file has you lot covered.Training Data You tin abide by our preparation information here:
https://www.dropbox.com/sh/7aouywaid7xptpq/AAD_-I4hAHrDeiosDAQksnBma?dl=1
Pretty soon, we're going to add together this equally a TensorFlow DataSet, hence you lot don't bespeak to download this separately similar this. It'll also permit us version the information a flake better. But for now, only bargain amongst it. There's ii things you lot bespeak from the preparation data:
images/
folder, containing all the screenshots (resized downwardly to 224x140. We'll accept the full-size images upwards soon)labels.csv
that has all the labelsbishop-fox-pretrained-v1.h5
Influenza A virus subtype H5N1 pretrained weights file you lot tin role correct out of the box without training.
Predicting Labels
To eyeball roughly screenshots, only run the "predict" mode:
eyeballer.py --weights YOUR_WEIGHTS.h5 predict YOUR_FILE.png
Or for a whole directory of files:eyeballer.py --weights YOUR_WEIGHTS.h5 predict PATH_TO/YOUR_FILES/
Eyeballer volition spit the results dorsum to you lot inward human readable format (a results.html
file hence you lot tin browse it easily) as well as auto readable format (a results.csv
file).Training
To educate a novel model, run:
eyeballer.py train
You'll desire a auto amongst a skillful GPU for this to run inward a reasonable amount of time. Setting that upwards is exterior the orbit of this readme, however.This volition output a novel model file (weights.h5 yesteryear default).
Evaluation
You only trained a novel model, cool! Let's run across how good it performs against roughly images it's never seen before, across a multifariousness of metrics:
eyeballer.py --weights YOUR_WEIGHTS.h5 evaluate
The output volition depict the model's accuracy inward both yell back as well as precision for each of the program's labels. (Including "none of the above" equally a pseudo-label)