In diesem Artikel stelle ich ein selbst entwickeltes NSKek-Tool mit einer benutzerfreundlichen grafischen Oberfläche (GUI), vor. Damit erhalten Netscaler Administratoren eine intuitive Möglichkeit, Service-Passwörter sicher zu entschlüsseln, ohne tief in die technische Materie eintauchen zu müssen. Dieses Tool kombiniert klassische kryptografische Methoden – HMAC, AES-CBC und die dynamische Ableitung eines Key Encryption Keys (KEK).
In Zeiten, in denen Datensicherheit und einfache Handhabung Hand in Hand gehen müssen, spielt die zielgerichtete Entschlüsselung von sensiblen Informationen eine wichtige Rolle. Das vorgestellte NSKek-Tool bietet eine elegante Lösung: Es ermöglicht nicht nur das Entschlüsseln von Service-Passwörtern, sondern bietet auch eine grafische Oberfläche, über die Netscaler Administratoren ihre Schlüsseldateien einfach auswählen und verarbeiten können.
Was steckt hinter der Netscaler Credential Protection?
Netscaler Credential Protection hat einen zweigleisigen Ansatz:
- Wiederherstellbare Service-Passwörter: Diese werden durch reversible Verschlüsselung (z. B. AES-256-CBC) geschützt, wobei der KEK dynamisch aus Konfigurationsdateien abgeleitet wird – mithilfe eines HMAC, der zwei unterschiedliche Schlüsselbereiche kombiniert.
- Nicht-wiederherstellbare Administrator-Passwörter: Diese werden mittels starker, einseitiger Hashmechanismen (wie PBKDF2-HMAC-SHA256) gesichert, sodass eine Wiederherstellung des Klartext-Passworts nicht möglich ist.
Dieser Mix aus dynamischer Schlüsselverwaltung und differenzierter Passwortabsicherung sorgt dafür, dass selbst bei einem partiellen Zugriff auf Konfigurationen die eigentlichen Zugangsdaten geschützt bleiben. Die zentrale Idee besteht darin, dass auch wenn die internen Abläufe bekannt sind, das System durch den geheimen, dynamisch generierten KEK sicher bleibt.
Ein praktisches Tool zur Service-Passwort-Entschlüsselung
Aufbauend auf diesen Ideen habe ich ein Tool entwickelt, mit dem man sensible Service-Passwörter entschlüsseln kann.
Hier der zentrale Aspekt des NSKek-Tools:
Schlüsselableitung mittels HMAC und Datei-Parsing
Das NSKek-Tool verwendet zwei Schlüsseldateien vom Netscaler – bezeichnet als F1 und F2 –, aus denen jeweils ein bestimmter Teil extrahiert wird. Anhand der Byte-Abschnitte (zum Beispiel von Position 33 bis 65 in F1 und 35 bis 67 in F2) wird jeweils ein Schlüsselmaterial eingelesen. Anschließend wird mit HMAC-SHA256 ein dynamischer Key Encryption Key (KEK) berechnet. Mit beiden Schlüsseldateien F1 und F2 sowie dem Hash Key ermöglicht dieses Tool auch Administratoren ohne tiefe Fachkenntnisse den sicheren Zugriff auf ihre Netscaler Service-Passwörter.
Aufbau und Funktionalität des Tools
Als Beispiel verwenden wir einen Radius Loadbalancer und möchten wissen, wie das Service-Passwort lautet. Das kann verschiedene Gründe haben, z.B. um zu überprüfen, ob das Passwort eine entsprechende Komplexität hat und den Richtlinien des Unternehmens entspricht oder einfach weil niemand das Passwort kennt und es möglicherweise noch in anderen Systemen verwendet wird. Wie bereits erläutert, werden für die Entschlüsselung drei Komponenten benötigt: der F1 und F2 Key sowie der Hash, den der Radius Loadbalancer verwendet. Die Keys finden wir auf dem Netscaler unter "nsconfig\keys
" oder "nsconfig\keys\updated
" und nun fehlt uns nur noch der Hashwert. Für diesen suchen wir in der ns.conf
nach dem Loadbalancer und finden z.B. Folgendes:
Damit ist der Hashwert: 00795842f27593df0e279e850cca4a4efc8a4353cc9188136ddd957227c90355 und die Keys lauten F1_2023_10_16_05_41_44.key und F2_2023_10_16_05_41_44.key, was ggf. notwendig ist, sollten auf dem Netscaler mehrere Keys vorhanden sein. Mit diesen Informationen füttern wir das NSKek-Tool:
Sind die Werte alle korrekt, dann erhalten wir das Service-Passwort in Klartext, zusätzlich Zeichen können am Ende auftreten und ist ein bekanntes Problem.
Download von Github
Fazit
Mein NSKek-Tool zur Entschlüsselung von Netscaler Service-Passwörtern orientiert sich an diesen Best Practices: Es kombiniert HMAC-basierte Schlüsselableitung, AES-Entschlüsselung und eine intuitive GUI, um den Netscaler Administratoren einen sicheren und leicht bedienbaren Zugang zu sensiblen Daten zu ermöglichen.