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
exchange-scanner — Identifique servidores Microsoft Exchange expostos publicamente e determine suas versões de software | Kitploit
Ferramentas/GitHubGitHub/bishopfox/exchange-scanner
ReconhecimentoScanners de VulnerabilidadesAnálise de VulnerabilidadesColeta de InformaçõesSegurança WebSegurança de Email
GitHubbishopfox/exchange-scanner

exchange-scanner

Identifique servidores Microsoft Exchange expostos publicamente e determine suas versões de software

Ver Repositório
1há 2 mesesAinda não revisado

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 →
Compartilhar

Scanner do Microsoft Exchange Server

exemplo de verificação

Descrição

Esta ferramenta verifica vários serviços comuns expostos publicamente num host alvo, a fim de detetar o Microsoft Exchange Server e, se possível, identificar a versão do seu software através de impressão digital.

Para tal, utiliza as seguintes técnicas:

  • Impressão digital do Outlook Web Access (OWA) através de cabeçalhos de resposta, conteúdos da página de login e hashes de favicon
  • Impressão digital da ferramenta de exportação do Exchange Control Panel (ECP) através de respostas XML
  • Impressão digital do endpoint Autodiscover através de cabeçalhos de resposta
  • Impressão digital de serviços para SMTP, IMAP e POP3 em portas comuns através de banners de serviço

Os números de compilação identificados são comparados com uma tabela de versões extraída da Microsoft que abrange todas as versões desde o Exchange Server 5.5 até ao Exchange Server Subscription Edition (SE), incluindo os níveis Service Pack (SP), Cumulative Update (CU), Security Update (SU), Hotfix Update (HU) e Update Rollup (RU). As correspondências são apresentadas com um nome de produto, data de lançamento e strings CPE no formato do dicionário NVD.

Introdução

Pré-requisitos

A forma recomendada de executar o scanner é com o Docker, que não requer dependências locais para além do próprio Docker. Para executar o script diretamente em alternativa, este foi concebido para utilização em Debian Linux de 64 bits, mas deve funcionar com qualquer variante Linux suportada pelo Python 3, dnsx e fingerprintx (com pequenas modificações no script de instalação).

Instalação

Docker (recomendado)

Construa a imagem. Esta inclui o Python, os pacotes Python fixados e os binários de dnsx e fingerprintx com versões fixadas, e extrai a tabela de versões do Exchange Server da Microsoft no momento da construção:

root@kitploit:~
docker build -t exchange-scanner .

Depois, execute o scanner, passando os mesmos argumentos que passaria ao script (descritos abaixo em Utilização):

root@kitploit:~
# Scan a single target
docker run --rm exchange-scanner -q -t 192.168.5.3

# Scan a list of targets (mount the file into the container)
docker run --rm -v "$PWD/targets.txt:/app/targets.txt" exchange-scanner -l targets.txt

Reconstrua a imagem para atualizar a tabela de versões.

Instalação manual

Execute scripts/install-requirements.sh para instalar as ferramentas, pacotes e outras dependências necessárias. Os pacotes Python estão fixados em versões específicas em scripts/requirements.txt.

Pode voltar a executar scripts/get-exchange-versions.py separadamente em qualquer altura para atualizar a tabela de versões de software encontrada em exchange-versions.json.

Utilização

Execute o script exchange-scanner.py com -h para ver os detalhes de utilização:

root@kitploit:~
❯ ./exchange-scanner.py -h
usage: exchange-scanner.py [-h] [-q] [-d] [-x TIMEOUT] [-o OUTFILE] (-t TARGET | -l LIST)

optional arguments:
  -h, --help            show this help message and exit
  -q, --quiet           Suppress log output (except errors)
  -d, --debug           Print debugging messages
  -x TIMEOUT, --timeout TIMEOUT
                        Set timeout for HTTP requests (defaults to 3 seconds)
  -o OUTFILE, --outfile OUTFILE
                        Save output to a file instead of writing to stdout
  -t TARGET, --target TARGET
                        A single hostname or IP address to scan
  -l LIST, --list LIST  File containing a list of hostnames and/or IP addresses to scan (one per line)

Obrigatório: -t ou -l

  • Para verificar um único alvo, use -t com um único hostname ou endereço IP. Se o hostname resolver para vários IPs, o script verificará cada um deles separadamente.
  • Para verificar vários alvos de uma só vez, crie um ficheiro com um hostname ou endereço IP por linha e depois use -l com o nome do ficheiro.

Registo: Para suprimir a maior parte da saída do registo, use -q. Para ver mais detalhes no registo, use -d.

Timeout: Para alterar o tempo máximo de resposta por pedido HTTP, especifique um valor de timeout em segundos (o predefinido é 3). Tenha em atenção que um único endereço IP pode gerar mais de 200 pedidos em determinadas circunstâncias (embora a maioria das verificações não atinja este volume), pelo que um timeout mais curto é geralmente preferível.

Saída: Os resultados da verificação são apresentados em formato JSON por predefinição. Para guardar a saída num ficheiro em vez de a escrever no stdout, use -o com um nome de ficheiro.

Exemplo

root@kitploit:~
$ ./exchange-scanner.py -q -t 192.168.5.3
[
    {
        "hostname": "192.168.5.3",
        "ip_address": "192.168.5.3",
        "build_number": "15.2.1118",
        "exchange_services": [
            "https://192.168.5.3:443",
            "imaps://192.168.5.3:993"
        ],
        "product_name": "Exchange Server 2019 CU12 (2022H1)",
        "major_version": "2019",
        "update": "Cumulative Update 12",
        "security_update": null,
        "release_date": "2022-04-20",
        "recalled": false,
        "cpes": [
            "cpe:2.3:a:microsoft:exchange_server:2019:cumulative_update_12:*:*:*:*:*:*",
            "cpe:2.3:a:microsoft:outlook_web_access:2019:cumulative_update_12:*:*:*:*:*:*"
        ]
    }
]

Miscelânea

Aviso legal

A utilização desta ferramenta para atacar alvos sem consentimento mútuo prévio é ilegal. É da responsabilidade do utilizador final cumprir todas as leis locais, estaduais e federais aplicáveis. Os programadores não assumem qualquer responsabilidade e não são responsáveis por qualquer utilização indevida ou danos causados por este programa.

Licença

Este projeto está licenciado sob a GNU General Public License.

Capacidades e Limitações

  • O scanner verifica atualmente apenas as portas predefinidas para os serviços predefinidos.
  • Pressupõe que o alvo está a ser verificado a partir de uma perspetiva externa.
  • Utiliza correspondência aproximada (fuzzy matching) para determinar as versões quando são encontrados números de compilação parciais.
  • Também sinaliza as atualizações que a Microsoft retirou através de um campo recalled na sua saída.
  • As strings CPE seguem o formato do dicionário CPE da NVD. Uma vez que o dicionário NVD regista as atualizações apenas até ao nível CU/SP/RU (não SU/HU), esses CPEs são fornecidos numa base de melhor esforço (best-effort) e podem não corresponder exatamente a uma entrada do dicionário. O detalhe completo identificado (número de compilação exato, nível SU/HU) é preservado nos outros campos de resultado.
Baixar ferramenta