Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/al0ne/vxscan
OSINT (Inteligência de Fontes Abertas)Quebra de SenhasScanners de VulnerabilidadesEscaneamento de PortasColeta de InformaçõesBypass de WAFSegurança WebTestes de PenetraçãoEnumeração de Subdomínios

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

Sobre

Vxscan — Ferramenta de varredura abrangente escrita em Python3, usada principalmente para verificação de sobrevivência, detecção de arquivos sensíveis (varredura de diretórios/interface de vazamento JS/vazamento de comentários HTML), identificação de WAF/CDN, varredura de portas, reconhecimento de impressão digital/serviço, identificação de sistema operacional, varredura de POC, injeção SQL, bypass de CDN, consulta de sites vizinhos, etc. Principalmente usada para autoavaliação do cliente ou testes autorizados pelo contratado. Não use para causar danos. | Kitploit
Rastreador
GitHubal0ne/vxscan

Vxscan

Ver Repositório
1.8k433há 6 anosRevisado pelo Kitploit

Ferramenta de varredura abrangente escrita em Python3, usada principalmente para verificação de sobrevivência, detecção de arquivos sensíveis (varredura de diretórios/interface de vazamento JS/vazamento de comentários HTML), identificação de WAF/CDN, varredura de portas, reconhecimento de impressão digital/serviço, identificação de sistema operacional, varredura de POC, injeção SQL, bypass de CDN, consulta de sites vizinhos, etc. Principalmente usada para autoavaliação do cliente ou testes autorizados pelo contratado. Não use para causar danos.

Compartilhar

Vxscan 2.0

Build Status ISSUE star license python

English | 简体中文

Ferramenta de varredura abrangente em Python3, usada principalmente para detecção de arquivos sensíveis (varredura de diretórios e vazamento de interfaces JS), identificação de WAF/CDN, varredura de portas, identificação de impressões digitais/serviços, identificação de sistema operacional, detecção de senhas fracas, varredura de POC, injeção SQL, contorno de CDN, verificação de sites vizinhos.

Atualização

2019.8.19
Adicionada proibição de varrer domínios gov.cn e edu.cn; o programa detecta e termina imediatamente.
Modificada a interface de saída do programa para o formato: tempo + plugin + domínio + resultado.
Removido o plugin de injeção SQL original e adicionado um plugin de detecção de senhas fracas (Mysql, Postgresql, SSH, etc.).
Combinada a biblioteca de impressões digitais do Fofa com o WEBEYE. Regras de impressão digital: 2000+.
2019.7.19
Adicionado proxy global socks5.
Empacotado requests.
Otimizada a estrutura de diretórios.
Removido o relatório HTML original, usando o relatório HTML extraído do Perun.
Removida a saída de resultados em JSON, ajustada para armazenamento no banco de dados SQLite3, com deduplicação ao inserir; se o host alvo já existir no arquivo db durante a varredura, ele é ignorado.
Adicionado plugin de detecção de vazamento de informações comuns (phpinfo, etc.).
PDNS: interface viewdns.info adicionada.
2019.7.1
Exibe hosts cuja verificação de ping falhou.
O comando -u pode aceitar vários alvos separados por vírgulas.
Corrigido erro de reconhecimento de impressão digital.
2019.6.18
Corrigido problema de reconhecimento de impressão digital em sites IIS; modificado apps.json.
Removidas algumas bibliotecas de terceiros e scripts propensos a erros.
Se a varredura terminar rapidamente, é porque o programa primeiro realiza a verificação de resolução DNS e ping.
Ao usar Vxscan pela primeira vez, o fake_useragent carregará a lista de UA de https://fake-useragent.herokuapp.com/browsers/0.1.11 e pode ocorrer erro de timeout de carregamento.

Requisitos

Versão do 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
Após descompactar, coloque GeoLite2-City.mmdb em vxscan/data/GeoLite2-City.mmdb

wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-ASN.tar.gz
Após descompactar, coloque GeoLite2-ASN.mmdb em vxscan/data/GeoLite2-ASN.mmdb

pip3 install -r requirements.txt

