2019-06-05 von Mario
Nach der Installation eines frischen Ubuntu 18.04 benötigt der Bootvorgang plötzlich sehr viel Zeit und ist sehr langsam. Für eine Analyse kann das Tool „systemd-analyze“ eingesetzt werden. Dieser wird bei „systemd“ mitgeliefert. Systemd ist ein Daemon, der das System startet und managt.
1 | systemd-analyze plot > analyze_boot_time.svg
|
Der Tool „systemd-analyse“ erstellt eine SVG-Grafik, in der angegeben ist, welche Systemdienste zu welcher Zeit gestartet wurden. Die SVG Datei kann mit einem Browser geöffnet werden.
Analyse

Nach kurzer Suche, weiter unten in dem Bild, ist das verantwortliche Programm für das langsame Booten identifiziert (apt-daily.service).

Der Service „apt-daily.service“ ist für das Laden von Updates verantwortlich. Dies ist an sich kein Problem, doch der Service sollte erst nach dem vollständigen Bootvorgang laufen. Weiterhin wäre es wünschenswert, wenn der Service nicht gleich nach dem Login Systemressourcen verbraucht, weil Updates installiert werden…
Abhilfe
Mit dem folgenden Befehl kann die Konfiguration des Service geändert werden:
1 | sudo systemctl edit apt-daily.timer
|
Die nachfolgenden Zeilen in die Datei einfügen und speichern.
1 2 3 4 5 6 | [Timer]
OnBootSec=15min
OnUnitActiveSec=1d
AccuracySec=1h
RandomizedDelaySec=30min
|
Durch die Konfiguration wird der Timer geändert und die Ausführung erfolgt anhand der gesetzten Parameter.
Parameter |
Beschreibung |
OnBootSec=15min |
Ausführung nach 15 min. nach dem Bootvorgang |
OnUnitActiveSec=1d |
Ausführung einmal täglich |
AccuracySec=1h |
Startet den Prozess innerhalb einer Stunde |
RandomizedDelaySec=30min |
Fügt eine zufällige Verzögerung von bis zu 30 Minuten hinzu |
Quellen
https://askubuntu.com/questions/800479/ubuntu-16-04-slow-boot-apt-daily-service
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1615482
2019-06-02 von Mario
Um die klassische Oberfläche von Gnome zu verwenden, kann das Paket „gnome-session-flashback“ installiert werden.
1 | sudo apt-get install gnome-session-fallback
|
Danach Abmelden und auf der Loginmaske das Icon (Zahnrad) neben dem Anmeldebutton auswählen. Hier „Gnome Flashback (Metacity)“ auswählen und anmelden.
Weitere Informationen: wiki.ubuntuusers.de/GNOME_Flashback/
2019-03-25 von Mario
Je nach Betriebssystem, wird das WLAN Passwort an einem anderen Ort gespeichert und der Weg für eine Wiederherstellung gestaltet sich unterschiedlich. Im folgenden wird für Windows 7, 8, 10 und Linux beschrieben, wie WLAN Passwörter wiederhergestellt werden können.
Windows 7
Unter Windows 7 in der Taskleiste bei der Uhr auf das Netzwerksymbol klicken.

Danach auf „Eigenschaften“ und erneut Eigenschaften wählen. Im Reiter „Sicherheit“ wird das Passwort angezeigt.

Windows 8 und 10
Bei Windows 8 und Windows 10 können die Passwörter für die gespeicherten WLAN Netzwerke über die Konsole ausgelesen werden.
1 | netsh wlan export profile key= clear folder= "%UserProfile%\Desktop"
|
Nach dem Ausführen des Befehls werden auf dem Desktop ein oder mehrere XML-Dateien angelegt, welche die Passwörter enthalten.
Linux (Ubuntu)
Eine Konsole öffnen und in den Ordner
1 | /etc/NetworkManager/system-connections
|
wechseln und als Root die jeweilige Dateien öffnen und das Passwort kann ausgelesen werden.
2019-03-13 von Mario
1. In der Navigation unter „Tools“, „Build System“, „New Build System“ wählen.
2. Es öffnet sich ein neuer Tab, hier die nachfolgenden Zeilen einfügen.
1 2 3 4 5 | {
"cmd": ["python3", "-i", "-u", "$file"],
"file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",
"selector": "source.python"
}
|
3. Daraufhin speichern und einen sprechenden Namen „python3.sublime-build“ vergeben.
4. In der Navigation unter „Tools“, „Build System“ den Eintrag „python3“ auswählen.
5. Das nachfolgendes Testscript erstellen und mit dem Shortcut „STRG + B“ ausprobieren.
1 2 3 4 | import sys
print (sys.version)
|

