Artikel mit Tag wsl

Ubuntu 20.04 LTS für Windows 10 über Microsoft Store installieren

Diese Woche wurde bekanntlich eine neue Ubuntu LTS Edition veröffentlicht.

Für manche schnelle Teststellungen ist Ubuntu unter Windows eine recht praktische Option. Nun wurde mit Zuge des neuen Ubuntu 20.04, die Windows Variante im Store veröffentlicht.

Installieren lässt sie sich auf die altbekannte Weise:

WSL über die Powershell Konsole aktivieren, Windows Store öffnen und herunterladen.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

ubuntu20.04-windowsDanach könnt ihr die Ubuntu Konsole direkt über CMD oder Powershell öffnen, dazu muss "wsl" eingegeben werden.

wsl-befehleMit dem Befehl "wsl --list" können die installierten Varianten aufgelistet werden.

Mit "setdefault" kann auf die neue Version gewechselt werden.

wsl -s Ubuntu-20.04

In Place Upgrade auf Ubuntu 20.04 LTS

Wsl unterstützt angeblich ein direktes Update auf die neue Version, dies geschieht mit "do-release-upgrade". Da aber momentan die Update Version 20.04.1 LTS noch nicht verfügbar ist, muss der Parameter "d" angehangen werden.

do-release-upgrade -d

In meiner Teststellung wollte dies nicht sofort gelingen.

Nach einer sauberen Neuinstallation mit "wsl --unregister Ubuntu-18.04" startete die Updateprozedur zumindest.

Der nächste Fehler lies nicht lange auf sich warten.

Progress: [ 61%]
Checking for services that may need to be restarted...
Checking init scripts...
Restarting services possibly affected by the upgrade:
  cron: restarting...done.
  rsync: restarting...done.
  atd: restarting...done.

Services restarted successfully.
sleep: cannot read realtime clock: Invalid argument
dpkg: error processing package libc6:amd64 (--configure):
 installed libc6:amd64 package post-installation script subprocess returned error exit status 1
Exception during pm.DoInstall():  E:Sub-process /usr/bin/dpkg returned an error code (1)

*** Send problem report to the developers?

Abhilfe schaffte hier temporär folgendes:

sudo mv /bin/sleep /bin/sleep_old 
sudo touch /bin/sleep 
sudo chmod +x /bin/sleep
sudo apt --fix-broken install
sudo apt dist-upgrade

Danach wurden allerdings weitere Fehler geworfen, die mit mehrfachen "apt dist-upgrade" gelöst werden konnten.

Schlussendlich war dies ein netter Versuch, aber praktikabel ist das direkte Upgrade nicht unbedingt.

Nun heißt es warten auf WSL2, welches in Windows 10, Version 2004 enthalten sein soll und bereits in den Startlöchern steht.

KeePass oder KeePassX Datenbank Passwort auf Sicherheit testen

Heute will ich mich dem Thema Passwortsicherheit widmen.

Passwörter verwaltet der Kenner nicht nur im Browser oder in der Cloud, sondern im Idealfall lokal.

Unter Windows kommt hier oft KeePass zum Einsatz, unter Ubuntu Desktop häufig KeePassX. Hierbei handelt es sich um Programme zur Kennwortverwaltung.
Beide Tools sichern den Passworttresor mit einem Masterpasswort, welches der Nutzer selbst vergeben kann.

hashcat-keepass-pw

Ich will hier kurz demonstrieren, wie dieses Hauptpasswort auf Sicherheit getestet werden kann. Immerhin enthält es im Normalfall alle eure Zugangsdaten.

KeePass oder KeePassX Passwort knacken ?!

Für das Testen der Passwortsicherheit werden relativ wenige Tools benötigt, eines davon ist Hashcat, welches unter Ubuntu in den Repositories enthalten ist.

Da ich gerade kein funktionales Ubuntu zur Hand habe, sondern unter Windows arbeite, verwende ich einfach das Windows Subsystem for Linux. Dieses kann über die Windows Powershell installiert werden.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Danach kann Hashcat direkt über die Ubuntu Konsole installiert werden. Da für diesen Test nicht die allerneueste Version benötigt wird, kann die Version aus dem Paketmanager installiert werden.

sudo apt-get install hashcat

Nach der Installation lässt sich prüfen, wie hashcat auf eurem Rechner performed.

sudo hashcat --benchmark

