asSecureString Übergabe an XenServer

asSecureString Übergabe an XenServer

Seit ein paar Tagen suche ich nach der Lösung dem XenServer ein Passwort zu übergeben welches ich vorab via Variable in einem PowerShell-Script abfrage.

Mein Problem war bis dato, dass ich mit dem Parameter -asSecureString zwar das Password wie gewollt unlesbar, da verschlüsselt wiedergegeben habe. Es wurde nicht nur optisch durch ***** ersetzt, sondern auch verschlüsselt in der Variablen gespeichert.

Gut für die Sicherheitsanforderungen! Schlecht für die geplante Übergabe an den XenServer, der verlangt nämlich ein Klartextpassword…

Folgende Möglichkeiten haben mich auf meiner suche begleitet:

Get-Credential hat das Password, wie auch bei – asSecureString verschlüsselt und nicht wieder im Klartext „freigegeben“.

Alternativ dazu gibt es die Möglichkeit dies mit der GetNetworkCredential() Methode anzugehen. Hierbei wird das Password dann in einer Tabelle im Klartext dem Usernamen zugeordnet.

Hierbei muss man allerdings ein wenig basteln um das Password als string (in Klartext) weiterverarbeiten zu können.

Nun bin ich bei meiner Suche auf folgenden Artikel gestoßen. Beschrieben wird eine „Sicherheitslücke“ in der Powershell:

http://www.leeholmes.com/blog/2007/01/25/powershell-credentials-and-getnetworkcredential/

Und dieser Hack hat mir eine einfache Möglichkeit geboten das Passwort verschlüsselt abzugreifen und innerhalb der Variablen kann ich das Passwort als Klartextwort.

Nun gilt es die Variable schnellstmöglich wieder, nach Gebrauch, zu löschen! Aber einen Tod muss man ja sterben… 😉

 

Kommentar verfassen

%d Bloggern gefällt das: