VNC KeyProtector

 

Wer häufig mit verschiedenen VNC-Verbindungen arbeitet sucht schnell nach einer Möglichkeit diese Verbindungen per Knopfdruck zu starten.

Als erster Ansatz bietet sich eine Batchdatei an. Mit diesem Script kann man die Vncviewer.exe mit Parametern starten - inclusive Passwort. Wenn eine verschlüsselte Verbindung gewünscht ist (UltraVNC - DSM-Plugin) muss zusätzlich die rc4.key Datei vorgehalten werden.

Leider steht das Passwort im Klartext in der Textdatei und auch die rc4.key Datei (DSM-Plugin) liegt ungeschützt auf dem PC. Wenn dieser von mehreren Personen gemeinsam genutzt wird, ist das ein Sicherheitsrisiko. Speichert man die Verbindungsdaten auf einen USB-Stick um sie immer dabei zu haben sollte man ihn nicht liegen oder unbeobachtet lassen. Die Dateien sind in Sekunden kopiert. Das notwendige ändern aller Passworte auf den Ziel-PCs und generieren neuer rc4.key Dateien in einem solchen Fall kostet viel Zeit. Im ungünstigsten Fall muss man alle PCs mit dem Auto abfahren.

Um diese Situation zu entschärfen habe ich den VNC Key Protector geschrieben.

 

 

Beim Start des Programms muss zunächst ein Masterpasswort eingegeben werden. Mit diesem Passwort werden alle Dateien/Daten verschlüsselt. Da Verschlüsselung ein schwieriges Thema ist benutze ich das externe Commandozeilentool Dlock2 von Michael Paul Johnson.

In der GUI können dann die wichtigsten Einstellungen für die VNC Verbindung vorgenommen werden. Der Pfad für die rc4.key Datei kann ebenfalls geladen werden. Nachdem man einen Profilnamen eingegeben hat speichert man das definierte Profil ab. Dabei werden die Einstellungen (INI-Datei), die rc4.key Datei und die Notizen (TXT-Datei) verschlüsselt und mit Profilkennung im Ordner 'ConnectionSafe' abgelegt.

Um ein gespeichertes Profil zu laden klickt man auf den [ Load... ] Button. Alle unter dem Profilnamen gespeicherten Daten werden dann in den Ordner 'OpenConnections\Profilname\' entschlüsselt und in die GUI geladen.

Über den [ Connect ] Button werden die Daten der GUI gelesen, zu einem Connection String verarbeitet und an die VNCviewer.exe zum Start weitergegeben. Nach dem Laden des Profils können also noch Einstellungen verändert werden.

Mit dem Beenden des Programms wird der komplette Ordner 'OpenConnections' gelöscht, so das nur noch die verschlüsselten Daten vorhanden sind. Sollte das Programm abstürzen (ist mir noch nicht passiert) genügt es also diesen Ordner manuell zu löschen.

Auch ein wechsel des Masterpasswortes ist möglich. Dazu startet man VNC Key Protector einfach mit einem neuen Masterpasswort und läd wie gewohnt ein Profil. Das Programm erkennt an einem Teststring das die Entschlüsselung fehl geschlagen ist und fragt nach einem neuen Passwort. Nun bitte das alte Masterpasswort eingeben. Jetzt wird das Profil sauber entschlüsselt und geladen. Ein erneutes Abspeichern verschlüsselt dann mit dem neuen Paswort.

  • Zu diesem Programm gehören neben der VNCkeyProtector.exe noch:
  • VNCviewer.exe (der eigentliche VNC-Viewer)
  • msrc4plugin_noreg.dsm (das verschlüsselungs Plugin)
  • dlock2.exe (das En-/Decrypt Tool)

Diese Dateien müssen in einen 'Bin' Unterordner kopiert werden. Sollten sie nicht vorhanden sein, legt VNC Key Protector diesen Ordner selbst an und kopiert die fehlenden Dateien hinein. Der erste Aufruf der VNCkeyProtector.exe richtet also alles notwendige selbst ein - ein aktualiseren der Dateien ist aber jederzeit möglich.

Verzeichnisbaum:

 .\
 | VNCkeyProtector.exe ; das Hauptprogramm
 +---ConnectionSafe ; Ordner mit verschlüsselten Dateien
 | profilename.vkn
 | profilename.vkd
 | profilename.vkk
 |
 +---Bin ; Ordner mit notwendigen Dateien
 | dlock2.exe
| msrc4plugin_noreg.dsm
| vncviewer.exe
|
\---OpenConnections ; Ordner mit entschlüsselten Dateien
\---profilename ; währen der Verbindung
profilename.ini ; der gesamte Ordner wird
rc4.key ; bei Programmende gelöscht
profilename.txt

Das Programm selbst ist mit AutoIt 3 geschrieben worden und der Quelltext liegt bei. Die Quellen der dlock2.exe habe ich ebenfalls in das Archiv mit aufgenommen damit sie nicht gesucht werden müssen. Wer den Compilierten Programmen nicht traut kann sie gerne selbst compilieren - und verbessern ;-)

Sourcecode: VNCKeyProtector.au3

AnhangGröße
VNCkeyProtector.zip1.17 MB