
LNHG - ماسح بصمات الويب الجماعي
تم تصميم أداة "LowNoiseHG (LNHG) Massive Web Fingerprinter" ("mwebfp" من الآن فصاعدًا) في يوليو 2013 بعد إدراك فائدة لقطات شاشة خادم الويب لمختبري الاختراق، أثناء مشاركة في نطاقات كبيرة من عناوين IP الخارجية أو الداخلية، كوسيلة سريعة لتحديد الأصول الحيوية والخدمات القابلة للاستغلال بسهولة والخوادم المنسية/القديمة ومعرفة بنية الشبكة الأساسية للهدف.
تتمثل العملية الأساسية لـ mwebfp في معالجة إدخال (الأهداف ومنافذ TCP) ثم استخدام ماسح منافذ قوي (nmap) لتحديد منافذ خادم الويب المفتوحة. يتم تحليل جميع المنافذ المفتوحة التي تم العثور عليها (عبر HTTP و HTTPS) وتسجيل جميع معلومات خادم الويب ذات الصلة، بالإضافة إلى لقطة شاشة لصفحة الويب المعروضة (كما لو كانت تُرى من متصفح).
# LowNoiseHG Massive Web Fingerprinter
# by F4Lc0N - LNHG - USA/Colombia
#
# Thanks to ET, c4an, Th3R3g3nt, ch0ks and ElJeffe311
# for inspiration, ideas and debugging/beta-testing help.
usage: mwebfp.py [-h]
[-i INPUT_RANGE | -n SERVER_NAME | -f INPUT_FILE | -r]
[-p HTTP_PORTS] [-s HTTPS_PORTS] [-o OUTPUT_DIR]
[-t {HTML,XLS,CSV,XML}] [-v {yes,no}] [-w {yes,no}]
optional arguments:
-h, --help show this help message and exit
-i INPUT_RANGE, --input-range INPUT_RANGE
input IP CIDR range
-n SERVER_NAME, --server-name SERVER_NAME
name of server (DNS name)
-f INPUT_FILE, --input-file INPUT_FILE
input file containing IP addresses and/or IP ranges
-r, --recover recover/continue previous process
-p HTTP_PORTS, --http-ports HTTP_PORTS
TCP HTTP ports (Default: 80/tcp)
-s HTTPS_PORTS, --https-ports HTTPS_PORTS
TCP HTTPS ports (Default: 443/tcp)
-o OUTPUT_DIR, --output-dir OUTPUT_DIR
working directory
-t {HTML,XLS,CSV,XML}, --output-format {HTML,XLS,CSV,XML}
output report format (Default: HTML)
-v {yes,no}, --vhosts {yes,no}
choice of processing vhosts for each IP address
(Default: no)
-w {yes,no}, --web-screenshots {yes,no}
choice of taking web schreenshots (Default: no)
مثل معظم البحث والتطوير (R&D) الذي تم في LowNoiseHG (LNHG)، تم تصميم وتطوير هذه الأداة فقط من أجل فائدتها وبدون أي تمويل مالي أو وقت مخصص لها. تم تطوير كل شيء فقط في الوقت الشخصي، وسيستمر ذلك عند ظهور ميزات مثيرة للاهتمام، وفي حال توفر الوقت مع الأخذ في الاعتبار المشاريع الأخرى.
يعمل الإصدار الحالي بشكل جيد جدًا، على الرغم من وجود بعض المشكلات (الأخطاء) البسيطة التي تحتاج إلى حل، وبعض الميزات الأساسية التي يمكن تحسينها:
الميزات قيد العمل:
الأخطاء المعروفة:
تم إصدار mwebfp وكل الكود المرتبط به بموجب ترخيص المصدر المفتوح GPL v3. الترخيص الكامل مرفق في ملف LICENSE.md.
لتشغيل mwebfp "out-of-the-git" مع تمكين جميع الخيارات، ستحتاج إلى:
**ملحوظة: تم تطوير mwebfp واختباره على Kali و Ubuntu و Debian. أنا متأكد من أن يمكنك جعله يعمل على منصات أخرى من اختيارك ;)
$ sudo apt-get install -y nmap python python-nmap python-requests git
لا تستخدم apt-get لهذا، أو الإصدار المقدم من نظام التشغيل الخاص بك. يمكنك التحقق مما إذا كان الإصدار الذي لديك يعمل مع mwebfp عن طريق تشغيل 'cutycapt --help' والتحقق مما إذا كان لديك خيار '--insecure' أم لا، أو إذا كان حقوق النشر '2003-2010' أو '2003-2013' (تحقق من السطر الأخير من المساعدة). تحتاج إلى وجود '--insecure' أو حقوق النشر '2003-2013' لتتمكن من استخدام cutycapt مع mwebfp. إذا كنت بحاجة إلى أحدث إصدار، قم بإلغاء تثبيت الإصدار الحالي واتبع الخطوات التالية:
$ cd /opt
$ sudo apt-get install -y subversion g++ libqt4-webkit libqt4-dev
$ sudo svn checkout svn://svn.code.sf.net/p/cutycapt/code/ cutycapt
$ cd cutycapt/CutyCapt
قم بتعديل الملف ./CutyCapt.hpp، وأضف السطرين التاليين بعد '#include <QtWebKit>' في السطر الأول:
#include <QNetworkReply>
#include <QSslError>
ثم:
$ sudo qmake
$ sudo make
$ sudo cp CutyCapt /usr/local/bin/
يمكنك اختبار وجود المعامل '--insecure' أو حقوق النشر '2003-2013' باستخدام:
$ cutycapt --help
$ cd /opt
$ sudo git clone https://github.com/falcon-lnhg/mwebfp.git
$ cd mwebfp
$ ./mwebfp -i 10.0.0.0/8 -o OutputDir -w yes -v no
يمكنك التحقق من القائمة الكاملة للخيارات في أي وقت باستخدام:
$ ./mwebfp -h