Jetzt kann ganz bequem ein Programm mit Python 3 direkt aus dem Editor Sublime Text ausgeführt werden.
2019-02-13 von Mario
Die Version 65 von Firefox aktiviert in der Adressbar eine Suchfunktion über die eigenen Favoriten. Mit den folgenden Einstellungen kann das Feature deaktiviert werden. In die Adresszeile
eingeben und mit der Entertaste bestätigen. Daraufhin den Sicherheitshinweis ebenfalls bestätigen.

Als nächstes im Suchfeld nach der Einstellung
suchen.

Durch einen Doppelklick in den Bearbeitungsmodus wechseln und den Wert von „true“ auf „false“ ändern. Daraufhin den Wert im Suchfeld nach
1 | browser.urlbar.oneOffSearches
|
suchen und ebenfalls den Wert auf „false“ setzen.

2018-12-15 von Mario
Auf YouTube ist es möglich, Kanäle (Channels) zu abonnieren. Dafür muss man allerdings einen YouTube Account anlegen und sich einloggen. Eine Alternative ist das Abonnement per RSS Feed. Hierfür wird kein YouTube Account und kein Login benötigt.
Folgende Adresse bildet die Basis für den RSS Feed:
Der Parameter „CHANNEL-ID“ muss lediglich ersetzt werden. Um die Channel-ID herauszufinden, einfach auf den gewünschten Kanal gehen und auf „Videos“ klicken.

Darauf den Quellcode der Seite anzeigen (Rechte Maustaste, Quellcode anzeigen) und nach dem Wort „rssUrl“ suchen.

Jetzt kann die Adresse für das RSS Abonnement zusammengebaut werden.
Weiterführende Links:
2018-12-09 von Mario
WebRTC steht für „Web Real Time Communication“ und ist ein offener Standard von gängigen Webbrowsen. Dadurch ist es möglich, Sprache und Videos von Browser zu Browser zu übertragen. Zum Einsatz kommt dabei das STUN-Protokoll, welches die öffentliche und die lokale IP-Adresse mit überträgt (IP-Leak).
Auch eine VPN-Verbindung schützt hier nicht, da die Adresse über JavaScript ausgelesen wird. Zum Deaktivieren im Firefox in der Adresszeile den folgenden Befehl eingeben:
und mit Enter bestätigen. Daraufhin muss ein Sicherheitshinweis akzeptiert werden.

Jetzt im Suchfeld „media.peerconnection.enabled“ eingeben
1 | media.peerconnection.enabled
|
und den Wert mit einem Doppelklick auf „false“ setzen. Daraufhin ist das „Feature“ deaktiviert und die IP Adresse wird nicht mehr preisgegeben.
2018-10-21 von Mario
Mit dem Editor Sublime Text (Version 3) ist es möglich, per Shortcut (STRG + 7) mehrere Zeilen Quellcode ein- und auskommentieren. Leider funktioniert der Shortcut mit einer deutschen Tastatur nicht.
Abhilfe kann durch das Setzen einer Einstellung geschaffen werden. Dafür das Menü unter „Preferences“ | „Key Bindings“ öffnen, woraufhin zwei Tabs sichtbar werden.