hashcat-keepassSollte es zu Fehler kommen, kann ein weiterer Parameter angehangen werden und ihr erhaltet die erwartete Hashrate zum "Knacken" des Passworts.

sudo hashcat --benchmark --force

Eine leistungsstarke Nvidia Grafikkarte ist von Vorteil.

Nachdem dies erledigt ist, wird der Hash des Masterpassworts der KeePass Datenbank benötigt. Dafür gibt es einige Scripte, ich habe mich für keepass2john.py entschieden.

Da ich den Test unter Windows Wsl mache, platziere ich dieses Script und die dazugehörige KDBX Datenbank unter \\wsl$\Ubuntu-18.04\home\profilname und kann somit über Windows unter Ubuntu darauf zugreifen.

Das Script wird nun wie folgt ausgeführt

python keepass2john.py database.kdbx

Ihr erhaltet einen Hashwert, welcher noch etwas nachbearbeitet werden sollte.

Database:$keepass$*2*60000*222*1fa5e92ef046202f54d3a675466be38fb61cdaff21ab367a170eadf4e8f378ae0ee4c1f175

Der Text hinter Database: "$keepass$*2*60000*222*1fa5e92efa4...." wird nun in eine Textdatei keepass.txt kopiert, um sie weiterverarbeiten zu können.

Im nächsten Schritt kann mit Hashcat quasi das Passwort erraten werden, allerdings muss zunächst die richtige Methode gewählt und eine Wortliste besorgt werden. Hashcat bringt bereits die gängigsten Methoden mit, diese müssen nur angegeben werden.

hashcat --help | grep -i "KeePass"
    13400 | KeePass 1 (AES/Twofish) and KeePass 2 (AES)      | Password Managers

   
Im letzten Schritt wird nun eine Passwortliste benötigt, welche für das "Durchprobieren" von Passwörtern verwendet wird.

wget hxxp://downloads.skullsecurity.org/passwords/rockyou.txt.bz2
bunzip2 rockyou.txt.bz2

Die RockYou Liste ist eine bekannte Liste aus dem Jahr 2009 mit ca. 32 Millionen unverschlüsselten Passwörtern.

hashcat

Der Vorgang kann jetzt endgültig gestartet werden.

Der Startbefehl besteht aus Methode (KeePass) und Angriffsmodus (0 -> Wörterbuch)
 

sudo hashcat --force -a 0 -m 13400 keepass.txt rockyou.txt

    Dictionary cache built:
    * Filename..: rockyou.txt
    * Passwords.: 14344391
    * Bytes.....: 139921497
    * Keyspace..: 14344384
    * Runtime...: 2 secs

    - Device #1: autotuned kernel-accel to 128
    - Device #1: autotuned kernel-loops to 256
    [s]tatus [p]ause [r]esume [b]ypass [c]heckpoint [q]uit => [s]tatus [p]ause [r]esume [b]ypass [c]heckpoint [q]uit =>

Mit der "Taste s" kann jederzeit der aktuelle Status abgerufen werden.

    Session..........: hashcat
    Status...........: Running
    Hash.Type........: KeePass 1 (AES/Twofish) and KeePass 2 (AES)
    Hash.Target......: $keepass$*2*60000*222*1fa5e92efa4e5597faf8204900122...c1f175
    Time.Started.....: Fri Mar 20 12:04:53 2020 (49 secs)
    Time.Estimated...: Sat Mar 21 06:51:14 2020 (18 hours, 45 mins)
    Guess.Base.......: File (rockyou.txt)
    Guess.Queue......: 1/1 (100.00%)
    Speed.Dev.#1.....:      212 H/s (10.04ms)
    Recovered........: 0/1 (0.00%) Digests, 0/1 (0.00%) Salts
    Progress.........: 10240/14344384 (0.07%)
    Rejected.........: 0/10240 (0.00%)
    Restore.Point....: 10240/14344384 (0.07%)
    Candidates.#1....: vivien -> bimbim
    HWMon.Dev.#1.....: N/A

   
Nun heißt es warten, je nach Leistung der CPU oder GPU kann dies dauern. Da aber viele gerade massig Zeit zur Verfügung haben, sollte dies kein Problem sein.

Gerne könnt ihr weitere Methoden ausprobieren oder andere Listen verwenden, da habt ihr freie Wahl. Im Hashcat Wiki findet ihr jede Menge Anleitungen zu dieser Thematik.