
Dale a esas capturas de pantalla tuyas un globo ocular rápido.
EyeBaller está destinado a las pruebas de penetración de red de gran alcance donde necesita encontrar objetivos "interesantes" de un gran conjunto de hosts basados en la web. Continúe y use su herramienta de captura de pantalla favorita como Normal (testigos oculares o gowitness) y luego ejecutalos a través de EyeBaller para decirle lo que es probable que contenga vulnerabilidades y lo que no.
Pruébalo en vivo en: https://eyeballer.bishopfox.com
| Sitios de aspecto antiguo | Páginas de inicio de sesión |
|---|---|
![]() | ![]() |
| Aplicación web | Custom 404 |
|---|---|
![]() | ![]() |
| Dominios estacionados |
|---|
![]() |
Sitios de aspecto antiguo marcos en bloque, CSS rotos, que ciertos "Je ne Sais quoi" de un sitio web que parece que fue diseñado a principios de la década de 2000. Lo sabes cuando lo ves. Los sitios web antiguos no son solo feos, también son típicamente súper vulnerables. Cuando buscas piratear algo, estos sitios web son una mina de oro.
Páginas de inicio de sesión Las páginas de inicio de sesión son valiosas para las pruebas de lápiz, indican que hay funcionalidad adicional a la que actualmente no tiene acceso. También significa que hay un simple proceso de seguimiento de ataques de enumeración de credenciales. Puede pensar que puede establecer una heurística simple para encontrar páginas de inicio de sesión, pero en la práctica es realmente difícil. Los sitios modernos no solo usan una etiqueta de entrada simple para la que podamos Grep.
WebApp Esto le dice que hay un grupo más grande de páginas y funcionalidad disponibles aquí que puede servir como área de superficie para atacar. Esto contrasta con una página de inicio de sesión simple, sin otra funcionalidad. O una página de destino IIS predeterminada que no tiene otra funcionalidad. Esta etiqueta debe indicarle que hay una aplicación web aquí para atacar.
404 sitios modernos personalizados les encanta tener cursi personalizados 404 páginas con imágenes de robots rotos o perros de aspecto triste. Desafortunadamente, también les encanta devolver los códigos de respuesta HTTP 200 mientras lo hacen. Más a menudo, la página "404" ni siquiera contiene el texto "404". Estas páginas suelen ser poco interesantes, a pesar de tener muchas cosas visualmente, y EyeBaller puede ayudarlo a tamizarlas.
Dominios estacionados Los dominios estacionados son sitios web que parecen reales, pero no son una superficie de ataque válida. Son páginas independientes, generalmente desprovistas de cualquier funcionalidad real, consisten casi por completo en anuncios, y generalmente no están administrados por nuestro objetivo real. Es lo que obtienes cuando el dominio especificado es incorrecto o lapsado. Encontrar estas páginas y eliminarlas del alcance es realmente valioso con el tiempo.
Descargue los paquetes requeridos en PIP:
sudo pip3 install -r requirements.txt
O si quieres soporte de GPU:
sudo pip3 install -r requirements-gpu.txt
Nota : Configurar una GPU para usar con TensorFlow está mucho más allá del alcance de este readme. Hay compatibilidad de hardware a considerar, controladores para instalar ... hay mucho. Entonces, solo tendrá que resolver esta parte por su cuenta si desea una GPU. Pero al menos desde una perspectiva de paquete de Python, el archivo de requisitos anteriores lo tiene cubierto.
Pesas previas
Para obtener los últimos pesos previos al estado previo, consulte los lanzamientos aquí en GitHub.
Datos de capacitación Puede encontrar nuestros datos de capacitación aquí:
https://www.kaggle.com/altf42600/pentest-screensots
Hay dos cosas que necesita de los datos de capacitación:
images/ carpeta, que contiene todas las capturas de pantalla (redimensionadas a 224x224)labels.csv que tiene todas las etiquetasCopie ambos en la raíz del árbol de los ojos de los ojos.
Además, puede encontrar un archivo de pesas previos a la aparición que puede usar de inmediato sin entrenamiento.
bishop-fox-pretrained-vN.h5 Está aquí en GitHub, mire la sección releases para obtener la última.
Nota: Para obtener los mejores resultados, asegúrese de capturar sus sitios web en una relación nativa de aspecto 1.6x. Es decir: 1440x900. EyeBaller escalará la imagen automáticamente al tamaño correcto para usted, pero si es la relación de aspecto incorrecta, entonces aplastará de una manera que afectará el rendimiento de la predicción.
Para globos oculares algunas capturas de pantalla, simplemente ejecute el modo "Predecir":
eyeballer.py --weights YOUR_WEIGHTS.h5 predict YOUR_FILE.png
O para un directorio completo de archivos:
eyeballer.py --weights YOUR_WEIGHTS.h5 predict PATH_TO/YOUR_FILES/
EyeBaller le escupirá los resultados en formato results.html humano (un archivo results.csv .
El rendimiento de los oyentes se mide en un conjunto de datos de evaluación, que es el 20% de las capturas de pantalla generales elegidas al azar. Dado que estas capturas de pantalla nunca se usan en el entrenamiento, pueden ser una forma efectiva de ver qué tan bien está funcionando el modelo. Aquí están los últimos resultados:
| Precisión binaria general | 93.52% |
|---|---|
| Precisión de todo o nada | 76.09% |
La precisión binaria general es probablemente lo que piensas como la "precisión" del modelo. Es la posibilidad, dada una sola etiqueta, que es correcta.
La precisión de todo o nada es más estricta. Para esto, consideramos todas las etiquetas de una imagen y lo consideramos una falla si alguna etiqueta está mal. Esta calificación de precisión es la posibilidad de que el modelo predice correctamente todas las etiquetas para cualquier imagen dada.
| Etiqueta | Precisión | Recordar |
|---|---|---|
| Personalizado 404 | 80.20% | 91.01% |
| Página de inicio de sesión | 86.41% | 88.47% |
| Aplicación web | 95.32% | 96.83% |
| Viejo aspecto | 91.70% | 62.20% |
| Dominio estacionado | 70.99% | 66.43% |
Para obtener una explicación detallada sobre Precision vs Retiro, consulte Wikipedia.
Para entrenar un nuevo modelo, ejecute:
eyeballer.py train
Querrá una máquina con una buena GPU para que esto se ejecute en una cantidad razonable de tiempo. Sin embargo, establecer eso está fuera del alcance de este readme.
Esto emitirá un nuevo archivo de modelo (weights.h5 de forma predeterminada).
¡Acabas de entrenar un nuevo modelo, genial! Veamos qué tan bien se desempeña contra algunas imágenes que nunca se ha visto antes, en una variedad de métricas:
eyeballer.py --weights YOUR_WEIGHTS.h5 evaluate
La salida describirá la precisión del modelo en el retiro y la precisión para cada una de las etiquetas del programa. (Incluyendo "ninguno de los anteriores" como pseudo etiqueta)