Auf der linken Seite werden die Default Einstellungen und auf der rechten Seite werden die User Einstellungen angezeigt. Bei den User Einstellungen folgende Zeilen einfügen:
1 2 3 4 | [
{ "keys": ["ctrl+7"], "command": "toggle_comment", "args": { "block": false } },
{ "keys": ["ctrl+shift+7"], "command": "toggle_comment", "args": { "block": true } },
]
|
Danach funktioniert das Auskommentieren per Shortcut wieder.
2018-10-10 von Mario
Auf der Kommandozeile kann es von Zeit zu Zeit sehr hilfreich sein, Textmanipulationen vorzunehmen. Dafür können verschiedene Befehle zur Unterstützung verwendet werden. Anhand einer beispielhaften CSV-Datei werden einige Kommandos vorgestellt.. Die Datei beinhaltet die folgenden Daten:
1 2 3 4 | UserId, Datum, ProjektName, Beschreibung, Dauer
1, 2018-11-01, Test Projekt, Das ist ein Test, 180
2, 2018-08-17, Hausbau, Mit Dach, 240
3, 2018-07-25, Wichtiger Kunde, Streng Geheim, 220
|
cut
Mit dem Befehl „cut“ können Texte mit Hilfe der Angabe eines Trennzeichens abgeschnitten werden.
1 | cut -d[delimiter] -f[field number] [filename]
|
Parameter |
Beschreibung |
delimiter |
Trennzeichen |
field number |
Feldnummer |
filename |
Dateiname |
Mit dem Parameter „-d“ und dem „,“ wird das Komma als Trennzeichen festgelegt. Mit dem Parameter „-f3“ wird die dritte Spalte für die Ausgabe angegeben.
1 | cut -d, -f3 beispieldaten.csv
|
Die Ausgabe stellt sich wie folgt dar:
1 2 3 4 | ProjektName
Test Projekt
Hausbau
Wichtiger Kunde
|
awk
Wenn das Trennzeichen unbekannt ist, kann der Befehl „awk“ verwendet werden. Mit „cat“ wird die Datei ausgegeben und mit der Pipe („|“) wird die Ausgabe zum Befehl „awk“ umgeleitet. Dabei wird der Parameter „{print $2}“ an „awk“ übergeben, was dazu führt, dass die zweite Spalte der CSV-Datei ausgegeben wird.
1 | cat beispieldaten.csv | awk '{print $2}'
|
Die Ausgabe zeigt die zweite Spalte der CSV-Datei an.
1 2 3 4 | Datum,
2018-11-01,
2018-08-17,
2018-07-25,
|
Der Befehl „awk“ ist in Kombination mit anderen Befehlen sehr hilfreich. Z.B. mit dem Kommando „df“:
sed
Mit „sed“ können Texttransformationen durchgeführt werden (Ersetzen, Löschen, Ausgeben, Einfügen).
1 | sed ‘s/regex/replacement/flag’ file
|
Parameter |
Beschreibung |
s |
Der Parameter s steht für substitute und ändert alle Angaben (regulärer Ausdruck) in einen neuen Wert. |
regex |
An dieser Stelle kann ein Wort oder ein regulärer Ausdruck gesetzt werden. |
replacement |
Hier wird das zu ersetzende Zeichen oder Wort angegeben. |
flag |
Mit dem Flag kann die Gültigkeit des Befehls eingeschränkt werden. Mit dem Buchstaben „g“ (global) wird der Befehl auf den gesamten Inhalt angewendet. |
1 | cat beispieldaten.csv | sed 's/18/19/g'
|
Bei der Ausgabe wurden alle Zahlen „18“ durch die Zahl „19“ ersetzt.
1 2 3 4 | UserId, Datum, ProjektName, Beschreibung, Dauer
1, 2019-11-01, Test Projekt, Das ist ein Test, 190
2, 2019-08-17, Hausbau, Mit Dach, 240
3, 2019-07-25, Wichtiger Kunde, Streng Geheim, 220
|
2018-09-09 von Mario
Es existieren verschiedene Formate zum Packen und Entpacken von Dateien. Die einfache Verwendung von Tools zum Packen und Entpacken der verschiedenen Archive unter Linux werden im folgenden kurz beschrieben.
ZIP
Mit dem ZIP-Dateiformat können Dateien oder ganze Verzeichnisbäume komprimiert werden. Die Abkürzung „ZIP“ steht für zipper (englisch „Reißverschluss“).
Befehl zum Packen mehrerer Dateien:
1 | zip archiv.zip file01 file02
|
Befehl zum Entpacken:
Wenn auch Ordner in das Archiv aufgenommen werden sollen, ist das mit dem Parameter „r“ möglich.
1 | zip -r archiv.zip folder1 folder2
|
bzip2
Das Komprimierungsprogramm bzip2 kann ebenfalls zum Packen von Dateien verwendet werden.
Befehl zum Packen mehrerer Dateien:
Befehl zum Entpacken:
gz/gzip
Das Kompressionsprogramm gzip steht für GNU zip.
Befehl zum Packen mehrerer Dateien:
Befehl zum Entpacken:
RAR
Der Name steht für Roshal ARchive.
Befehl zum Packen mehrerer Dateien:
1 | rar a archiv.rar file01 file02
|
Befehl zum Entpacken:
TAR
Der Name „TAR“ steht für tape archiver (Bandarchivierer). Ursprünglich wurde das Programm für die Sicherung von Daten auf Bandlaufwerken verwendet. Bei einem tar-Archiv werden die Daten nicht komprimiert, dafür muss ein zusätzliches Programm verwendet werden.
Befehl zum Packen mehrerer Dateien:
1 | tar cfv archiv. tar file01 file02
|
Befehl zum Entpacken:
Parameter |
Beschreibung |
x |
extract – Entpackt ein Archiv |
c |
create – Erstellt ein neues Archiv |
f |
file – Dateiname oder Laufwerk |
v |
verbose – zeigt während des Vorgangs die Dateinamen an |
Mit einer Zusatzoption ist es möglich, auch tar-Archive zu komprimieren. Meist wird dafür gzip verwendet.
Befehl zum Packen mehrerer Dateien und komprimieren:
1 | tar cfvz archiv. tar .gz file01 file02
|
Befehl zum Entpacken:
Alternativ kann auch bzip2 verwendet werden. Befehl zum Packen mehrerer Dateien und komprimieren:
1 | tar cfvj archiv. tar .bz2 file01 file02
|
Befehl zum Entpacken:
2018-08-18 von Mario
Unter Linux, genau wie unter Windows, können je Datei oder Ordner Rechte vergeben werden. Die vergebenen Rechte beeinflussen den Zugriff auf die entsprechenden Dateien und Verzeichnisse.
Mit dem Befehl „ls -l“ kann man sich die Rechte anzeigen lassen:
Folgende Ausgabe erscheint auf der Konsole:
1 | -rwxrw-r-- 1 owner group 42 Aug 11 13:37 file .sh
|
Beschreibung
Position |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Ausgabe |
– |
r |
w |
x |
r |
w |
– |
r |
– |
– |
42 |
owner |
group |
Aug 11 13:37 |
file.sh |
Beschreibung |
Typ |
Eigentümer |
Gruppe |
Sonstiges |
Größe (KB) |
Eigentümer |
Gruppe |
Änderungszeit |
Dateiname |
Dateisystem Typen
Die Position „1“ zeigt an, um welchen Typen es sich handelt.
Typ |
Bezeichnung |
Beschreibung |
d |
Directory |
Dieser Buchstabe steht für ein Verzeichnis/Ordner. |
– |
File |
Der Bindestrich steht für eine Datei. |
l |
Symbolic link |
Bei einem Link handelt es sich um Verknüpfung zu einer Datei oder einem Verzeichnis. |
c |
Character Device |
Dies ist eine zeichenorientierte Gerätedatei, welche unter /dev zu finden ist. |
b |
Block Device |
Dies ist eine blockorientierte Gerätedatei, welche unter /dev zu finden ist. |
s |
Socket |
Dies ist ein sog. Unix Domain Socket, wird für die Interprozess-Kommunikation verwendet. |
p |
Pipe |
Alles was ein Programm in die Pipe schreibt, kann von einem anderen Programm ausgelesen werden. |
Attribute
Die Positionen „2“ bis „10“ zeigen an, welche Rechte auf dem Ordner oder der Datei vergeben sind. Dabei wird zwischen folgenden Rechten unterschieden:
Zeichen |
Beschreibung |
Eigentümer |
User welchem die Datei gehört |
Gruppe |
User die Mitglied in dieser Gruppe sind |
Sonstiges |
Alle anderen User |
Die folgende Tabelle erläutert die Bedeutung der einzelnen Buchstaben:
Zeichen |
Bedeutung |
Beschreibung |
r |
read |
Erlaubt den lesenden Zugriff |
w |
write |
Erlaubt schreibenden Zugriff |
x |
execute |
Erlaubt das Ausführen einer Datei |
Sonderrechte
Statt dem „x“ besteht die Möglichkeit, zusätzliche Rechte zu vergeben.
Zeichen |
Beschreibung |
t |
Wird das „Sticky-Bit“ auf einem Verzeichnis angewendet, so dürfen die darin erstellten Dateien oder Verzeichnisse nur vom Dateibesitzer gelöscht oder umbenannt werden. |
s |
Das „SUID-Bit“ Recht („Set User ID“) schränkt das Ausführungsrecht eines Programms dahingehend ein, dass das Programm mit den Rechten des Dateibesitzers ausgeführt wird (Position 4).
Das „SGID-Bit“ Recht („Set Group ID“) schränkt das Ausführungsrecht eines Programms dahingehend ein, dass das Programm mit den Rechten der Dateigruppe läuft (Position 7).
Zusätzlich wird bei einem Ordner die Gruppe an alle Unterordner und Dateien vererbt, die in diesem Ordner neu erstellt werden. |
Rechte vergeben
Die Rechte auf ein Verzeichnis oder für eine Datei können mit dem Befehl „chmod“ vergeben werden.
Symbol |
Rechte |
Oktal |
Binär |
rwx |
Lesen |
Schreiben |
Ausführen |
7 |
111 |
rw- |
Lesen |
Schreiben |
|
6 |
110 |
r-x |
Lesen |
|
Ausführen |
5 |
101 |
r– |
Lesen |
|
|
4 |
100 |
-wx |
|
Schreiben |
Ausführen |
3 |
011 |
-w- |
|
Schreiben |
|
2 |
010 |
–x |
|
|
Ausführen |
1 |
001 |
— |
|
|
|
0 |
000 |
Um die identischen Rechte wie in unserem Beispiel zu vergeben, lautet der Befehl:
Die führende Null kann dabei entfallen (0764 = 764) und führt zum identischen Ergebnis.
Position |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Recht |
– |
r |
w |
x |
r |
w |
– |
r |
– |
– |
Wert in Oktal |
– |
7 |
6 |
4 |
Für die Vergabe der Sonderrechte wird die erste Stelle verwendet und die führende Null entsprechend belegt.
Recht |
Wert |
Auswirkung auf Dateien |
Auswirkung auf Ordner |
SUID-Bit |
4 |
Benutzer führt Datei mit Berechtigungen des Dateieigentümers aus |
– |
SGID-Bit |
2 |
Benutzer führt Datei mit Berechtigungen des Gruppeneigentümers aus |
Im Verzeichnis erstellte Datei erhält denselben Gruppeneigentümer |
Sticky-Bit |
1 |
– |
Benutzer können keine Dateien von anderen Benutzern löschen |
Eine Kombination der Sonderrechte wird durch Addition der Werte erreicht.
2018-07-14 von Mario
Die Software IDA ist ein Disassembler, mit der Binärcode in Assemblersprache umgewandelt werden kann.

