Zum Inhalt springen
Treten Sie dem Censys Community Forum bei: Verbinden, teilen und gedeihen! | Start hier
Blogs

CVE-2021-35211: SolarWinds Serv-U Aktive Ausnutzung

Was ist das Problem?

Am 9. Juli veröffentlichte SolarWinds ein Advisory für eine kritische Sicherheitslücke in Serv-U (CVE-2021-35211), die ihnen von Microsoft gemeldet wurde. Wie Microsoft in einem Blog-Post vom 13. Juli mitteilte, wird die Schwachstelle derzeit aktiv ausgenutzt. Die Schwachstelle befindet sich in der SSH-Komponente von Serv-U, die für sichere Übertragungen mittels SCP verwendet wird.

SolarWinds hat einen Hotfix für das Problem veröffentlicht, der für lizenzierte Kunden im Support-Portal verfügbar ist.

Eine Internet-Analyse

Censys kann über 8.300 vermeintliche SolarWinds SSH-Dienste sehen, die dem Internet ausgesetzt sind, basierend auf einem SSH-Banner-Fingerprint. Eine große Anzahl davon befindet sich in China und den USA:

Zum Zeitpunkt der Erstellung dieses Dokuments gehörten mehrere Dienste auch staatlichen und lokalen Behörden in den USA.

Gemeinsame Verschlüsselungsschlüssel für SSH

Bei der Untersuchung des Problems entdeckte Censys eine weitere Seltsamkeit mit Serv-U-Hosts: Sie weisen häufig denselben SSH-Hostschlüssel auf. Dies war zunächst verwirrend, da die Hosts über verschiedene Netzwerke verteilt sind (keine offensichtliche Gemeinsamkeit). Wenn Host-Schlüssel mit mehreren Entitäten ausgetauscht werden, sind sie effektiv öffentlich und ermöglichen es, sich als Server auszugeben. Ein realistischer Angriff ist schwer durchführbar, obwohl theoretisch jemand den SSH/SCP-Verkehr abfangen und entschlüsseln könnte, wenn er an einem privilegierten Ort im Netzwerk sitzt und eine Verbindung manipulieren kann.

Ein Censys Bericht von unserer Suchplattform zeigt, dass es viele Hosts gibt, die denselben Host-Schlüssel teilen, der zu einem Serv-U SSH-Banner passt:

Zum Zeitpunkt der Erstellung dieses Artikels teilen sich 4.344 Hosts im Internet denselben SSH-Hostschlüssel 53b8131ea00459671cf6ce1169a7c5bacec88ec76fa9b77fdc84bc26e8a1df2b. Dies ähnelt dem Western Digital-Problem, über das Censys zusammen mit Dan Goodin von Ars berichtet hat: Hosts, die dasselbe Verschlüsselungsmaterial verwenden, sind leichter zu identifizieren und laufen Gefahr, dass Informationen über die Leitung durchsickern.

Untersuchung der Gründe für die gemeinsame Nutzung von Schlüsseln

Um in diesem Fall zu verstehen, warum dies der Fall war, hat Censys eine Serv-U Testversion heruntergeladen und installiert und einen Blick auf den Inhalt der Installation geworfen. Wie sich herausstellte, gibt es ein Standardzertifikat und einen privaten Schlüssel, die mit dem Installationsprogramm geliefert werden und die in vielen Installationen auf der ganzen Welt verwendet zu werden scheinen. Wir können die sha256-Summe des Host-Schlüssels aus dem Standardzertifikat auslesen und diese überprüfen:

# pwd
/usr/local/Serv-U
# ls *.crt *.key
Serv-U-DefaultCertificate.crt  Serv-U-DefaultCertificate.key
# ssh-keygen -l -f /dev/stdin <<< $(ssh-keygen -i -m PKCS8 -f /dev/stdin <<< $(openssl x509 -pubkey -noout -in Serv-U-DefaultCertificate.crt)) | awk '{print $2 "="}' | cut -c 8- | base64 -d | xxd -p | tr -d '\n' && echo
e9d8efd43200bf3780c3bff6e45601e69f05089c93a1ff36fc2e552a5da3b935

Der Schlüssel e9d8efd43200bf3780c3bff6e45601e69f05089c93a1ff36fc2e552a5da3b935 erscheint in der obigen Tabelle als der am zweithäufigsten wiederverwendete Host-Schlüssel-Fingerprint. Zum Zeitpunkt der Erstellung dieses Artikels, Censys zeigt die Suche im SolarWinds Serv-U-Installationsprogramm 928 Geräte, die die aktuell ausgelieferten Host-Keys (nach Fingerprint) verwenden. Obwohl dies in erster Linie ein Problem der Benutzerkonfiguration ist, trägt SolarWinds eine gewisse Verantwortung und kann dieses Problem durch die Generierung neuer Zertifikate beim Start oder bei einer Neuinstallation lindern. Diese Zertifikate sind einfach selbstsigniert.

