Ohne diesen Schlüssel funktioniert weder der OpenVPN-Client noch die eingebaute Spyware.
Leider war es den ESET-Forschern nicht möglich, einen solchen Schlüssel zu erhalten, um die Aktivität der Malware genauer zu untersuchen.
Der hier genannte Schlüssel ist der Anteil eines benutzerdefinierten (bahamut) Post-Auth-Skripts mit dem Parameter AUTH_NULL als zusätzlichen Schritt bei der Benutzerauthentifizierung für den OpenVPN-Zugriffsserver.
Mit Access Server richtest du die Benutzerauthentifizierung in der Admin-Web-Benutzeroberfläche für lokale Authentifizierung oder externe Authentifizierung mit LDAP, RADIUS, SAML oder PAM ein. Wenn du dann dein benutzerdefiniertes Python-Skript mit einem Post-Auth-Authentifizierungs-Hook hinzufügst, wird es während einer Authentifizierungssitzung ausgeführt:
- Ein Benutzer meldet sich mit der Standardauthentifizierungsmethode (lokal, LDAP, RADIUS, SAML oder PAM) bei deinem Zugriffsserver an.
- Der Authentifizierungsversuch ist erfolgreich.
- Das Post-Auth-Skript wird ausgeführt.
- Das Post-Auth-Skript hat das Recht, die Authentifizierung basierend auf zusätzlichen Authentifizierungsanforderungen zu blockieren oder zuzulassen.
Eine dieser zusätzlichen Authentifizierungsanforderungen kann den Parameter AUTH_NULL für dein benutzerdefiniertes Authentifizierungssystem verwenden. Der AUTH_NULL-Parameter:
- Deaktiviert die integrierten primären Authentifizierungsmethoden – was bedeutet, dass der Zugriffsserver alle Benutzernamen- und Kennwortkombinationen akzeptiert.
- Access Server übergibt die Benutzernamen und Passwörter direkt an das Post-Auth-Skript.
- Das Skript übernimmt die volle Verantwortung für die Authentifizierung.
Richte eine benutzerdefinierte Authentifizierung ein:
Sobald du AUTH_NULL in deinem Skript verwendest, mußt du den Anmeldeinformationsschritt oder authcred konfigurieren . AUTH_NULL deaktiviert die primäre Authentifizierungsmethode, sodass du diese durch deine benutzerdefinierte Methode ersetzen kannst!
Standardmäßig implementiert das Skript eine grundlegende Prüfung. Untersuche die Datei, um festzustellen, welche Anmeldeinformationen zum Herstellen einer Verbindung zulässig sind. Mit Python kannst du dieses benutzerdefinierte Skript weiter ausbauen, um es mit externen Datenbanken oder Prozessen zu verbinden, die zur Überprüfung der Authentifizierung aufgerufen werden können.
Hinter dem openVPN Access Server, wo z.B. dann ein Firmen-Intranet im legalen Fall auf den authentifizierten User wartet, werden dann wohl die speziell präparierten „bahamut-Server“ stehen, auf die der ahnungslose Nutzer dann umgeleitet wird.
Also ist der openVPN Access Server und dieser ominöse Schlüssel (als Teil der Opfer-Authentifizierung) nur dafür da, ausgewählte Opfer den Access Server passieren zu lassen.
Andererseits kann man mittels AUTH_NULL in minutenschnelle den Server so umstellen, dass er Hans und Franz reinlässt…
Weitere Infos → https://openvpn.net/vpn-server-resources/how-to-configure-the-openvpn-access-server/
Es sollte nun einleuchten, wieso ESET nicht mal eben so an solch einen Key herankommt !! Denn wenn das so easy-peasy wäre, hätte sich „bahamut“ den ganzen Rotz nämlich einfach sparen können !!