
Identifica servidores, encontra exploits, escaneia WebDAV. Pode ou não também fazer café.
O DAVScan é um scanner webdav rápido e leve projetado para descobrir arquivos e pastas ocultos em servidores web com DAV habilitado. O scanner funciona aproveitando servidores WebDAV excessivamente privilegiados/mal configurados ou servidores vulneráveis a várias vulnerabilidades de divulgação ou bypass de autenticação. O scanner tenta identificar o servidor alvo e então rastrear o servidor com base nos resultados de uma requisição PROPFIND raiz.
Se você realmente tirar um tempo para ler meu código de merda, vai notar que decidi mudar um pouco do núcleo do davscan para usar o beautiful soup, o que exigirá libxml. Decidi fazer isso por ter encontrado uma configuração DAV realmente RUIM que retornou quase 500mb de dados XML e matou a biblioteca xmltree. O BS pode... bem... lidar com tanta BS. Vai demorar um pouco mais para coletar e analisar tudo, mas agora o DAVScan deve ser capaz de lidar com tanta merda quanto você puder jogar nele (assumindo que você não fique sem memória).
Identificação por cabeçalho do servidor - Se o servidor web retornar um cabeçalho de servidor, o davscan pode pesquisar exploits públicos com base na resposta.
Varredura DAV básica com PROPFIND - Varredura rápida para encontrar qualquer coisa que possa estar visível a partir do DAV.
IIS/6.0 Unicode Auth Bypass - Funciona usando GET para arquivos e PROPFIND para pastas. Não totalmente testado, então verifique o resultado.
Exclusão de resultados de exploits DoS - Você pode excluir exploits de negação de serviço dos resultados do searchsploit.
Exclusão de módulos MSF dos resultados de exploits - O searchsploit personalizado está incluído no repositório para isso. Substitua o searchsploit existente ou faça backup e substitua. Esse recurso pode ou não acabar no script searchsploit real.
Compatível com Proxy - Você pode especificar um proxy http(s) para usar. Isso apenas passará um proxy para a sessão de requests. Adicionei isso por causa da necessidade de autenticação NTLM que o requests não consegue fazer no momento.
Autenticação - Apenas autenticação básica funciona no momento. Se você precisar de algo como tokenização ou algo estranho, me avise e eu trabalharei nisso. Não é uma prioridade alta adicionar mais funcionalidades a isso. A maioria das necessidades de autenticação pontuais podem ser tratadas usando o burp e a flag de proxy.
Identificação por cabeçalho X - Está lá, mas não está funcionando direito. Posso ter isso funcionando agora, mas ainda não totalmente testado.
Minha capacidade de documentar as coisas adequadamente - Quando troquei o xml nativo pelo beautiful soup, que veio com alguns requisitos que eu não sabia que deveria te contar. Você vai querer instalar isso também, assim como a biblioteca C libxml, porque isso torna as coisas mais rápidas. Também não caga na cama se você alimentá-lo com meio gigabyte de XML WebDAV. Vá em frente, me pergunte como descobri isso.
Provavelmente muito mais que não testei e quaisquer problemas que possam existir no github, supondo que as pessoas se importem em me dizer o que é idiota..
Construir um banco de dados sqlite em vez de arquivo plano - Atualmente a saída vai para um arquivo com algumas mensagens na tela apenas para mostrar que está funcionando.
Tornar-me piloto de caça! - Assisti Top Gun uma vez e agora estou muito animado para entrar na Força Aérea e viver o sonho. "Sinto a necessidade de velocidade!"
Você sabia que pode me ajudar a consertar meu código ruim? Seria como seu trabalho diário, mas sem pagamento e com um pouquinho mais de reconhecimento, já que ganho quase nada com seu trabalho duro aqui. Pelo lado bom, não vou exigir que você venha no fim de semana para se atualizar. Diabos, nem vou reclamar se você enviar código que escreveu quando estava bêbado. Caso você não tenha notado, é quando faço alguns dos meus melhores trabalhos. Só não envie besteiras como corrigir um erro de digitação. Eles estão lá de propósito.
Usage: davscan.py [-h] [-D DEPTH] [-a AUTH] [-u USER] [-p PASSWORD]
[-o OUTFILE] [-P PROXY] [-d] [-m] url
positional arguments:
url url of the server to scan; https://foo.com:8443/
optional arguments:
-h, --help show this help message and exit
-D DEPTH, --depth DEPTH How many folders deep should davscan go (default is infinity); -d 1
-a AUTH, --auth AUTH Basic authentication required; -a basic
-u USER, --user USER user; -u derpina
-p PASSWORD, --password PASSWORD password; -P 'P@$$W0rd'
-o OUTFILE, --out OUTFILE output file. defaults to; -o /tmp/davout
-P PROXY, --proxy PROXY proxy server if needed.; -P http://user:[email protected]:8080/
-d, --no-dos exclude DoS modules
-m, --no-msf exclude MSF modules from results