seeseekey.net - Invictus Deus Ex Machina

Wenn man ein iOS-Gerät, welches über einen SIM-Karten-Slot verfügt, startet wird man aufgefordert die PIN zur Entsperrung einzugeben. Wenn man diesen Dialog abbricht, wird die SIM-Karte nicht aktiviert.

Flugmodus an/aus und schon kann die SIM-Karte entsperrt werden

Flugmodus an/aus und schon kann die SIM-Karte entsperrt werden

Möchte man das nun während der laufenden Sitzung nachholen, stellt sich die Frage wie man den Dialog wieder anzeigt. Als einfachen und schnellen Workaround kann man hierzu den Flugmodus aktivieren und wieder deaktivieren. Anschließend wird man vom System nach der PIN gefragt und kann diese nun eingeben. Auf dem iPhone kann alternativ die Telefon-App gestartet werden – auch dort wird man nach der PIN gefragt.

Ein normaler Internetnutzer verfügt viele unterschiedliche Logins zu verschiedenen Diensten wie z.B. Dropbox. Ab und an werden diese Dienste Opfer von Hacks oder anderen Datenlecks und Zugangsdaten wie Mailadressen und (meist gehashte) Passwörter verschwinden auf ungeklärte Weise.

Nun hat es Dropbox erwischt

Nun hat es Dropbox erwischt

Wenn man nun Wissen möchte ob er selbst betroffen ist, von einem solchen Hack kann dies auf der Webseite ‘;–have i been pwned? in Erfahrung bringen. Dabei gibt man dort eine Mailadresse ein – diese wird anschließend gegen die Datenbank des Service getestet. Ist man von einem Hack betroffen, sieht man dies anschließend. Daneben bietet die Webseite an proaktiv zu informieren, falls besagte Mailadresse von einem Hack verknüpfter Dienste betroffen ist. Natürlich muss man dafür seine Mailadresse dem Dienst anvertrauen 😉 Betrieben wird die Seite von Troy Hunt, einem Microsoft Regional Director.

Nach der Umstellung einer Webseiten auf HTTPS stand ich vor dem Problem das einige der Webseiten Warnungen bezüglich Mixed Content anzeigten. Mixed Content beschreibt dabei den Umstand das z.B. bei einer Seite welche mit HTTPS aufgerufen wird, weitere Inhalte per HTTP – also unverschlüsselt – nachgeladen werden.

Die Entwicklertools von Chrome

Die Entwicklertools von Chrome

Um den Mixed Content zu identifizieren können die Entwicklertools von Chrome genutzt werden. Wenn beim Laden einer Webseite die Console der Entwicklertools geöffnet ist erscheint dort eine entsprechende Meldung. Anschließend kann man sich des Problems annehmen.

Wenn unter CentOS der Dienst FirewallD aktiviert ist und man eine wie auch immer geartete Serverapplikation auf dem Server betreiben möchte, wird man feststellen das der Dienst von außen nicht zu erreichen ist. Die einfache wenn auch nicht zielführende Möglichkeit wäre es natürlich die Firewall komplett zu deaktivieren. Sinnvoller ist es hingegen den entsprechenden Port welcher benötigt wird freizuschalten. Dies geschieht dabei mit dem Kommando:

firewall-cmd --zone=public --add-port=1234/tcp --permanent

Damit wird der Port 1234, wenn er über TCP angesprochen wird, in der Zone Public freigeschaltet. Die aktiven Zonen auf dem System können dabei mittels:

firewall-cmd --get-active-zones

angezeigt werden. Die Änderung der Regel wird dabei nicht sofort übernommen. Stattdessen müssen die Einstellungen neu geladen werden:

firewall-cmd --reload

Der freie Browser Firefox kann (wie so ziemlich jeder Browser) Passwörter für Webseiten speichern. Dieser Passwörter werden dabei verschlüsselt in einer Datei gespeichert. Allerdings wird diese Datei automatisch entschlüsselt wenn Firefox läuft – was problematisch ist wenn andere Personen einen Zugang zum Rechner haben.

In den Einstellungen kann das Master-Passwort gesetzt werden

In den Einstellungen kann das Master-Passwort gesetzt werden

Möchte man hier Abhilfe schaffen, so kann man ein Master-Passwort definieren. Ohne dieses Passwort ist anschließend kein Zugriff mehr auf die Passwörter möglich. Um das Master-Passwort zu setzen müssen die Einstellungen und dort der Tab Sicherheit geöffnet werden. Sobald man dort Master-Passwort verwenden aktiviert ist, wird man nach dem gewünschten Master-Passwort gefragt. Ist das Master-Passwort gesetzt, wird man, sobald man das erste Mal in einer Sitzung auf den Passwortspeicher zugreifen möchte, nach dem Passwort gefragt. Für den Rest der Sitzung wird der Passwortspeicher schließlich offen gehalten.

Nach der Installation von Gogs läuft dieses standardmäßig über unverschlüsseltes HTTP. Um dies zu ändern muss die app.ini welche sich im Verzeichnis gogs/custom/conf/ befindet bearbeitet werden:

