
أداة مسح شاملة مكتوبة بلغة Python3، تُستخدم أساسًا للتحقق من البقاء، كشف الملفات الحساسة (فحص الدلائل / كشف واجهات برمجة التطبيقات المسربة من JavaScript / كشف التعليقات المسربة من HTML)، التعرف على WAF/CDN، فحص المنافذ، التعرف على البصمات/الخدمات، التعرف على أنظمة التشغيل، فحص POC، حقن SQL، تجاوز CDN، الاستعلام عن المواقع المجاورة، وغيرها. تُستخدم بشكل أساسي للاختبار الذاتي من قبل العميل أو الاختبار المصرح به من قبل الطرف الثاني، يُرجى عدم استخدامها للتخريب.
English | 简体中文
أداة مسح شاملة بلغة Python3، تستخدم بشكل أساسي للكشف عن الملفات الحساسة (مسح الدليل وتسرب واجهات JS)، التعرف على WAF/CDN، مسح المنافذ، التعرف على البصمة/الخدمة، التعرف على نظام التشغيل، كشف كلمات المرور الضعيفة، مسح POC، حقن SQL، تجاوز CDN، فحص المواقع المجاورة.
2019.8.19
أضيف منع مسح نطاقات gov.cn و edu.cn، ويتوقف البرنامج فور اكتشافها
تعديل واجهة إخراج البرنامج لتكون بصيغة الوقت + الإضافة + النطاق + النتيجة
إزالة إضافة حقن SQL القديمة وإضافة إضافة كشف كلمات المرور الضعيفة (Mysql، Postgresql، SSH، إلخ)
دمج قاعدة بصمات Fofa مع WEBEYE. قاعدة بصمات 2000+
2019.7.19
إضافة وكيل عالمي socks5
تجميع طلبات requests
تحسين هيكل الدليل
حذف التقرير html القديم، واستخدام تقرير html المستخرج من Perun
إزالة إخراج نتائج json، وتعديل التخزين في قاعدة بيانات sqllite3، مع إزالة التكرار عند الإدخال، وتخطي الهدف إذا كان موجودًا بالفعل في ملف db أثناء المسح
إضافة إضافة كشف تسرب المعلومات الشائعة مثل phpinfo، leaves
إضافة واجهة viewdns.info إلى Pdns
2019.7.1
عرض المضيف الذي فشل اختبار ping
يمكن للأمر -u إضافة أهداف متعددة، مفصولة بفواصل
إصلاح خطأ في التعرف على البصمة
2019.6.18
إصلاح مشكلة خطأ التعرف على بصمة موقع iis، تعديل apps.json
إزالة بعض المكتبات والبرامج النصية التابعة المعرضة للخطأ
إذا انتهى المسح بسرعة، فذلك لأن البرنامج يقوم أولاً بفحص تحليل DNS وعملية ping
عند استخدام Vxscan لأول مرة، يقوم fake_useragent بتحميل قائمة ua من https://fake-useragent.herokuapp.com/browsers/0.1.11، وقد يحدث خطأ انتهاء مهلة التحميل.
إصدار Python > 3.6
requests
pyfiglet
fake-useragent
beautifulsoup4
tldextract
python-nmap
geoip2
lxml
pymongo
virustotal_python
dnspython
pysocks
wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz
بعد فك الضغط، ضع GeoLite2-City.mmdb في vxscan/data/GeoLite2-City.mmdb
wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-ASN.tar.gz
بعد فك الضغط، ضع GeoLite2-ASN.mmdb في vxscan/data/GeoLite2-ASN.mmdb
pip3 install -r requirements.txt
python3 Vxscan.py -h
optional arguments:
-h, --help show this help message and exit
-u URL, --url URL Start scanning this url -u xxx.com
-i INET, --inet INET cidr eg. 1.1.1.1 or 1.1.1.0/24
-f FILE, --file FILE read the url from the file
1. مسح موقع ويب
python3 vxscan.py -u http://www.xxx.com/
2. مسح موقع ويب من ملف قائمة
python3 vxscan.py -f hosts.txt
3. مثال cidr 127.0.0.0/24
python3 vxscan.py -i 127.0.0.0/24
├─Vxscan.py master file
├─data
│ ├─apps.json Web fingerprint information
│ ├─apps.txt Web fingerprint information (WEBEYE)
│ ├─GeoLite2-ASN.mmdb geoip
│ ├─GeoLite2-City.mmdb asn
├─doc to store some image or document resources
├─report html report related content
├─lib
│ ├─common.py Determine CDN, port scan, POC scan, etc.
│ ├─color.py terminal color output
│ ├─cli_output.py terminal output
│ ├─active.py to judge dns resolution and ping ip survival
│ ├─save_html.py Generate html reports
│ ├─waf.py waf rules
│ ├─options.py option settings
│ ├─iscdn.py Determine whether IP is CDN based on ip segment and asn range
│ ├─osdetect.py OS version identification
│ ├─random_header.py custom header header
│ ├─settings.py setting script
│ ├─vuln.py Batch call POC scan
│ ├─url.py Deduplicate the fetched connection
│ ├─verify.py script provides verification interface
│ ├─sqldb.py All related to sqlite3 are here
│ ├─Requests.py packaged requests library, do some custom settings
├─script
│ ├─Poc.py Poc script
│ ├─......
├─Plugins
│ ├─ActiveReconnaissance
│ ├─active.py to determine host survival and verify dns resolution
│ ├─check_waf.py judge website waf
│ ├─crawk.py Crawl website links and test
│ ├─osdetect.py Operating System Identification
│ ├─InformationGathering
│ ├─geoip.py Location Search
│ ├─js_leaks.py js information disclosure
│ ├─PassiveReconnaissance
│ ├─ip_history.py pdns interface
│ ├─reverse_domain.py side station query
│ ├─virustotal.py VT Pdns query
│ ├─wappalyzer.py CMS passive fingerprint recognition
│ ├─Scanning
│ ├─dir_scan directory scan
│ ├─port_scan port scan
├─requirements.txt
├─report.py html report generation
├─logo.jpg
├─error.log
# coding=utf-8
# global timeout
TIMEOUT = 5
# Is the status to be excluded
BLOCK_CODE = [
301, 403, 308, 404, 405, 406, 408, 411, 417, 429, 493, 502, 503, 504, 999
]
# Set scan thread
THREADS = 100
# Content type to exclude
BLOCK_CONTYPE = [
'image/jpeg', 'image/gif', 'image/png', 'application/javascript',
'application/x-javascript', 'text/css', 'application/x-shockwave-flash',
'text/javascript', 'image/x-icon'
]
# Whether to skip directory scanning
SCANDIR = True
# Whether to start the POC plugin
POC = True
# Skip if it exists in the result db
CHECK_DB = False
# invalid 404 page
PAGE_404 = [
'page_404"', "404.png", '找不到页面', '页面找不到', "Not Found", "访问的页面不存在",
"page does't exist", 'notice_404', '404 not found'
]
# ping
PING = True
# socks5 proxy
# SOCKS5 = ('127.0.0.1', 1080)
SOCKS5 = ()
# shodan
SHODAN_API = ''
# VT
VIRUSTOTAL_API = ''