
Scanner SSL/TLS rápido que descobre suítes de cifras, protocolos e vulnerabilidades suportados (Heartbleed, POODLE, CRIME) com análise de cadeia de certificados e enumeração de troca de chaves.
A versão 2 do sslscan foi lançada. Isso inclui uma grande reescrita do código de verificação do backend, o que significa que não depende mais da versão do OpenSSL para muitas verificações. Isso significa que é possível suportar protocolos legados (SSLv2 e SSLv3), além de suportar TLSv1.3 - independentemente da versão do OpenSSL contra a qual foi compilado.
Isso foi possível em grande parte pelo trabalho de jtesta, que foi responsável pela maior parte da reescrita do backend.
Outras mudanças importantes incluem:
--http, pois estava quebrada e tinha muito pouco uso.Uma mudança potencialmente crítica foi feita na saída XML na versão 2.0.0-beta4. Anteriormente, múltiplos elementos <certificate> podiam ser retornados (um por padrão, e um segundo se --show-certificate fosse usado).
As principais mudanças são:
<certificates> que conterá os elementos <certificate>.<certificate> têm um novo atributo type, que pode ser:
short para a saída padrão.full para quando --show-certificate é usado.<signature-algorithm> em um <certificate> não contém mais o prefixo "Signature Algorithm:", nem os espaços e nova linha.Se você está usando a saída XML, então pode precisar fazer alterações no seu parser.
Este é um fork da versão do sslscan de ioerror (cujo README original está incluído abaixo) por rbsec ([email protected]).
As principais alterações são as seguintes:
--show-certificate).--failed).--ipv6).--no-compression).--no-ciphersuites.--no-colour.--no-heartbleed).--rdp (crédito skettler).--sleep para pausar entre requisições.É recomendado ignorar a instalação do OpenSSL do sistema e compilar estaticamente contra sua própria versão. Embora isso resulte em um binário sslscan mais pesado (tamanho de arquivo, consumo de memória, etc.), isso permite algumas verificações adicionais, como compressão TLS. Observe que a partir da versão 2.2.0 do sslscan, a versão mínima do OpenSSL exigida pelo sslscan é 3.5.0 (LTS), portanto, se sua distribuição oferece uma versão mais antiga, compilar contra ela não funcionará, e você terá que fazer uma compilação estática.
Para compilar sua própria versão do OpenSSL, você provavelmente precisará instalar as dependências de compilação do OpenSSL. Os comandos abaixo podem ser usados para fazer isso no Debian.
apt install git zlib1g-dev make gcc
Então execute
make static
Isso irá clonar o repositório do OpenSSL e configurar/compilar/testar o OpenSSL antes de compilar o sslscan.
Por favor, note: Por padrão, o OpenSSL é compilado com gcc sem personalizações adicionais. Para compilar com clang, instale as dependências de compilação usando os comandos abaixo.
apt install git zlib1g-dev make clang
Então execute
make static CC=clang
Você pode verificar se possui uma versão do OpenSSL estaticamente vinculada verificando se a versão listada por sslscan --version tem o sufixo -static.
Certifique-se de que sua instalação local do Docker esteja funcional e construa o contêiner com:
make docker
Ou manualmente com:
docker build -t sslscan:sslscan .
Você pode então executar o sslscan com:
docker run --rm -ti sslscan:sslscan --help
Graças a um patch de jtesta, o sslscan agora pode ser compilado no Windows. Isso pode ser feito nativamente ou por cross-compilação a partir do Linux. Veja INSTALL para instruções.
Note que o sslscan foi originalmente escrito para Linux e não foi extensivamente testado no Windows. Como tal, a versão Windows deve ser considerada experimental.
Binários Windows pré-compilados por cross-compilação estão disponíveis na Página de Releases do GitHub.
Há suporte experimental para compilação estática no macOS (anteriormente chamado OS X), porém isso deve ser considerado não suportado. Você pode precisar instalar quaisquer dependências necessárias para compilar o OpenSSL a partir do código fonte no macOS (anteriormente chamado OS X). Depois de tê-las, basta executar:
make static
Este é um fork do sslscan.c para melhor suporte a STARTTLS.
A página inicial original do sslscan é:
http://www.titania.co.uk
O sslscan foi originalmente escrito por:
Ian Ventura-Whiting
A página inicial atual deste fork (até que o upstream mescle um patch finalizado) é:
http://www.github.com/ioerror/sslscan
A maior parte da configuração do protocolo pré-TLS foi inspirada pelo programa s_client.c do OpenSSL. O objetivo deste fork é eventualmente mesclar com o projeto original após a configuração do STARTTLS ser refinada.
Parte do código de configuração do OpenSSL foi emprestado do programa Tor do Projeto Tor. Assim, é provavelmente apropriado cumprir com a licença BSD dizendo:
Copyright (c) 2007-2010, The Tor Project, Inc.
--no-preferred.--show-client-cas.--no-cipher-details.--cipher-details.--starttls-ldap.--sni-name (crédito Ken).--iana-names--show-certificates