Recursos

  • Webinfo
    • GeoIP
    • Verificação de resolução DNS
    • Verificação de sobrevivência (ping)
    • Autenticação HTTPS/HTTP
    • Detecção de WAF/CDN
      • Regras de WAF
      • Segmento de IP de CDN
      • ASN de CDN
    • Cabeçalho HTTP
    • Servidor HTTP
    • Cabeçalhos HTTP
    • Reconhecimento de impressão digital
      • Wappalyzer (1100+)
      • WEBEYE (100+)
      • FOFA (2000+)
    • PDNS
      • virustotal
      • viewdns.info
    • Domínio reverso
      • yougetsignal.com
      • api.hackertarget.com
    • Detecção de versão do sistema operacional (nmap)
  • Portas
    • Mais de 400 portas
    • Mais de 140 assinaturas de impressão digital de porta
    • Banner de porta
    • Ignorar IP CDN
    • Host com todas as portas abertas (portspoof) ignorado automaticamente
    • Reconhecimento de arquivos grandes: ao escanear a URL, stream=True é adicionado para evitar carregamento de arquivos grandes.
  • URLs
    • Analisa robots.txt e adiciona conteúdo à lista de varredura
    • Endereços comuns de backup, backdoor, diretório, middleware, arquivos sensíveis
    • Gera lista de dicionário usando produto cartesiano
    • UserAgent, XFF, X-Real-IP, Referer aleatórios
    • Reconhecimento de página 404 personalizada (similaridade de página, palavra-chave)
    • Identifica redirecionamentos 302 personalizados
    • Filtra Content-Type inválido, status inválido?
    • Salva URL, título, contype, rsp_len, rsp_code
  • Vuln
    • Adiciona várias portas HTTP de um único host como alvos POC
    • Chama POC baseado em impressão digital e serviço de porta
    • Não autorizado, desserialização, RCE, Sqli...
  • BruteForce
    • Mysql
    • Postgresql
    • SSH
  • Crawl
    • Extrai parâmetros dinâmicos através de crawling, com deduplicação
    • Vazamento de informações em arquivos JS (telefone, apikey, email, ip, domínio, todo)
    • Vazamento em comentários HTML (telefone, email, domínio, ip, todo)
  • Relatório
    • Resultados armazenados no banco de dados Sqlite3
    • Deduplicação na inserção; itens já detectados não serão escaneados

Uso

python3 Vxscan.py -h

root@kitploit:~
argumentos opcionais:
  -h, --help            mostra esta mensagem de ajuda e sai  
  -u URL, --url URL     Inicia a varredura nesta URL -u xxx.com  
  -i INET, --inet INET  cidr ex. 1.1.1.1 ou 1.1.1.0/24  
  -f FILE, --file FILE  lê a URL do arquivo  

1. Escanear um site
python3 vxscan.py -u http://www.xxx.com/
2. Escanear sites a partir de um arquivo
python3 vxscan.py -f hosts.txt
3. cidr ex. 127.0.0.0/24
python3 vxscan.py -i 127.0.0.0/24

Estrutura

root@kitploit:~
├─Vxscan.py arquivo principal
├─data
│ ├─apps.json           Informações de impressão digital web
│ ├─apps.txt            Informações de impressão digital web (WEBEYE)
│ ├─GeoLite2-ASN.mmdb       geoip
│ ├─GeoLite2-City.mmdb      asn
├─doc                   Armazena imagens ou recursos de documento
├─report                Conteúdo relacionado ao relatório HTML
├─lib
│ ├─common.py           Determina CDN, varredura de portas, varredura POC, etc.
│ ├─color.py            Saída colorida no terminal
│ ├─cli_output.py       Saída no terminal
│ ├─active.py           Verifica a resolução DNS e sobrevivência do IP via ping
│ ├─save_html.py        Gera relatórios HTML
│ ├─waf.py              Regras de WAF
│ ├─options.py          Configurações de opções
│ ├─iscdn.py            Determina se IP é CDN baseado em segmento de IP e faixa ASN
│ ├─osdetect.py         Identificação de versão do SO
│ ├─random_header.py    Cabeçalho personalizado
│ ├─settings.py         Script de configuração
│ ├─vuln.py             Chamada em lote de varredura POC
│ ├─url.py              Deduplicação de conexões coletadas
│ ├─verify.py           Script fornece interface de verificação
│ ├─sqldb.py            Tudo relacionado ao sqlite3 está aqui
│ ├─Requests.py         Biblioteca requests encapsulada com configurações personalizadas
├─script
│ ├─Poc.py Script POC
│ ├─......
├─Plugins
│ ├─ActiveReconnaissance
│   ├─active.py             Verifica sobrevivência do host e valida resolução DNS
│   ├─check_waf.py          Determina WAF do site
│   ├─crawk.py Coleta        links do site e testa
│   ├─osdetect.py           Identificação de sistema operacional
│ ├─InformationGathering
│   ├─geoip.py              Pesquisa de localização
│   ├─js_leaks.py js        Vazamento de informações
│ ├─PassiveReconnaissance
│   ├─ip_history.py         Interface PDNS
│   ├─reverse_domain.py         Consulta de sites vizinhos
│   ├─virustotal.py         Consulta PDNS no VT
│   ├─wappalyzer.py         Reconhecimento passivo de impressão digital CMS
│ ├─Scanning
│   ├─dir_scan              Varredura de diretórios
│   ├─port_scan             Varredura de portas
├─requirements.txt
├─report.py html            Geração de relatório
├─logo.jpg
├─error.log