nano app.ini

In der Sektion Server welche für gewöhnlich so aussieht:

[server]
DOMAIN = example.org
HTTP_PORT = 3000
ROOT_URL = http://example.org:300/
DISABLE_SSH = false
SSH_PORT = 22
OFFLINE_MODE = false

müssen einige Änderungen vorgenommen werden. Die Schlüssel PROTOCOL, CERT_FILE und KEY_FILE werden hinzugefügt und die ROOT_URL angepasst. Danach sollte die Server-Sektion in etwa so aussehen:

[server]
DOMAIN = example.org
HTTP_PORT = 3000
PROTOCOL = https
ROOT_URL = https://example.org:300/
CERT_FILE = custom/https/cert.pem
KEY_FILE = custom/https/key.pem
DISABLE_SSH = false
SSH_PORT = 22
OFFLINE_MODE = false

Nachdem die Konfiguration gespeichert wurde muss das passende Zertifikat erzeugt werden:

cd custom
mkdir https
cd https
./gogs cert -ca=true -duration=8760h0m0s -host=example.org

Damit ist Gogs nach einem Neustart des Service per HTTPS und damit verschlüsselt erreichbar.

Bei KeePassX und 1Password handelt es sich um Passwortmanager mit welchem man die unterschiedlichsten Passwörter sinnvoll verwalten kann. KeePassX ist dabei eine Mac Variante des freien Passwortmanagers KeePass. Möchte man die Daten von KeePassX zu 1Password importieren, steht man vor dem Problem das die aktuelle Version 2 keine Exportfunktionen unterstützt.

1Password unter Mac OS X

1Password unter Mac OS X

Als Abhilfe kann man KeePass 2 nutzen und die Daten mit diesem in das KeePass XML Format exportieren. Der nächste Schritt besteht darin die entsprechende Konverterapplikation herunterzuladen. Diesen Konverter muss nach dem Download mit der exportieren XML-Datei gefüttert werden:

/usr/bin/perl5.16 convert_to_1p4.pl keepass2 -v /Users/seeseekey/Desktop/passwords.xml

Der Konverter erzeugt im gleichen Ordner eine 1P4_import.1pif-Datei als Ergebnis. Diese wiederum kann in 1Password importiert werden. Der direkte Aufruf der systemeigenen Perl-Installation verhindert das es zu Fehlern wie diesem kommt:

Can't locate Date/Calc.pm in @INC (@INC contains: /opt/local/lib/perl5/site_perl/5.16.3/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.16.3 /opt/local/lib/perl5/vendor_perl/5.16.3/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.16.3 /opt/local/lib/perl5/5.16.3/darwin-thread-multi-2level /opt/local/lib/perl5/5.16.3 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl .) at Utils/PIF.pm line 18.

In einem solchen Fall nutzt das System bei Eingabe des Kommandos perl eine alternative Version wie sie z.B. von MacPorts bereitgestellt wird.

Mit einer Zwei-Faktor-Authentifizierung ist ein Account im Falle eines Passwortverlustes geschützt, da ein zweiter Faktor benötigt wird. Auch GitHub unterstützt seit einiger Zeit eine solche Authentifizierung. Auf der entsprechenden Nutzerseite findet man den Punkt Enable two-factor authentification.

GitHub unterstützt zwei Varianten der Zwei-Faktor-Authentifizierung

GitHub unterstützt zwei Varianten der Zwei-Faktor-Authentifizierung

Nachdem diese Option ausgewählt wurde, muss sich entschieden werden, ob man die Authentifizierung per SMS oder entsprechender Authentifizierungsapp, wie dem Google Authenticator, einrichten möchte.

Preis: Kostenlos
Preis: Kostenlos

Bei der Einrichtung muss ein Sicherheitscode (nach der Einrichtung der App, bzw. per SMS zugesendet) eingeben werden, um die Zwei-Faktor-Authentifizierung zu aktivieren. Danach werden Recovery-Codes von GitHub angezeigt, welche unbedingt gesichert werden sollten, da mit diesen auch bei Verlust des Authentifizierungsgerätes ein Zugriff auf das GitHub-Konto erhält.

Beim sogenannten Certificate pinning werden Zertifikate, welche für die Verschlüsselung von Webseiten und anderen Diensten genutzt werden, lokal gespeichert. Dies hat den Vorteil, das dass Zertifikat nicht einfach unbemerkt durch ein anderes Zertifikat ausgetauscht werden kann und erschwert damit das abhören von SSL/TLS-Verbindungen.

Preis: Kostenlos

Leider ist diese Funktionalität in den gängigen Browsern nicht vorhanden. Mit dem Firefox-AddOn Certificate Patrol kann man ein solches Certificate pinning im Browser nachrüsten. Zertifikate müssen dabei einmalig akzeptiert werden – anschließend wird man informiert, wenn sich das Zertifikat ändert. Damit ist es für einen Angreifer wesentlich schwieriger geworden, dem Nutzer falsche Zertifikate unterzuschieben.