Schritt 1: Download IDA
Unter www.hex-rays.com kann die Software heruntergeladen werden.
Schritt 2: Installieren
Nach dem Download eine Konsole öffen und in den entsprechenden Order navigieren. Daraufhin der Datei die Ausführungsrechte vergeben.
1 | chmod +x idafree70_linux.run
|
Starten der Installation.
1 | sudo . /idafree70_linux .run
|
Schritt 3 (Optional): Symlink erstellen
Mit der Vergabe eine Symlinks ist die Software Systemweit aufrufbar.
1 | sudo ln -s /opt/idafree-7 .0 /ida64 /usr/bin/
|
2018-06-16 von Mario
Um „https“ Verbindungen mit der Burp Suite bearbeiten zu können, wird im Firefox ein Zertifikat benötigt. Dafür sind folgende Schritte durchzuführen:
Schritt 1
Den Browser Firefox starten und das Menü „Bearbeiten – Einstellungen“ aufrufen. Auf dieser Seite bis zu den Einstellungen „Netzwerk Proxy“ scrollen und den „Einstellungen …“ Button klicken.

Danach die Einstellungen für den lokalen Proxy setzen. Der Standard der Burp Suite ist auf dem Screenshot abgebildet. Falls dieser abweicht, muss eine entsprechende Anpassung vorgenommen werden.

