Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Vxscan — Outil de scan complet écrit en python3, principalement utilisé pour la vérification de l'état de fonctionnement (survie), la détection de fichiers sensibles (scan de répertoires / fuites d'interfaces JS / fuites de commentaires HTML), l'identification WAF/CDN, le scan de ports, la reconnaissance d'empreintes/services, l'identification du système d'exploitation, le scan POC, l'injection SQL, le contournement de CDN, la consultation de sites voisins, etc. Il est principalement destiné aux tests internes des clients ou aux tests autorisés par les fournisseurs, ne l'utilisez pas pour causer des dommages. | Kitploit
Outils/GitHubGitHub/al0ne/vxscan
OSINT (Renseignement de Sources Ouvertes)Cassage de Mots de PasseScanners de VulnérabilitésScan de PortsCollecte d'InformationsContournement de WAFSécurité WebTests d'IntrusionÉnumération de Sous-domaines

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

Crawler
GitHubal0ne/vxscan

Vxscan

Voir le dépôt
1.8k433il y a 6 ansVérifié par Kitploit

Outil de scan complet écrit en python3, principalement utilisé pour la vérification de l'état de fonctionnement (survie), la détection de fichiers sensibles (scan de répertoires / fuites d'interfaces JS / fuites de commentaires HTML), l'identification WAF/CDN, le scan de ports, la reconnaissance d'empreintes/services, l'identification du système d'exploitation, le scan POC, l'injection SQL, le contournement de CDN, la consultation de sites voisins, etc. Il est principalement destiné aux tests internes des clients ou aux tests autorisés par les fournisseurs, ne l'utilisez pas pour causer des dommages.

Partager

Vxscan 2.0

Build Status ISSUE star license python

Anglais | Chinois simplifié

