Skip to content

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.

chkservice - ein Tool um systemd Einheiten im Terminal zu verwalten

Vor Jahren hatte ich mal eine Infografik zu systemd und sys-v-init auf ITrig.
Seitdem hat sich viel getan, systemd ist auf dem Vormarsch und sys-v-init gerät ins Hintertreffen. Dienste bzw. Einheiten werden heute meistens mit systemctl verwaltet.

Doch wie lassen sich Einheiten mit mit systemd noch einfacher verwalten?
Ein Autostart mit systemctl enable xyz.service ist schnell gemacht, praktischer wäre allerdings eine Übersicht, ähnlich wie sie noch von sysv-rc-conf oder chkconfig bekannt ist.

chkservice

Chkservice

bietet dem Anwender genau diese umfassende Sicht auf alle systemrelevanten Dienste und ermöglicht deren schnelle Anpassung.
Der Systemmanager nutzt ncurses als Schnittstelle und erlaubt es Einheiten zu aktivieren, deaktivieren oder zu maskieren.

Chkservice installieren

Das Paket ist in Ubuntu 18.04 integriert und lässt sich fix installieren

sudo apt install chkservice

Chkservice verwenden

Die Bedienung ist ebenfalls leicht.

  • Die Navigation erfolgt über die Pfeiltasten.
  • Eine Einheit kann mit der Leertaste für den Bootvorgang aktiviert oder deaktiviert werden.
  • Start oder Stop lässt sich via s realisieren.
  • Mit der Taste r kann eine laufende Einheit neu geladen werden.
  • Das ? zeigt euch die Hilfe an.
  • Maskieren, quasi vollständig deaktivieren (/etc/systemd/system symbolic link to /dev/null) lässt sich über m bewerkstelligen.

chkservice-hilfe


Fazit

Wer mit dem Terminal weniger zurecht kommt, hat mit chkservice ein gutes Tool an der Hand, um sich einen Überblick zu verschaffen und Einstellungen vorzunehmen.
Allen anderen wird wohl systemctl list-units, systemctl disable xyz.service und Co weiterhin ausreichen.

Lösung: Firefox Fehler- sec_error_ocsp_future_response

Hin und wieder tauchen im Firefox "komische" Fehlermeldungen beim Aufrufen von Webseiten auf.

Da es durch die Zeitumstellung gerade ganz gut passt, gehe ich heute auf folgende Browser Fehlermeldung ein:

Secure Connection Failed

An error occurred during a connection to xyz.com. The OCSP response is not yet valid (contains a date in the future) Error code: SEC_ERROR_OCSP_FUTURE_RESPONSE

    The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
    Please contact the website owners to inform them of this problem. Alternatively, use the command found in the help menu to report this broken site.


Fehler: Gesicherte Verbindung fehlgeschlagen

Ein Fehler ist während einer Verbindung mit xyz.com aufgetreten. Die OCSP-Antwort ist noch nicht gültig (enthält ein Datum in der Zukunft). (Fehlercode: sec_error_ocsp_future_response)

     Die Website kann nicht angezeigt werden, da die Authentizität der erhaltenen Daten nicht verifiziert werden konnte.
     Kontaktieren Sie bitte den Inhaber der Website, um ihn über dieses Problem zu informieren.

 

Lösung sec_error_ocsp_future_response

Der Browser zeigt diesen Fehler beim Aufrufen einer Seite im Netz an, weil schlicht und einfach das Datum oder die Uhrzeit des Systems nicht stimmen.

Dies lässt sich bekanntermaßen einfach beheben.

Ein Aufrufen und Anpassen der Windows Zeit Einstellungen kann mit Start --> Ausführen --> ms-settings:dateandtime erfolgen.

Unter Ubuntu reicht ein sudo date --set="2019-10-27 19:35:59.990" auf der Konsole aus. Allerdings sollte hier ebenfalls an die BIOS Uhrzeit gedacht werden sudo hwclock --systohc.

Sec-error-ocsp-future-responseHelfen die richtigen Systemeinstellungen nicht dauerhaft, kann die BIOS Batterie eine Ursache sein und muss getauscht werden.

Es soll vorkommen, dass Zeiteinstellungen im System nicht angepasst werden dürfen.

Um Webseiten im Firefox dennoch aufrufen zu können, kann das bemängelte OCSP temporär abgeschaltet werden. Doch was ist das eigentlich?

OCSP Stapling

Die Wikipedia schreibt dazu:

Online Certificate Status Protocol stapling, formell bekannt als die TLS-Zertifikatsstatusabfrage-Erweiterung, ist ein alternativer Ansatz zum Online Certificate Status Protocol (OCSP) um den Gültigkeitsstatus von digitalen Zertifikaten nach X.509 zu prüfen.Es ermöglicht dem Zertifizierten, die Aufgabe der Zertifikatsvalidierung zu übernehmen, indem er eine von der Zertifizierungsstelle signierte OCSP-Antwort mit Zeitstempel an den ursprünglichen TLS-Handshake anhängt („stapling“). Dieses Verfahren verringert den Kommunikationsaufwand zwischen Clients und Zertifizierungsstellen deutlich.

OCSP Stapling im Firefox deaktivieren