CONFIGURAÇÃO

root@kitploit:~
# coding=utf-8

# timeout global
TIMEOUT = 5

# Status a serem excluídos
BLOCK_CODE = [
    301, 403, 308, 404, 405, 406, 408, 411, 417, 429, 493, 502, 503, 504, 999
]
# Definir threads de varredura
THREADS = 100
# Content-Type a serem excluídos
BLOCK_CONTYPE = [
    'image/jpeg', 'image/gif', 'image/png', 'application/javascript',
    'application/x-javascript', 'text/css', 'application/x-shockwave-flash',
    'text/javascript', 'image/x-icon'
]

# Se deve ignorar a varredura de diretórios
SCANDIR = True

# Se deve iniciar o plugin POC
POC = True

# Ignorar se já existir no db de resultados
CHECK_DB = False

# página 404 inválida
PAGE_404 = [
    'page_404"', "404.png", '找不到页面', '页面找不到', "Not Found", "访问的页面不存在",
    "page does't exist", 'notice_404', '404 not found'
]

# ping
PING = True

# proxy socks5
# SOCKS5 = ('127.0.0.1', 1080)
SOCKS5 = ()

# shodan
SHODAN_API = ''

# VT
VIRUSTOTAL_API = ''

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

POC

1. Chamar POC baseado na abertura de porta ou resultados de reconhecimento de impressão digital
Crie um novo arquivo python no diretório script, defina a função check; os parâmetros passados são principalmente endereço IP, lista de portas, lista de impressões digitais, e então retorna o resultado:

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

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

def check(ip, ports, apps):
    # verify é usado para verificar se existe um resultado relacionado ao Mongodb na lista de varredura. Se a porta não estiver aberta, não será escaneada.
    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. Percorrer cada porta HTTP aberta do IP alvo
Gera a URL a ser escaneada de acordo com a lista de serviços de porta fornecida e visita cada porta web. O script abaixo obtém o título de cada porta HTTP do 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

Impressão Digital

Como adicionar recursos de reconhecimento de impressão digital
Modifique o conteúdo do arquivo data/apps.txt
1. Corresponder cabeçalho HTTP
Cacti|headers|Set-Cookie|Cacti=
2. Corresponder corpo da resposta HTTP
ASP|index|index|<a[^>]?href=('|")[^http][^>]?.asp(?|#|\1)
3. Dividir cabeçalhos para corresponder em k ou v
ThinkSNS|match|match|T3_lang

Lista de 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

Saída

Abaixo estão os resultados do site de teste do scanner AWVS
image image image

Nota

O reconhecimento de impressão digital utiliza principalmente Wappalyzer e WebEye:
https://github.com/b4ubles/python3-Wappalyzer
https://github.com/zerokeeper/WebEye
Poc referenciados:
BBscan scanner https://github.com/lijiejie/BBScan
POC-T https://github.com/Xyntax/POC-T/tree/2.0/script
Perun https://github.com/WyAtu/Perun
Referência para varredura de portas e verificação de serviços:
https://raw.githubusercontent.com/AnthraX1/InsightScan/master/scanner.py
Extração de expressões regulares para informações sensíveis em JS:
https://github.com/nsonaniya2010/SubDomainizer
Detecção de WAF usando regras do waf00f e whatwaf:
https://github.com/EnableSecurity/wafw00f
https://github.com/Ekultek/WhatWaf
Relatório HTML utiliza: https://github.com/WyAtu/Perun https://github.com/ly1102

Baixar ferramenta
  • Geração de relatório HTML