
Scanner SSL/TLS veloce che rileva suite di cifratura supportate, protocolli e vulnerabilità (Heartbleed, POODLE, CRIME) con analisi della catena di certificati ed enumerazione dello scambio di chiavi.
sslscan versione 2 è stata ora rilasciata. Include una importante riscrittura del codice di scansione backend, il che significa che non dipende più dalla versione di OpenSSL per molti controlli. Questo permette di supportare protocolli legacy (SSLv2 e SSLv3), oltre a supportare TLSv1.3 - indipendentemente dalla versione di OpenSSL contro cui è stato compilato.
Questo è stato reso possibile in gran parte dal lavoro di jtesta, che è stato responsabile della maggior parte della riscrittura del backend.
Altre modifiche chiave includono:
--http, poiché era rotta e aveva pochissimo utilizzo.Una modifica potenzialmente di rottura è stata apportata all'output XML nella versione 2.0.0-beta4. In precedenza, potevano essere restituiti più elementi <certificate> (uno di default e un secondo se veniva usato --show-certificate).
Le modifiche chiave sono:
<certificates> che conterrà gli elementi <certificate>.<certificate> hanno un nuovo attributo type, che può essere:
short per l'output predefinito.full per quando si usa --show-certificate.<signature-algorithm> in un <certificate> non contiene più il prefisso "Signature Algorithm:", né gli spazi e la nuova riga.Se usi l'output XML, potresti dover apportare modifiche al tuo parser.
Questo è un fork della versione di sslscan di ioerror (il cui README originale è incluso sotto) di rbsec ([email protected]).
Le modifiche chiave sono le seguenti:
--show-certificate).--failed).--ipv6).--no-compression).--no-ciphersuites.--no-colour.--no-heartbleed).--rdp (credito skettler).Si consiglia di ignorare l'installazione di sistema di OpenSSL e di compilare staticamente con una propria versione. Sebbene ciò porti a un binario sslscan più pesante in termini di risorse (dimensione del file, consumo di memoria, ecc.), permette alcuni controlli aggiuntivi come la compressione TLS. Nota che a partire da sslscan versione 2.2.0, la versione minima di OpenSSL richiesta da sslscan è 3.5.0 (LTS), quindi se la tua distribuzione include una versione precedente, la build contro di essa non funzionerà e dovrai fare una build statica.
Per compilare la tua versione di OpenSSL, probabilmente dovrai installare le dipendenze di build di OpenSSL. I comandi seguenti possono essere usati per farlo su Debian.
apt install git zlib1g-dev make gcc
Poi esegui
make static
Questo clonerà il repository di OpenSSL, e configurerà/compilerà/testerà OpenSSL prima di compilare sslscan.
Nota bene: Di default, OpenSSL viene compilato con gcc senza ulteriori personalizzazioni. Per compilare con clang, installa le dipendenze di build usando i comandi seguenti.
apt install git zlib1g-dev make clang
Poi esegui
make static CC=clang
Puoi verificare se hai una versione di OpenSSL collegata staticamente, controllando se la versione elencata da sslscan --version ha il suffisso -static.
Assicurati che la tua installazione Docker locale sia funzionante, e costruisci il contenitore con:
make docker
O manualmente con:
docker build -t sslscan:sslscan .
Poi puoi eseguire sslscan con:
docker run --rm -ti sslscan:sslscan --help
Grazie a una patch di jtesta, sslscan può ora essere compilato su Windows. Questo può essere fatto nativamente o tramite cross-compilazione da Linux. Vedi INSTALL per le istruzioni.
Nota che sslscan è stato originariamente scritto per Linux, e non è stato ampiamente testato su Windows. Pertanto, la versione Windows va considerata sperimentale.
Binari Windows pre-compilati tramite cross-compilazione sono disponibili nella Pagina delle Release su GitHub.
C'è supporto sperimentale per la compilazione statica su macOS (precedentemente chiamato OS X), ma questo va considerato non supportato. Potresti dover installare le dipendenze necessarie per compilare OpenSSL da sorgente su macOS (precedentemente chiamato OS X). Una volta fatto, esegui semplicemente:
make static
Questo è un fork di sslscan.c per supportare meglio STARTTLS.
La home page originale di sslscan è:
http://www.titania.co.uk
sslscan è stato originariamente scritto da:
Ian Ventura-Whiting
La home page attuale di questo fork (finché upstream non unisce una patch finita) è:
http://www.github.com/ioerror/sslscan
La maggior parte della configurazione del protocollo pre-TLS è stata ispirata dal programma s_client.c di OpenSSL. L'obiettivo di questo fork è eventualmente fondersi con il progetto originale dopo che la configurazione STARTTLS sarà perfezionata.
Parte del codice di configurazione di OpenSSL è stata presa in prestito dal programma Tor di The Tor Project. Pertanto è probabilmente corretto conformarsi alla licenza BSD dicendo: Copyright (c) 2007-2010, The Tor Project, Inc.
--sleep per mettere in pausa tra le richieste.--no-preferred.--show-client-cas.--no-cipher-details.--cipher-details.--starttls-ldap.--sni-name (credito Ken).--iana-names--show-certificates