Kali Performance in Hyper-V

Kali, Ubuntu usw... Alle haben ein großes GUI Performance Problem in einer Hyper-V Umgebung mit einem Windows Hostsystem.

> <

Einleitung


Wir sind schizophren!


Zum einen bauen wir auf der einen Seite etwas auf, und versuchen es danach mutwillig wieder kaputt zu bekommen. Primär sind wir Anwendungsentwickler, aber die Security ist ein extrem wichtiger Bestandteil unseres QA (Quality Assurance) Prozesses und d.h. die von uns entwickelten Anwendungen werden vorm Release von uns auf Herz und Nieren durch intensive Funktions und Sicherheitstests geprüft.

Das bedeutet natürlich auch Besonderheiten bei unseren Arbeitsmitteln. Vor vielen Jahren musste man noch mit 2 Rechnern arbeiten: ein Windows Gerät zu entwickeln und auf dem 2. Gerät wird alles rund um Security oder Plattform spezifische Tests abgewickelt. Das ist unterwegs, auch mit Laptops, nur bedingt praktikabel.  

Daher nutzen wir intensiv virtuelle Umgebungen um die verschiedenen Systeme möglichst Effizient auf wenig Rechnern betreiben zu können. Hier kommen wir nun zu einem größerem Problem, die Performance wenn es um graphische Anwendungen geht. Unsere Security Tests sind auch ohne graphische Oberfläche möglich, jedoch erfordern Funktionstests von auf Linux basierten Anwendungen mit GUI die Ausführung einer Desktop Umgebung wie Gnome oder Xfce. Auf Windows steht zum aktuellen Zeitpunkt (02/2020) zwar die WSL1 zur Verfügung, in welcher es auch möglich ist, Xfce zu betreiben - dies ist aber zum aktuellen Zeitpunkt ganz und gar nicht empfehlenswert. Zudem unterstützt die WSL1 nicht alle Linux Calls womit vor allem intensivere Netzwerk Todos schlicht nicht möglich sind. 

Auf Windows Systemen führt für uns daher derzeit kein Weg an einer Virtualisierung von Linux vorbei. Zurück zum Thema, Performance.

Das Problem


Die Lieblings Linux Distribution ist schnell in einer Hyper-V VM installiert, nur fühlt es sich danach alles andere als sinnvoll nutzbar an. Es ist extrem langsam und eingeschränkt. Die Auflösung ist auf 1920x1080 beschränkt (und auch dies erfordert einiges an Umstellungen) und die UI Performance ist ... unterirdisch. 

Die Lösung


Zuerst ist es erforderlich, die Linux VM Tools zu installieren

 git clone https://github.com/mimura1133/linux-vm-tools chmod 555 linux-vm-tools/kali/2020.x/install.sh sudo linux-vm-tools/kali/2020.x/install.sh 

Damit wird u.A. auch xrdp installiert. Der nächste Schritt ist das aktivieren von HVSocket für die betroffene Linux VM. Dafür muss eine Powershell als Administrator ausgeführt werden und der folgende Befehl eingegeben werden:

 Set-VM "Name der VM" -EnhancedSessionTransportType HVSocket 

Nach einem Neustart der VM wird man statt vom Xfce oder Gnome Login, von einem nicht so hübschen, Windows 2000 Style Login Dialog begrüßt. Aber nach dem einloggen darf man erstmal die gewünschte Auflösung aussuchen (dies war vorher auf 1920x1080 beschränkt, jetzt ist alles möglich) und man merkt einen extrem spürbaren Performance zuwachs. Natürlich noch nicht wie auf einem nativen Gerät, aber nun praktikabel nutzbar. 


  • 04.04.2020 15:52:37