Schritt 2
Die Burp Suite starten und im Firefox die Seite „http://burp“ aufrufen.

Jetzt oben rechts auf „CA Certificate“ klicken und das Zertifikat herunterladen.

Schritt 3
Als nächstes im Firefox erneut die Einstellungen aufrufen und unter „Privatsphäre & Sicherheit“ zu den Zertifikaten scrollen. Daraufhin den Button „Zertifikate anzeigen“ klicken.

In dem Dialog „Zertifikate Manager“ kann mittels des Buttons „Importieren“ das eben heruntergeladene Zertifikat dem Firefox hinzugefügt werden.

Schritt 4
Jetzt ist es möglich, „https“ Verbindungen mit der Burp Suite zu bearbeiten. Wenn die Burp Suite nicht mehr benötigt wird, nicht vergessen, die Proxy Verwendung im Firefox entsprechend zu deaktivieren.
2018-06-09 von Mario
Die Burp Suite ist eine Software zum Testen der Security von Web Anwendungen. Die Software kann unter
portswigger.net/burp/communitydownload heruntergeladen werden.

Nach dem Download wird mit dem Befehlt „chmod“ das „Execute“ Recht vergeben.
1 | chmod +x burpsuite_community_linux_v1_7_33.sh
|
Daraufhin kann die Installation gestartet werden.
1 | sudo ./burpsuite_community_linux_v1_7_33.sh
|
Nach der Installation ist das Programm unter „Sonstige“ im Menü von Ubuntu zu finden.

