In der dritten Woche der Blog-Serie, in der wir verschiedene Hacker-Tools vorstellen, befinden wir uns noch in der Reconnaissance-Phase, in der der Angreifer möglichst viele Infos über die Ziele sammelt. Das Pentest-Tool #3 ist SSLScan. Dieser Scanner gibt eine schnelle Auskunft darüber, welche Verschlüsselungsverfahren auf dem gescannten Server eingesetzt werden. So kann schnell festgestellt werden ob sich die verschlüsselte Verbindung noch auf dem aktuellen Sicherheitsstandard befindet.
Pentest-Tool #3 SSLScan
Über die SSL/TLS-Verschlüsselung haben wir in der Vergangenheit bereits eine Blog-Reihe veröffentlicht, die die Geschichte dieser Verschlüsselung ausführlich beschreibt. TLS sorgt dafür, dass wir heutzutage sensible Aktivitäten, wie bspw. Online-Banking, sicher über das Internet durchführen können.
Für diese sichere Verbindung wird zwischen dem Client und dem Server eine sogenannte Cipher Suite ausgehandelt. In dieser Cipher Suite sind die ausgehandelten Algorithmen und Verschlüsselungen festgelegt, die für die Kommunikation zwischen dem Client und dem Server vereinbart wurden. Die Ergebnisse dieser Verhandlung sollten im besten Fall stets die aktuellen Verschlüsselungen enthalten.
Ob ein Server teilweise noch ältere Verschlüsselungsmethoden akzeptiert und dadurch eine eher unsichere Verbindung aufbauen würde, kann schnell mit unserem Pentest-Tool #3 SSLScan geprüft werden.
SSLScan verhandelt mehrmals mit dem eingegebenen Server und gibt anschließend aus, welche Verschlüsselungen von dem Server für die Cipher Suite akzeptiert werden und welche nicht. Durch diesen Scan haben bspw. System-Administratoren einen schnellen Überblick, welche Server überarbeitet werden müssen und welche sich auf dem aktuellen Sicherheitsstand befinden.
SSLScan in der Praxis
Wie bspw. unser Pentest-Tool #1 dirbuster, ist SSLScan bereits in Kali Linux integriert. Durch einen einfachen Befehl im Terminal können wir SSLScan starten und eine Domain bzw. eine IP-Adresse des Servers angeben, der von SSLScan getestet werden soll. Mit dem Befehl “sslscan –help” erhalten wir eine Ausgabe im Terminal mit detaillierten Erklärungen zu einzelnen Einstellungsmöglichkeiten für den SSLScanner.
In unserem Beispiel testen wir den Webserver von dem Institut für Internet-Sicherheit an der Westfälischen Hochschule. Die Domain hierzu lautet: “https://internet-sicherheit.de”. Um nun den SSLScan auf diese Domain zu starten geben wir “sslscan https://internet-sicherheit.de” in das Terminal ein. Anschließend startet der Scan und gibt uns im Terminal die Ergebnisse aus, welche Verschlüsselungen von dem Webserver akzeptiert werden. Die dargestellten Farben zeigen schnell, dass viele Konfigurationen mit grün, also sicher dargestellt werden. Aber auch die ein oder andere gelbe Konfiguration ist dargestellt, diese sollten vom dem Server-Administrator angepasst werden.
Geschichte des Pentest-Tool #3 SSLScan
Die erste Version eines SSLScanner wurde von Ian Ventura-Whiting auf der Webseite von titania veröffentlicht. Diese Version wurde von anderen Entwicklern weiterentwickelt. Mit der Version 2.0 kamen einige Änderungen zu der ersten Version hinzu, unter anderem konnten nun TLS 1.2 und TLS 1.3 ohne jegliche OS-Bindungen gescannt werden.
Wie viele andere Pentest-Tools ist auch SSLScan Open Source, dass heißt der Quellcode ist öffentlich und kann von jedem eingesehen bzw. weiterentwickelt werden. Das Repository von der Version 2.0 ist wie viele andere Programme auf der Plattform GitHub zugänglich.
Die aktuelle Version wurde ebenfalls von einem anderen Entwickler weiterentwickelt. Der GitHub-Nutzer mit dem Namen DinoTools hat die Version 2.0 weiterentwickelt und bspw. IPv4 und IPv6 implementiert. Diese Version ist ebenfalls auf GitHub veröffentlicht und referenziert auf die vorherigen Versionen. Wer also einen genaueren Überblick über den Verlauf dieses Pentest-Tools erhalten möchte, sollte in öffentlichen Repositorys nachforschen, die in diesem Beitrag verlinkt sind.