
Donnez à vos captures d'écran un éclairage rapide.
EyeBloller est destiné aux tests de pénétration du réseau à grand scope où vous devez trouver des cibles "intéressantes" à partir d'un énorme ensemble d'hôtes Web. Allez-y et utilisez votre outil de capture d'écran préféré comme Normal (témoin oculaire ou gowitness), puis passez-les dans Eye Golier pour vous dire ce qui est susceptible de contenir des vulnérabilités, et ce qui ne l'est pas.
Essayez-le en direct sur: https://eyeballer.bishopfox.com
| Sites d'alcool | Pages de connexion |
|---|---|
![]() | ![]() |
| Webapp | 404 personnalisés |
|---|---|
![]() | ![]() |
| Domaines stationnés |
|---|
![]() |
Les vieux sites d'aspect bloquaient les cadres, CSS cassés, que certains "Je ne sais quoi" d'un site Web qui semble avoir été conçu au début des années 2000. Vous le savez quand vous le voyez. Les anciens sites Web ne sont pas seulement moches, ils sont également généralement super vulnérables. Lorsque vous cherchez à pirater quelque chose, ces sites Web sont une mine d'or.
Pages de connexion Les pages de connexion sont utiles pour les tests de stylo, ils indiquent qu'il y a des fonctionnalités supplémentaires auxquelles vous n'avez pas actuellement accès. Cela signifie également qu'il existe un processus de suivi simple d'attaques d'énumération des informations d'identification. Vous pourriez penser que vous pouvez définir une heuristique simple pour trouver des pages de connexion, mais en pratique, c'est vraiment difficile. Les sites modernes n'utilisent pas seulement une étiquette d'entrée simple pour laquelle nous pouvons grep.
WebApp cela vous indique qu'il existe un plus grand groupe de pages et de fonctionnalités disponibles ici qui peuvent servir de surface à attaquer. Cela contraste avec une page de connexion simple, sans autre fonctionnalité. Ou une page de destination par défaut IIS qui n'a pas d'autre fonctionnalité. Cette étiquette doit vous indiquer qu'il existe une application Web ici à attaquer.
Les sites modernes 404 personnalisés adorent avoir des pages mignonnes personnalisées 404 avec des photos de robots brisés ou de chiens tristes. Malheureusement, ils aiment également retourner les codes de réponse HTTP 200 pendant qu'ils le font. Plus souvent, la page "404" ne contient même pas le texte "404". Ces pages sont généralement inintéressant, malgré beaucoup de choses visuellement, et le globe-œil peut vous aider à les tamiser.
Les domaines stationnés par garés sont des sites Web qui semblent réels, mais ne sont pas une surface d'attaque valide. Ce sont des pages stand-in, généralement dépourvues de toute fonctionnalité réelle, se composent presque entièrement d'annonces et ne sont généralement pas gérées par notre cible réelle. C'est ce que vous obtenez lorsque le domaine spécifié est mauvais ou excité. Trouver ces pages et les retirer de la portée est vraiment précieux au fil du temps.
Télécharger les packages requis sur PIP:
sudo pip3 install -r requirements.txt
Ou si vous voulez le support GPU:
sudo pip3 install -r requirements-gpu.txt
Remarque : La configuration d'un GPU à utiliser avec TensorFlow est bien au-delà de la portée de cette lecture. Il y a une compatibilité matérielle à considérer, les pilotes à installer ... il y en a beaucoup. Donc, vous devrez juste comprendre cette partie par vous-même si vous voulez un GPU. Mais au moins du point de vue du package Python, le fichier d'exigences ci-dessus vous a couvert.
Poids pré-entraînés
Pour les derniers poids pré-entraînés, consultez les sorties ici sur GitHub.
Données de formation Vous pouvez trouver nos données de formation ici:
https://www.kaggle.com/altf42600/pentest-screensots
Il y a deux choses dont vous avez besoin dans les données de formation:
images/ dossier, contenant toutes les captures d'écran (redimensionnées jusqu'à 224x224)labels.csv qui a toutes les étiquettesCopiez à la fois dans la racine de l'arborescence de code de globe-œil.
De plus, vous pouvez trouver un fichier de poids pré-entraîné que vous pouvez utiliser dès la sortie de la boîte sans formation.
bishop-fox-pretrained-vN.h5 Il est ici sur Github, regardez la section releases pour la dernière.
Remarque: Pour de meilleurs résultats, assurez-vous de capturer vos sites Web dans un rapport d'aspect natif de 1,6x. IE: 1440x900. EyeBloller réduira automatiquement l'image à la bonne taille pour vous, mais si ce n'est pas le mauvais rapport d'aspect, il se écrasera d'une manière qui affectera les performances de prédiction.
Pour un globe oculaire certaines captures d'écran, exécutez simplement le mode "prédire":
eyeballer.py --weights YOUR_WEIGHTS.h5 predict YOUR_FILE.png
Ou pour un répertoire entier de fichiers:
eyeballer.py --weights YOUR_WEIGHTS.h5 predict PATH_TO/YOUR_FILES/
EyeBloller rendra les résultats dans le format results.html par humain (un fichier results.csv .
Les performances du chèvre-œil sont mesurées par rapport à un ensemble de données d'évaluation, qui représente 20% des captures d'écran globales choisies au hasard. Étant donné que ces captures d'écran ne sont jamais utilisées dans la formation, elles peuvent être un moyen efficace de voir dans quelle mesure le modèle fonctionne. Voici les derniers résultats:
| Précision binaire globale | 93,52% |
|---|---|
| Précision tout ou rien | 76,09% |
La précision binaire globale est probablement ce que vous considérez comme la «précision» du modèle. C'est l'occasion, compte tenu de n'importe quelle étiquette, qu'elle est correcte.
La précision tout ou rien est plus stricte. Pour cela, nous considérons toutes les étiquettes d'une image et considérons qu'il est un échec si une étiquette est erronée. Cette évaluation est la possibilité que le modèle prédit correctement toutes les étiquettes pour une image donnée.
| Étiquette | Précision | Rappel |
|---|---|---|
| Custom 404 | 80,20% | 91,01% |
| Page de connexion | 86,41% | 88,47% |
| Webapp | 95,32% | 96,83% |
| Vieux | 91,70% | 62,20% |
| Domaine stationné | 70,99% | 66,43% |
Pour une explication détaillée sur la précision vs rappel, consultez Wikipedia.
Pour entraîner un nouveau modèle, courez:
eyeballer.py train
Vous voudrez une machine avec un bon GPU pour que cela fonctionne dans un temps raisonnable. La configuration est cependant en dehors de la portée de cette lecture.
Cela sortira un nouveau fichier de modèle (poids.h5 par défaut).
Vous venez de former un nouveau modèle, cool! Voyons à quel point il fonctionne contre certaines images qu'elle n'a jamais vues auparavant, à travers une variété de mesures:
eyeballer.py --weights YOUR_WEIGHTS.h5 evaluate
La sortie décrira la précision du modèle dans le rappel et la précision pour chacune des étiquettes du programme. (Y compris "Aucune de ces éléments" comme pseudo-étiquette)