Der oben erwähnte OCSP Aufruf kann im Firefox deaktiviert werden.

  1. Mozilla Firefox öffnen.
  2. In der Adressleiste about:config eingeben und Enter drücken.
  3. Nach security.ssl.enable_ocsp_stapling suchen.
  4. Den Wert auf false setzen.

PostgreSQL 12 und pgAdmin 4 unter Ubuntu installieren oder aktualisieren

Nach gut einem Jahr wurde vor wenigen Tagen die Version 12 der Datenbanklösung PostgreSQL veröffentlicht.

Das Release steht im Zeichen der Performance und bietet beispielsweise mit REINDEX CONCURRENTLY nun eine Möglichkeit Indizes im laufenden Betrieb ohne Einbußen zu erneuern.

Weitere Änderungen sind im Changelog zu finden. Dort finden sich zusätzlich Anweisungen, welche für die ein oder andere Migration relevant sein dürften.

postgres_logo

PostgreSQL 12 unter Ubuntu installieren

Bei der Aktualisierung der vorhandenen Version hat sich nicht allzu viel getan. Der Vorgang ist analog zu Version 11.
 

sudo sh -c  'echo "deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt update

sudo apt install postgresql-11

Nun kann überprüft werden, ob das System korrekt funktioniert. Dazu wird in die Postgres Console gewechselt.

sudo -u postgres psql

postgres=# \conninfo
You are connected to database "postgres" as user "postgres" via socket in "/var/run/postgresql" at port "5432".

postgresql12


PostgreSQL 11 auf PostgreSQL 12 aktualisieren

Nachdem die neueste Version installiert wurde, kann die alte im folgenden migriert werden.

Unbedingt eine Sicherung der vorhandenen Datenbanken machen.

pg_dumpall > /temp/sicherung

Noch einmal die Installationsinfos anzeigen lassen.

sudo pg_lsclusters

Ver Cluster Port Status Owner    Data directory              Log file
11  main    5432 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log

Sollte eine neue Version bereits installiert sein, muss diese zunächst gestoppt werden.

sudo pg_dropcluster 12 main --stop

Danach das alte Cluster migrieren.

sudo pg_upgradecluster 11 main

Sollte der Vorgang erfolgreich gewesen sein, kann das alte Cluster entfernt werden.

sudo pg_dropcluster 11 main


pgAdmin_4

pgAdmin 4 für PostgreSQL 12 installieren

Für viele bietet sich zur Verwaltung eine grafische Oberfläche an, hier kann der Quasistandard pgAdmin genutzt werden.

Das Tool hat sich in den letzten Jahren gut entwickelt und viele Kinderkrankheiten überwunden.

Das benötigte Repository ist durch die vorhergehende PostgreSQL Installation bereits vorhanden.

sudo apt install pgadmin4 pgadmin4-apache2

Das erste Paket installiert das Tool an sich, das zweite installiert das Webinterface dazu. Bei der Installation werden Mailadresse und Passwort abgefragt, dies wird später für den Login benötigt.

Die fertige Installation kann über den Browser aufgerufen werden.


http://localhost/pgadmin4/

 

GIMP wie Photoshop aussehen lassen

Im Bereich der digitalen Bildbearbeitung ist GIMP im FOSS Gebiet für viele das Tool der Wahl.
GIMP was für "GNU Image Manipulation Program" steht ist somit auf vielen privaten Rechnern als freies Bildbearbeitungsprogramm installiert.

Allerdings arbeiten viele beruflich mit Photoshop oder sind von Tutorials und Co die Adobe Oberfläche gewöhnt.
Glücklicherweise ist Gimp hier sehr flexibel und kann schnell auf einen anderen Look umgestellt werden.

GIMP Photoshop Theme installieren

Windows

1. GIMP beenden
2. CMD starten
3. cd C:\Users\x\AppData\Roaming\GIMP\
4. ren 2.10 2.10.backup
5. git clone https://github.com/BenShoeman/gimp-photoshop-profile
6. In den Einstellungen die Themes mit SegoeUI auswählen


Linux

1. GIMP beenden
2. Terminal starten
3. cd /.config/GIMP/
4. mv ~/.config/GIMP/2.10 ~/.config/GIMP/2.10.backup
5. git clone https://github.com/BenShoeman/gimp-photoshop-profile

Alternativ wurde ich auf Github noch auf anderer Seite fündig, allerdings ist das Repository schon 4 Jahre alt. Ausprobieren lässt es sich dennoch.

git clone --depth=1 https://github.com/doctormo/GimpPs.git .gimp-2.10

Vorher

gimp-dark-theme

Nachher

gimp-dark-Photoshop

Tastaturbefehle

Aussehen ist nicht alles, auch Tastaturbefehle sind vielen wichtig. Darum kann man diese ebenfalls herunterladen. Ich konnte die Funktionalität leider nicht überprüfen.

  1. Keybinds herunterladen http://epierce.freeshell.org/gimp/ps-menurc
  2. Unter Windows die Datei "C:\Users\name\AppData\Roaming\GIMP\2.10\menurc" ersetzen
  3. Unter Linux die Datei "~/.config/GIMP/2.10/menurc" ersetzen

Fazit

Letztendlich ist es Geschmackssache, ob und wie eine andere Oberfläche das Arbeiten vereinfacht. Ich werde bei der originalen GIMP Oberfläche bleiben und verbuche die Photoshop Oberfläche unter abgeschlossene Experimente.