Cisco VPN-Client Passwort-Verschleierung

  • Der eine oder andere hier hat es ja schon mitgekriegt, um mich an die ETHZ einwählen zu können, muss ich auf die VPN-Lösung von Cisco setzen.

    Dessen Client kann die Passwörter in den Profilen verschleiert abspeichern - diese "Verschlüsselung" wurde, da sie ohne Benutzereingaben funktioniert, dementsprechend bereits 2005 geknackt. Die quelloffene, kompatible Alternative zum proprietären Cisco-Client - vpnc - kann daher bereits seit längerem solche verschleierten Passwörter auslesen.

    heise online - 16.10.05 - Ciscos VPN-Client-Passwörter entschlüsselt
    Cisco Password Enc. at EvilScientists

    Online-Entschlüsselung:
    cisco vpnclient password decoder

    Aufruf:

    Code
    $ ./cisco-encrypt "Geheimes Passwort"
    48ECCEADBF730C100FB0488AF9D8B02B47C4669421E16B607A1D4E415F9703CBF272008D459B2EC02BC966C03653866158099E8806D76442EDA1DFFCA267B755

    (diesen Code könnt ihr z.B. in obigem Online-Decoder wieder entschlüsseln).

    Leider kann der quelloffene Client die Passwörter nur entschleiern, und nicht verschleiern. Natürlich bietet Verschleiern kaum Sicherheit, ist aber immer noch besser als direkt im Klartext abspeichern. Deswegen habe ich kurzerhand den Verschleierungsmechanismus von Cisco (welcher zwar bekannt ist, aber nicht in Codeform darliegt) in C nachprogrammiert, das Ergebnis seht ihr nun hier:

    Quelltext:

    Spoiler anzeigen

    Quelltext-Download:
    cisco-encrypt.c (3,58 KB)

    Anweisung zum Kompilieren steht im Quelltext, benötigt wird die libgcrypt (und deren Header, also auch libgcrypt-dev) für SHA1 und 3DES. Das ganze steht unter der GPL, weil ich mich ja am Entschlüsselungs-Programm orientieren musste und das unter der GPL steht.

  • Was machst du denn?

    Also wie gesagt, dsa Zeugs hier ist für den freien Unix-Client. Unter Windows wirst du für mein Programm wenig Nutzen haben, für vpnc empfehle ich folgende Anleitung:

    https://www.tux.ethz.ch/wiki/index.php…ugang_mit_Linux

    Und dann in die Konfigurationsdatei zusätzlich noch diese Zeile (den Hex-String natürlich anpassen):

    Code
    Xauth obfuscated password 48ECCEADBF730C100FB0488AF9D8B02B47C4669421E16B607A1D4E415F9703CBF272008D459B2EC02BC966C03653866158099E8806D76442EDA1DFFCA267B755

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!