Outil de scan complet en Python3, principalement utilisé pour la détection de fichiers sensibles (scan de répertoires et fuites d'interfaces JS), identification WAF/CDN, scan de ports, identification d'empreintes/services, identification du système d'exploitation, détection de mots de passe faibles, scan POC, injection SQL, contournement du CDN, vérification des sites voisins

Mise à jour

2019.8.19
Ajout de l'interdiction de scanner les domaines gov.cn et edu.cn ; le programme se termine immédiatement s'il les détecte.
Modification de l'interface de sortie du programme : format temps + plugin + domaine + résultat.
Suppression de l'ancien plugin d'injection SQL et ajout d'un plugin de détection de mots de passe faibles (Mysql, Postgresql, SSH, etc.).
Fusion de la bibliothèque d'identification d'empreintes de Fofa avec WEBEYE. Règle d'empreinte 2000+.
2019.7.19
Ajout d'un proxy global socks5.
Emballage de requests.
Optimisation de la structure des répertoires.
Suppression de l'ancien rapport HTML, utilisation du rapport HTML extrait de Perun.
Suppression de la sortie JSON, ajustement pour stocker dans la base de données sqllite3, dédoublonnage lors de l'importation ; si l'hôte cible existe déjà dans le fichier db, il est ignoré lors du scan.
Ajout d'un plugin de détection des fuites d'informations courantes (phpinfo, leaves).
Ajout de l'interface viewdns.info pour PDNS.
2019.7.1
Affichage des hôtes dont le test ping a échoué.
La commande -u peut accepter plusieurs cibles, séparées par des virgules.
Correction d'une erreur de reconnaissance d'empreinte.
2019.6.18
Correction du problème de reconnaissance d'empreinte des sites IIS ; modification de apps.json.
Suppression de certaines bibliothèques et scripts tiers sujets aux erreurs.
Si le scan se termine immédiatement, c'est parce que le programme effectue d'abord une résolution DNS et un ping.
Lors de la première utilisation de Vxscan, fake_useragent charge la liste des UA depuis https://fake-useragent.herokuapp.com/browsers/0.1.11 ; une erreur de délai d'attente peut survenir.

Requirements

Version 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
Après décompression, placez GeoLite2-City.mmdb dans vxscan/data/GeoLite2-City.mmdb

wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-ASN.tar.gz
Après décompression, placez GeoLite2-ASN.mmdb dans vxscan/data/GeoLite2-ASN.mmdb

pip3 install -r requirements.txt

Fonctionnalités

  • Webinfo
    • GeoIP
    • Vérification de la résolution DNS
    • Vérification de la survie par ping
    • Authentification HTTPS/HTTP
    • Détection WAF/CDN
      • Règles WAF
      • Segment IP CDN
      • ASN CDN
    • En-têtes HTTP
    • Serveur HTTP
    • En-têtes HTTP
    • Reconnaissance d'empreintes
      • Wappalyzer (1100+)
      • WEBEYE (100+)
      • FOFA (2000+)
    • PDNS
      • virustotal
      • viewdns.info
    • Recherche de domaines inverses
      • yougetsignal.com
      • api.hackertarget.com
    • Détection de la version du système d'exploitation (nmap)
  • Ports
    • 400+ Ports
    • 140+ signatures d'empreintes de ports
    • Bannière de port
    • Sauter les IP CDN
    • Ignorer automatiquement les hôtes avec tous les ports ouverts (portspoof)
    • Reconnaissance des fichiers volumineux ; utilisation de stream=True lors du scan d'URL pour éviter le chargement des fichiers volumineux
  • URLS
    • Analyse de robots.txt pour ajouter du contenu à la liste de scan
    • Adresses courantes de sauvegardes, backdoors, répertoires, middlewares, fichiers sensibles
    • Génération d'une liste de dictionnaires par produit cartésien
    • UserAgent aléatoire, XFF, X-Real-IP, Referer
    • Reconnaissance de page 404 personnalisée (similarité de page, mots-clés de page)
    • Identification des redirections 302 personnalisées
    • Filtrage des Content-Type invalides, des statuts invalides ?
    • Enregistrement de l'URL, titre, contype, rsp_len, rsp_code
  • Vuln
    • Ajout de plusieurs ports HTTP d'un même hôte à la cible POC
    • Appel du POC basé sur l'empreinte et le service de port
    • Accès non autorisé, désérialisation, RCE, Sqli...
  • BruteForce
    • Mysql
    • Postgresql
    • SSH
  • Crawl
    • Extraction des paramètres dynamiques par crawl, dédoublonnage
    • Fuite d'informations dans les fichiers JS (téléphone, apikey, email, ip, domaine, todo)
    • Fuite de commentaires HTML (téléphone, email, domaine, ip, todo)
  • Rapport
    • Stockage des résultats dans la base de données Sqlite3
    • Dédoublonnage à l'importation ; les éléments déjà détectés ne seront pas scannés

Utilisation

python3 Vxscan.py -h

root@kitploit:~
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. Scanner un site web
python3 vxscan.py -u http://www.xxx.com/
2. Scanner un site web à partir d'une liste de fichiers
python3 vxscan.py -f hosts.txt
3. cidr ex. 127.0.0.0/24
python3 vxscan.py -i 127.0.0.0/24

Structure

root@kitploit:~
├─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

CONFIGURATION

root@kitploit:~
# 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 = ''

# cookie
COOKIE = {'Cookie': 'test'}

POC

1. Appeler un POC basé sur l'ouverture de port ou les résultats de reconnaissance d'empreintes
Créez un nouveau fichier Python dans le répertoire script, définissez la fonction check. Les paramètres passés sont principalement l'adresse IP, la liste des ports, la liste des identifications d'empreintes, puis retournez le résultat :

root@kitploit:~
import pymongo
from lib.verify import verify

timeout = 2
vuln = ['27017', 'Mongodb']

def check(ip, ports, apps):
    # Verify is used to verify if there is a Mongodb related result in the scan list. If the port is not open, it will not be scanned.
    if verify(vuln, ports, apps):
        try:
            conn = pymongo.MongoClient(host=ip, port=27017, serverSelectionTimeoutMS=timeout)
            database_list = conn.list_database_names()
            if not database_list:
                conn.close()
                return
            conn.close()
            return '27017 MongoDB Unauthorized Access'
        except Exception as e:
            pass

2. Parcourir chaque port HTTP ouvert de l'IP cible
Générez l'URL à scanner selon la liste des services de ports passés, puis visitez chaque port web. Le script suivant récupère le titre de chaque port HTTP de l'IP.

root@kitploit:~
from lib.verify import get_list
from lib.random_header import HEADERS
from lxml import etree
import requests

def get_title(url):
    try:
        r = requests.get(url, headers=HEADERS, timeout=3, verify=False)
        html = etree.HTML(r.text)
        title = html.xpath('//title/text()')
        return url + ' | ' + title[0]
    except:
        pass


def check(ip, ports, apps):
    result = []
    probe = get_list(ip, ports)
    for i in probe:
        out = get_title(i)
        if out:
            result.append(out)
    return result

Empreintes

Comment ajouter des fonctionnalités de reconnaissance d'empreintes
Modifiez le contenu du fichier data/apps.txt
1. Correspondance dans l'en-tête HTTP
Cacti|headers|Set-Cookie|Cacti=
2. Correspondance dans le corps de la réponse HTTP
ASP|index|index|<a[^>]?href=('|")[^http][^>]?.asp(?|#|\1)
3. Diviser les en-têtes pour correspondre dans k ou v
ThinkSNS|match|match|T3_lang

Liste WAF/CDN

360
360wzws
Anquanbao
Armor
BaiduYunjiasu
AWS WAF
AdNovum
Airee CDN
Art of Defence HyperGuard
ArvanCloud
Barracuda NG
Beluga CDN
BinarySEC
BlockDoS
Bluedon IST
CacheFly CDN
ChinaCache CDN
Cisco ACE XML Gateway
CloudFlare CDN
Cloudfront CDN
Comodo
CompState
DenyALL WAF
DenyAll
Distil Firewall
DoSArrest Internet Security
F5 BIG-IP APM
F5 BIG-IP ASM
F5-TrafficShield
Fastly CDN
FortiWeb
FortiWeb Firewall
GoDaddy
GreyWizard Firewall
HuaweiCloudWAF
HyperGuard Firewall
IBM DataPower
ISAServer
Immunify360
Imperva SecureSphere
Incapsula CDN
Jiasule
KONA
KeyCDN
ModSecurity
NGENIX CDN
NSFOCUS
Naxsi
NetContinuum
NetContinuum WAF
Neusoft SEnginx
Newdefend
Palo Alto Firewall
PerimeterX Firewall
PowerCDN
Profense
Qiniu CDN
Reblaze Firewall
SDWAF
Safe3
Safedog
SiteLock TrueShield
SonicWALL
SonicWall
Sophos UTM Firewall
Stingray
Sucuri
Teros WAF
Usp-Sec
Varnish
Wallarm
WatchGuard
WebKnight
West263CDN
Yundun
Yunsuo
ZenEdge Firewall
aesecure
aliyun
azion CDN
cloudflare CDN
dotDefender
limelight CDN
maxcdn CDN
mod_security
yunsuo

Sortie

Voici les résultats du site de test du scanner AWVS
image image image

Remarque

La reconnaissance d'empreintes fait principalement appel à Wappalyzer et WebEye :
https://github.com/b4ubles/python3-Wappalyzer
https://github.com/zerokeeper/WebEye
Poc référencés :
Scanner BBscan https://github.com/lijiejie/BBScan
POC-T https://github.com/Xyntax/POC-T/tree/2.0/script
Perun https://github.com/WyAtu/Perun
Référence pour le scan de ports et le jugement de services d'Anthx :
https://raw.githubusercontent.com/AnthraX1/InsightScan/master/scanner.py
Extraction d'expressions régulières pour les informations sensibles JS :
https://github.com/nsonaniya2010/SubDomainizer
Règles de jugement WAF utilisant waf00f et whatwaf :
https://github.com/EnableSecurity/wafw00f
https://github.com/Ekultek/WhatWaf
Le rapport HTML utilise : https://github.com/WyAtu/Perun https://github.com/ly1102

Télécharger l’outil
  • Génération d'un rapport HTML