
امنح هذه لقطات شاشة لك مقلة سريعة.
يعني العيوب باختبارات اختراق الشبكة واسعة النطاق حيث تحتاج إلى العثور على أهداف "مثيرة للاهتمام" من مجموعة ضخمة من المضيفين على الويب. المضي قدما واستخدم أداة لقطة الشاشة المفضلة لديك مثل Normal (شهود العيان أو gowitness) ثم قم بتشغيلها من خلال مقلة العين لإخبارك بما من المحتمل أن يحتوي على نقاط الضعف ، وما ليس كذلك.
جربها على الهواء مباشرة على: https://eyeeballer.bishopfox.com
| المواقع ذات المظهر القديم | صفحات تسجيل الدخول |
|---|---|
![]() | ![]() |
| WebApp | 404 مخصص |
|---|---|
![]() | ![]() |
| المجالات المتوقفة |
|---|
![]() |
المواقع ذات المظهر القديم ، إطارات مفعمة بالحيوية ، CSS المكسورة ، أن بعض "je ne sais quoi" لموقع ويب يبدو أنه تم تصميمه في أوائل عام 2000. أنت تعرف ذلك عندما تراه. مواقع الويب القديمة ليست قبيحة فحسب ، بل إنها أيضًا ضعيفة للغاية. عندما تتطلع إلى اختراق شيء ما ، فإن هذه المواقع هي منجم ذهبي.
صفحات تسجيل الدخول إلى صفحات تسجيل الدخول ذات قيمة لاختبار القلم ، فهي تشير إلى أن هناك وظائف إضافية لا يمكنك الوصول إليها حاليًا. وهذا يعني أيضًا أن هناك عملية متابعة بسيطة لهجمات تعداد بيانات الاعتماد. قد تعتقد أنه يمكنك تعيين مجريات الأمور البسيطة للعثور على صفحات تسجيل الدخول ، ولكن في الممارسة العملية ، من الصعب حقًا. لا تستخدم المواقع الحديثة علامة إدخال بسيطة يمكننا فقط.
WebApp هذا يخبرك أن هناك مجموعة أكبر من الصفحات والوظائف المتاحة هنا يمكن أن تكون بمثابة مساحة سطح للهجوم. هذا على عكس صفحة تسجيل الدخول البسيطة ، مع عدم وجود وظائف أخرى. أو صفحة مقصودة IIS الافتراضية التي ليس لها وظائف أخرى. يجب أن تشير هذه التسمية لك إلى وجود تطبيق ويب هنا للهجوم.
404 مواقع حديثة مخصصة تحب أن يكون لديك 404 صفحة مخصصة مع صور من الروبوتات المكسورة أو الكلاب ذات المظهر الحزين. لسوء الحظ ، يحبون أيضًا إعادة رموز استجابة HTTP 200 أثناء قيامهم بذلك. في كثير من الأحيان ، لا تحتوي صفحة "404" على النص "404" فيه. هذه الصفحات عادة ما تكون غير مهتمة ، على الرغم من أن هناك الكثير مما يحدث بصريًا ، ويمكن أن يساعدك عمال العيلة في الخروج منها.
المجالات المتوقفة المجالات المتوقفة هي مواقع ويب تبدو حقيقية ، لكنها ليست سطح هجوم صالحة. إنها صفحات قائمة بذاتها ، وعادة ما تخلو من أي وظيفة حقيقية ، تتكون بالكامل تقريبًا من الإعلانات ، وعادة ما لا يتم تشغيلها بواسطة هدفنا الفعلي. هذا ما تحصل عليه عندما يكون المجال المحدد خاطئًا أو ينقص. العثور على هذه الصفحات وإزالتها من النطاق أمر ذي قيمة حقًا مع مرور الوقت.
قم بتنزيل الحزم المطلوبة على PIP:
sudo pip3 install -r requirements.txt
أو إذا كنت تريد دعم GPU:
sudo pip3 install -r requirements-gpu.txt
ملاحظة : إعداد وحدة معالجة الرسومات لاستخدامها مع TensorFlow هو أمر يتجاوز نطاق هذا ReadMe. هناك توافق في الأجهزة التي يجب مراعاتها ، برامج التشغيل للتثبيت ... هناك الكثير. لذلك عليك فقط معرفة هذا الجزء بمفردك إذا كنت تريد وحدة معالجة الرسومات. ولكن على الأقل من منظور حزمة Python ، فإن ملف المتطلبات أعلاه قد غطيته.
الأوزان المسبقة
للحصول على أحدث الأوزان المسبقة ، تحقق من الإصدارات هنا على Github.
بيانات التدريب يمكنك العثور على بيانات التدريب الخاصة بنا هنا:
https://www.kaggle.com/altf42600/pentest-screensots
هناك شيئان تحتاجهما من بيانات التدريب:
images/ مجلد ، يحتوي على جميع لقطات الشاشة (تغيير حجمه إلى 224x224)labels.csv التي لديها جميع العلاماتنسخ كلا من جذر شجرة رمز العين.
بالإضافة إلى ذلك ، يمكنك العثور على ملف الأوزان المسبق يمكنك استخدامه مباشرة خارج الصندوق دون تدريب.
bishop-fox-pretrained-vN.h5 إنه هنا على Github ، انظر إلى قسم releases لأحدث القسم.
ملاحظة: للحصول على أفضل النتائج ، تأكد من وجود لقطة شاشة لمواقع الويب الخاصة بك في نسبة العرض إلى الارتفاع 1.6x الأصلية. IE: 1440x900. سيقوم ملة العين بتوسيع نطاق الصورة تلقائيًا إلى الحجم الصحيح بالنسبة لك ، ولكن إذا كانت نسبة العرض إلى الارتفاع الخاطئة ، فسوف تسحق بطريقة تؤثر على أداء التنبؤ.
إلى مقلة العين بعض لقطات الشاشة ، ما عليك سوى تشغيل وضع "التنبؤ":
eyeballer.py --weights YOUR_WEIGHTS.h5 predict YOUR_FILE.png
أو للحصول على دليل كامل للملفات:
eyeballer.py --weights YOUR_WEIGHTS.h5 predict PATH_TO/YOUR_FILES/
سوف يبصق عيوب العين النتائج إليك بتنسيق قابل للقراءة البشرية (ملفات. ملف results.html حتى تتمكن من تصفحه بسهولة) وتنسيق القراءة القابل للقراءة (A results.csv ).
يتم قياس أداء مقلة العين مقابل مجموعة بيانات التقييم ، وهي 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 ٪ |
للحصول على شرح مفصل حول الدقة مقابل الاستدعاء ، تحقق من ويكيبيديا.
لتدريب نموذج جديد ، قم بتشغيل:
eyeballer.py train
ستحتاج إلى جهاز مع وحدة معالجة الرسومات جيدة حتى يتم تشغيل هذا في فترة زمنية معقولة. ومع ذلك ، فإن إعداد ذلك خارج نطاق هذا القراءة.
سيؤدي ذلك إلى إخراج ملف طراز جديد (Weights.H5 بشكل افتراضي).
لقد قمت فقط بتدريب نموذج جديد ، رائع! دعونا نرى مدى جودة أدائه ضد بعض الصور التي لم يسبق لها مثيل من قبل ، عبر مجموعة متنوعة من المقاييس:
eyeballer.py --weights YOUR_WEIGHTS.h5 evaluate
سيصف الإخراج دقة النموذج في كل من الاستدعاء والدقة لكل من ملصقات البرنامج. (بما في ذلك "لا شيء من ما سبق" كعلامة زائفة)