
让您的屏幕截图快速亮相。
Eyeballer是用于大型网络渗透测试的,您需要从一组基于Web的主机中找到“有趣的”目标。继续使用您喜欢的屏幕截图工具,例如正常(目击者或Gowitness),然后通过Eyeballer运行它们,告诉您可能包含脆弱性的是什么,什么不包含脆弱性。
试用它:https://eyeballer.bishopfox.com
| 旧的网站 | 登录页 |
|---|---|
![]() | ![]() |
| WebApp | 自定义404 |
|---|---|
![]() | ![]() |
| 停放的域 |
|---|
![]() |
旧的网站块状框架,破碎的CSS,是一个看起来像在2000年代初期设计的网站的某些“ Je ne sais quoi”。当您看到它时,您就会知道。旧网站不仅丑陋,而且它们通常也超级脆弱。当您想入侵某些东西时,这些网站是金矿。
登录页面登录页面对于笔测试很有价值,它们表明您目前还无法访问其他功能。这也意味着有一个简单的凭证攻击过程。您可能会认为您可以设置一个简单的启发式方法来查找登录页面,但实际上确实很难。现代网站不仅使用我们可以抓住的简单输入标签。
WebApp这告诉您,这里有较大的页面和功能可以用作攻击的表面积。这与没有其他功能的简单登录页面相反。或没有其他功能的默认IIS登录页面。该标签应向您指出,这里有一个Web应用程序要攻击。
定制的404个现代网站喜欢有可爱的定制404页,上面有破碎的机器人或悲伤的狗的照片。不幸的是,他们也喜欢在这样做的同时返回HTTP 200响应代码。通常,“ 404”页面甚至不包含文本“ 404”。尽管在视觉上进行了很多操作,但这些页面通常是不感兴趣的,而Eyeballer可以帮助您筛选它们。
停放的域停放的域是看起来真实但不是有效攻击表面的网站。它们是备用页面,通常没有任何实际功能,几乎完全由广告组成,通常不受我们的实际目标运行。当指定的域是错误或失效时,这就是您得到的。随着时间的流逝,找到这些页面并将其从范围中删除确实很有价值。
在PIP上下载所需软件包:
sudo pip3 install -r requirements.txt
或者如果您需要GPU支持:
sudo pip3 install -r requirements-gpu.txt
注意:设置用于与TensorFlow一起使用的GPU超出了此读数的范围。可以考虑硬件兼容性,可以安装驱动程序...有很多。因此,如果您想要GPU,您只需要自己弄清楚这部分。但是至少从Python软件包的角度来看,上述要求文件已涵盖您。
预处理的重量
有关最新预定的权重,请在Github上查看此处的发行版。
培训数据您可以在此处找到我们的培训数据:
https://www.kaggle.com/altf42600/pentest-screensots
从培训数据中您需要两件事:
images/文件夹,包含所有屏幕截图(调整大小为224x224)labels.csv将两者都复制到眼球代码树的根中。
此外,您可以找到一个预验证的权重文件,可以在不培训的情况下立即使用。
bishop-fox-pretrained-vN.h5它在Github上,查看最新版本的releases部分。
注意:为了获得最佳结果,请确保以本机1.6倍的长宽比屏幕截图。即:1440x900。 Eyeballer会自动将图像自动缩小到适合您的尺寸,但是如果它的宽高比是错误的,那么它将以影响预测性能的方式挤压。
要眼球一些屏幕截图,只需运行“预测”模式:
eyeballer.py --weights YOUR_WEIGHTS.h5 predict YOUR_FILE.png
或用于整个文件目录:
eyeballer.py --weights YOUR_WEIGHTS.h5 predict PATH_TO/YOUR_FILES/
Eyeballer将以人类可读格式results.csv results.html
眼球的性能是针对评估数据集测量的,这是随机选择的整体屏幕截图的20%。由于这些屏幕截图从未在训练中使用,因此它们可以成为查看模型表现效果的有效方法。这是最新结果:
| 总体二进制精度 | 93.52% |
|---|---|
| 全有或全无的精度 | 76.09% |
总体二进制精度可能是您认为模型的“准确性”。考虑到任何单个标签,这是正确的,这是正确的。
全有或全无的精度更加严格。为此,我们考虑了所有图像的标签,如果有任何标签是错误的,则认为这是失败的。该准确性额定值是该模型正确预测任何给定图像的所有标签的机会。
| 标签 | 精确 | 记起 |
|---|---|---|
| 自定义404 | 80.20% | 91.01% |
| 登录页面 | 86.41% | 88.47% |
| WebApp | 95.32% | 96.83% |
| 旧的 | 91.70% | 62.20% |
| 停放的域 | 70.99% | 66.43% |
有关精密vs召回的详细说明,请查看Wikipedia。
要训练新型号,请运行:
eyeballer.py train
您需要一台具有良好GPU的机器才能在合理的时间内运行。但是,设置该设置超出了此读数的范围。
这将输出一个新的型号文件(默认情况下为toges.h5)。
您刚刚训练了一种新型号,很酷!让我们看看它在各种指标上从未见过的一些图像的表现如何:
eyeballer.py --weights YOUR_WEIGHTS.h5 evaluate
输出将描述该模型在每个程序标签的召回和精确度中的准确性。 (包括“无上述”作为伪标签)