2018-04-21 von Mario
Von Zeit zu Zeit kommen neue Raspberry Pi Boards auf den Markt. Der Unterschied der neueren Boards sind meist Hardwareveränderungen. Diese Änderungen können Auswirkungen auf eigene Projekte haben. Jeder Pi besitzt eine eindeutige Revisionsnummer. Mit der Nummer kann das Modell eines Raspberry Pi identifiziert werden.
Mit dem Befehl „pinout“ wird auf der Konsole folgende Darstellung ausgegeben und die Revisionsnummer kann in Erfahrung gebracht werden.

Eine weitere Möglichkeit ist die Anzeige der Datei „cpuinfo“. Dafür auf der Konsole den Befehl:
ausführen und folgende Informationen werden angezeigt:

Mit der Revisionsnummer ist es daraufhin möglich, in der folgenden Tabelle das Modell zu recherchieren.
Model und PCB Revision |
RAM |
Revisionsnummer |
Model B Rev 1 |
256MB |
0002 |
Model B Rev 1
ECN0001 (no fuses, D14 removed) |
256MB |
0003 |
Model B Rev 2 |
256MB |
0004
0005
0006 |
Model A |
256MB |
0007
0008
0009 |
Model B Rev 2 |
512MB |
000d
000e
000f |
Model B+ |
512MB |
0010
0013
900032 |
Compute Module |
512MB |
0011 |
Compute Module |
512MB |
0014 |
Model A+ |
256MB |
0012 |
Model A+ |
256MB |
0015 |
Model A+ |
512MB |
0015 |
Pi 2 Model B v1.1 |
1GB |
a01041 |
Pi 2 Model B v1.1 |
1GB |
a21041 |
Pi 2 Model B v1.2 |
1GB |
a22042 |
Pi Zero v1.2 |
512MB |
900092 |
Pi Zero v1.3 |
512MB |
900093 |
Pi Zero W |
512MB |
9000C1 |
Pi 3 Model B |
1GB |
a02082 |
Pi 3 Model B |
1GB |
a22082 |
Pi 3 Model B+ |
1GB |
a020d3 |
Quellen
elinux.org/RPi_HardwareHistory