
Schneller SSL/TLS-Scanner, der unterstützte Cipher Suites, Protokolle und Schwachstellen (Heartbleed, POODLE, CRIME) mit Zertifikatskettenanalyse und Schlüsselaustausch-Aufzählung erkennt.
sslscan Version 2 wurde nun veröffentlicht. Dies beinhaltet eine umfassende Neufassung des Backend-Scan-Codes, was bedeutet, dass er für viele Prüfungen nicht mehr von der OpenSSL-Version abhängig ist. Dies bedeutet, dass es möglich ist, Legacy-Protokolle (SSLv2 und SSLv3) zu unterstützen, sowie TLSv1.3 – unabhängig von der OpenSSL-Version, gegen die es kompiliert wurde.
Dies wurde größtenteils durch die Arbeit von jtesta ermöglicht, der für den größten Teil der Neuimplementierung des Backends verantwortlich war.
Weitere wichtige Änderungen sind:
--http wurde entfernt, da sie defekt war und ohnehin kaum genutzt wurde.Eine potenziell brechende Änderung wurde an der XML-Ausgabe in Version 2.0.0-beta4 vorgenommen. Bisher konnten mehrere <certificate>-Elemente zurückgegeben werden (eines standardmäßig und ein zweites, wenn --show-certificate verwendet wurde).
Die wichtigsten Änderungen sind:
<certificates>, das die <certificate>-Elemente enthalten wird.<certificate>-Elemente haben ein neues type-Attribut, das entweder sein kann:
short für die Standardausgabe.full für den Fall, dass --show-certificate verwendet wird.<signature-algorithm> in einem <certificate> enthält nicht mehr das Präfix "Signature Algorithm:", oder die Abstände und den Zeilenumbruch.Wenn Sie die XML-Ausgabe verwenden, müssen Sie möglicherweise Änderungen an Ihrem Parser vornehmen.
Dies ist ein Fork von ioerrors Version von sslscan (die ursprüngliche README ist unten enthalten) von rbsec ([email protected]).
Die wichtigsten Änderungen sind:
--show-certificate anzeigen).--failed anzeigen).--ipv6 erzwungen werden).--no-compression).--no-ciphersuites.--no-colour.--no-heartbleed).--rdp (Dank an skettler).Es wird empfohlen, die OpenSSL-Systeminstallation zu ignorieren und statisch gegen Ihre eigene Version zu bauen. Obwohl dies zu einem ressourcenintensiveren sslscan-Binary führt (Dateigröße, Speicherverbrauch usw.), ermöglicht dies einige zusätzliche Prüfungen wie TLS-Kompression. Beachten Sie, dass ab sslscan Version 2.2.0 die Mindestversion von OpenSSL, die von sslscan benötigt wird, 3.5.0 (LTS) ist. Wenn Ihre Distribution also eine ältere Version ausliefert, wird das Bauen dagegen nicht funktionieren, und Sie müssen einen statischen Build durchführen.
Um Ihre eigene OpenSSL-Version zu kompilieren, müssen Sie wahrscheinlich die OpenSSL-Build-Abhängigkeiten installieren. Die folgenden Befehle können unter Debian verwendet werden, um dies zu tun.
apt install git zlib1g-dev make gcc
Dann führen Sie aus
make static
Dies wird das OpenSSL-Repository klonen und OpenSSL vor dem Kompilieren von sslscan konfigurieren/kompilieren/testen.
Bitte beachten Sie: Standardmäßig wird OpenSSL mit gcc ohne weitere Anpassung kompiliert. Um mit clang zu kompilieren, installieren Sie die Build-Abhängigkeiten mit den folgenden Befehlen.
apt install git zlib1g-dev make clang
Dann führen Sie aus
make static CC=clang
Sie können überprüfen, ob Sie eine statisch gelinkte OpenSSL-Version haben, indem Sie prüfen, ob die von sslscan --version aufgeführte Version das Suffix -static enthält.
Stellen Sie sicher, dass Ihre lokale Docker-Installation funktionsfähig ist, und bauen Sie den Container mit:
make docker
Oder manuell mit:
docker build -t sslscan:sslscan .
Sie können dann sslscan ausführen mit:
docker run --rm -ti sslscan:sslscan --help
Dank eines Patches von jtesta kann sslscan nun unter Windows kompiliert werden. Dies kann entweder nativ oder durch Cross-Kompilieren von Linux aus erfolgen. Siehe INSTALL für Anweisungen.
Beachten Sie, dass sslscan ursprünglich für Linux geschrieben wurde und nicht umfassend unter Windows getestet wurde. Daher sollte die Windows-Version als experimentell betrachtet werden.
Vorgefertigte cross-kompilierte Windows-Binaries sind auf der GitHub-Releases-Seite verfügbar.
Es gibt experimentelle Unterstützung für das statische Bauen unter macOS (früher OS X genannt), dies sollte jedoch als nicht unterstützt betrachtet werden. Möglicherweise müssen Sie alle Abhängigkeiten installieren, die zum Kompilieren von OpenSSL aus dem Quellcode unter macOS (früher OS X genannt) erforderlich sind. Sobald Sie dies getan haben, führen Sie einfach aus:
make static
Dies ist ein Fork von sslscan.c zur besseren Unterstützung von STARTTLS.
Die ursprüngliche Homepage von sslscan ist:
http://www.titania.co.uk
sslscan wurde ursprünglich geschrieben von:
Ian Ventura-Whiting
Die aktuelle Homepage dieses Forks (bis der Upstream einen fertigen Patch übernimmt) ist:
http://www.github.com/ioerror/sslscan
Der größte Teil des Pre-TLS-Protokoll-Setups wurde vom OpenSSL-Programm s_client.c inspiriert. Das Ziel dieses Forks ist es, schließlich mit dem ursprünglichen Projekt zu verschmelzen, nachdem das STARTTLS-Setup verfeinert wurde.
Ein Teil des OpenSSL-Setup-Codes wurde aus dem Tor-Programm des Tor-Projekts übernommen. Daher ist es wahrscheinlich angemessen, die BSD-Lizenz zu beachten, indem wir sagen:
Copyright (c) 2007-2010, The Tor Project, Inc.
--sleep hinzugefügt, um zwischen Anfragen zu pausieren.--no-preferred.--show-client-cas.--no-cipher-details.--cipher-details.--starttls-ldap.--sni-name (Dank an Ken).--iana-names--show-certificates