Wir können jedoch noch etwas tiefer gehen und die oben erwähnte SSH-Bannerkomponente bei der Suche nach offenen Serv-U-Hosts weglassen. Wenn wir dies tun und nur nach dem Fingerabdruck des Hostschlüssels suchen, finden wir viel mehr Hosts. Dies bedeutet, dass einige Hosts Serv-U in ihren Bannerinformationen versteckt haben. Diese Hosts antworten in der Regel mit einem Banner, das wie "SSH-2.0-2.0" aussieht, anstelle eines Banners, das "SSH-2.0-Serv-U_###" ähnelt (wobei ### eine Version ist). Beim Vergleich dieser Suche mit der vorherigen Suche fanden wir 1.311 Hosts, die die Versand-Host-Schlüssel verwenden, oder 383 zusätzliche Hosts, als wir zuvor gefunden hatten, als wir den Serv-U SSH-Banner-Filter einbezogen hatten.

Es ist mehr als nur SSH

Bei der Untersuchung der gemeinsam genutzten Host-Schlüssel haben wir uns entschlossen, etwas tiefer zu graben, um herauszufinden, ob es andere gemeinsam genutzte Dienste gibt, die das Zertifikat (.crt-Datei) ebenfalls verwenden. Wenn wir die Details dieses Zertifikats auslesen, erhalten wir interessante Informationen:

$ openssl x509 -noout -text -in Serv-U-DefaultCertificate.crt -fingerprint -sha256
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 0 (0x0)
        Signature Algorithm: sha1WithRSAEncryption
        Issuer: C = US, ST = WI, L = Helenville, O = "Rhino Software, Inc.", OU = Software Development, CN = ftp.Serv-U.com
        Validity
            Not Before: May 13 17:27:39 2020 GMT
            Not After : May 11 17:27:39 2030 GMT
        Subject: C = US, ST = WI, L = Helenville, O = "Rhino Software, Inc.", OU = Software Development, CN = ftp.Serv-U.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (2048 bit)
                Modulus:
                    00:b1:71:4f:17:61:bb:11:b2:91:94:24:96:6f:72:
                    89:8b:f5:eb:af:12:1a:a5:c1:35:d5:18:70:51:bc:
                    ae:6c:1c:71:8c:8e:3d:fb:71:e3:d2:c2:cc:79:52:
                    c6:05:2e:8a:aa:c8:a7:27:b9:ef:c6:93:ff:c1:53:
                    05:00:4a:2a:41:e1:36:8b:de:08:71:7b:aa:86:17:
                    f2:cd:27:92:a6:ac:69:ea:8c:f2:9c:92:b4:c3:7e:
                    ea:d3:d2:c7:20:0d:00:76:42:2f:66:8c:ae:ce:88:
                    51:6b:a4:d3:45:c5:e9:72:e9:d2:43:e7:dc:5e:15:
                    ad:6e:57:d9:54:ea:9e:df:ea:41:e7:5c:0f:64:c7:
                    9e:b5:62:48:48:4f:00:d6:bc:f3:93:3c:17:d8:c5:
                    3e:22:d5:a0:5e:66:74:be:9a:62:40:0a:a0:30:34:
                    04:c0:48:e8:c9:3d:76:81:87:f1:54:41:a3:d8:ba:
                    6d:5a:c6:b5:dc:ff:bb:46:04:1c:0d:df:35:d6:f1:
                    b9:c5:5b:a0:ee:4f:ca:3d:ef:0c:f2:fe:fe:f3:16:
                    0e:8e:a1:6f:f6:08:27:45:f3:5e:b6:16:52:b7:d7:
                    c8:0e:8a:d6:ec:48:b6:54:f7:d7:f9:b8:e2:f1:3f:
                    b5:77:d5:ab:00:04:45:7d:df:79:42:7b:31:7f:02:
                    3d:73
                Exponent: 65537 (0x10001)
    Signature Algorithm: sha1WithRSAEncryption
        5b:75:e7:49:03:35:f6:03:94:fc:d5:9d:81:a6:f3:12:8f:81:
        74:c8:89:7d:1f:f0:d2:ec:50:f2:b1:18:be:53:ea:68:9d:7f:
        63:29:56:4f:f3:12:23:15:da:52:ae:0d:e0:c1:e5:5c:c3:c4:
        56:df:4c:c0:56:5b:2b:02:b9:a5:93:bc:c3:7d:c9:74:1a:22:
        61:c3:42:42:62:ea:91:bc:81:5f:ee:8c:fc:18:bb:1a:d2:ea:
        06:9e:a7:e2:06:17:af:61:6e:57:7a:49:fd:a7:2b:38:b1:53:
        26:d1:be:9d:e8:f5:26:3c:fa:18:c6:2b:35:ee:b8:f5:a5:d0:
        97:86:cb:ff:17:40:38:9e:40:34:18:73:ff:7b:80:f9:69:64:
        03:f6:07:b9:4d:76:48:a6:aa:07:f5:ce:fb:cd:0d:e5:d5:7a:
        2c:94:8a:cf:b7:bc:0a:20:4c:da:72:db:a6:5b:ed:26:a0:c0:
        d7:0c:21:1c:0f:3e:80:96:e2:30:80:dd:9f:2b:b2:e2:63:a1:
        f4:83:02:b2:c6:4c:bd:58:a2:c0:55:68:99:26:c9:18:ab:79:
        bf:10:1b:06:37:9f:eb:e2:1d:9e:3c:5c:67:18:8f:56:65:6d:
        a3:fe:cd:fa:0d:7f:0d:69:67:ae:da:db:18:7b:58:49:5d:19:
        5f:3c:37:f9
SHA256 Fingerprint=C2:AE:DB:13:CC:A1:37:9A:F5:7C:4E:09:A8:7F:20:ED:34:69:49:20:34:A6:B8:A0:FB:8E:26:D0:44:80:84:79

Der eindeutige Fingerabdruck des Zertifikats sieht interessant aus. Können wir durch die Suche auf Censys weitere Dienste im Internet finden, die diesen Fingerabdruck aufweisen? Wie sich herausstellen sollte, können wir das. Bei der Suche nach dem Fingerabdruck des Zertifikats können wir 3.293 Hosts finden, die dieses Zertifikat für FTP, HTTP und SMTP verwenden. Dies sind zusätzliche Dienste, die Serv-U für die Übertragung nutzt, und sie sind alle ähnlich gefährdet.

Warum ist das wichtig?

Wenn Serv-Us SSH dem Internet ausgesetzt ist, können Angreifer bei erfolgreicher Ausnutzung aus der Ferne beliebigen Code mit Privilegien ausführen und Aktionen wie das Installieren und Ausführen bösartiger Nutzdaten oder das Anzeigen und Ändern von Daten durchführen", so Microsoft. Microsoft führt die aktive Ausnutzungskampagne auf eine Gruppe zurück, die als DEV-0322 bezeichnet wird und in China ansässig ist. Diese Gruppe hat es vor allem auf US-amerikanische Verteidigungs- und Softwareunternehmen abgesehen, heißt es in dem Blogbeitrag.

Es gibt Tausende von SolarWinds Serv-U Hosts, die dem Internet ausgesetzt sind. Diese Hosts sind leicht auffindbar, da sie alle gemeinsame Merkmale (Host-Schlüssel sowie Banner) aufweisen. Darüber hinaus bedeutet die Entdeckung der Tausenden von Standard-SSH-Schlüsseln, dass Tausende von Serv-U-Hosts eine schwache Verschlüsselung haben. Wie HD Moore es ausdrückte, "ist es an diesem Punkt im Grunde Telnet". Es ist klar, dass das von Microsoft gemeldete Problem weitreichende Auswirkungen hat, wenn man die Anzahl der öffentlich zugänglichen Serv-U-Hosts betrachtet. Ein Exploit wird unweigerlich auftauchen, wenn Forscher den Patch binär verbreiten, um zu sehen, was die SolarWinds-Forscher behoben haben. Es ist wichtig, dass Unternehmen dieses Problem schnell beheben, um eine Sicherheitslücke zu vermeiden, da Serv-U-Hosts leicht zu entdecken sind.

Was kann ich dagegen tun?

  • Wenden Sie 15.2.3 HF2 (Hotfix 2) über das SolarWinds-Kundenportal an (oder blockieren Sie den Internetzugang), um CVE-2021-35211 zu beseitigen.
  • Rollen Sie Ihre Verschlüsselungsschlüssel für Serv-U, wenn Sie das Standardzertifikat verwenden (hat nichts mit CVE-2021-35211 zu tun, ist aber eine gute Praxis, wenn Sie Standardschlüssel verwenden).
  • Führen Sie eine forensische Analyse auf jedem Serv-U-Host durch, der SSH für das Internet geöffnet hat.
  • Censys ASM kann Ihnen helfen, alle Hosts zu identifizieren, die das standardmäßige Serv-U FTP/HTTPS/SMTP-Zertifikat verwenden, und diese zu schließen. Darüber hinaus können Sie alle Hosts anzeigen, die SSH in Ihrer Umgebung ausführen, Serv-U identifizieren und jeden offenen Serv-U SSH/SCP-Dienst schließen. Die Censys ASM Software-Inventarisierung kann Ihnen auch helfen, Software in Ihrer Angriffsfläche zu identifizieren.

Ressourcen

Lösungen für das Management von Angriffsflächen
Mehr erfahren