Mittwoch, 16. Juni 2021

Windows - Neues Benutzerkonto mittels Befehlszeile (CMD) hinzufügen

Mittlerweile versucht Microsoft immer häufiger den "Konto Zwang" durchzusetzen, wie bereits in dem Artikel Windows - Eingabeaufforderung während der Installation öffnen erwähnt. So benötigt man mittlerweile bis zu vier Klicks, bis man ein weiteres "lokales Benutzerkonto" hinzufügen kann. Daher möchte ich kurz auf die Möglichkeit des Anlegens unter der Kommandozeile eingehen.

Ein neues Benutzerkonto auf dem lokalen Computer (per GUI) hinzufügen:

     

Ein neues Benutzerkonto auf dem lokalen Computer (per CMD) hinzufügen:

net user username passwort /ADD


Soll das Passwort beim Hinzufügen eines neuen Benutzerkontos nicht sichtbar sein, ist dies mit dem folgenden Befehl möglich:

net user /add username *

Um z.B. "Sebastian" zur Administratorengruppe hinzuzufügen, muss der folgende Befehl ausgeführt werden.

net localgroup administrators Sebastian /add

Alle möglichen Befehle lassen sich mit dem Kommando net help user anzeigen.


Dienstag, 1. Juni 2021

ImageMagick - Wasserzeichen (watermark) einem Bild hinzufügen

In dem Artikel Raspberry Pi - Camera Modul V2.1 bin ich bereits kurz auf ImageMagick eingegangen, um das Bild meiner Webcam anzupassen. Mittlerweile nutzen viele Dienste ungefragt meine Webcam Bilder und schneiden sogar den Copyright Hinweis einfach ab (siehe z.B. https://www.outdooractive.com/de/webcam/obergeis-webcam-neuenstein/55939506/). Daher habe ich mich entschieden in jedes Bild ein größeres Wasserzeichen einzubauen und das Vorgehen hier zu beschreiben.


Damit man ein Wasserzeichen in sein Bild einbauen kann, wird natürlich ein passendes Logo benötigt.
Ich nehme dafür das bereits vorhandene Logo meiner Android App und setze es oben rechts (northeast) in die Ecke.

Dafür ist der folgende Befehl notwendig:

convert cam.jpg ic_launcher_192x192.png -gravity northeast -geometry +10+10 -composite cam-watermark.jpg

Was genau bedeuten die beiden Befehle?

  • convert - liest Bilder, bearbeitet sie und speichert sie ab
  • geometry +10+10 - um das Wasserzeichen 10 Pixel von der ausgewählten Ecke nach innen zu verschieben
  • composite - überlagert mehrere Bilder zu einem Bild


Samstag, 29. Mai 2021

Security - Nmap Netzwerkscanner und Kali Linux

Mit Hilfe von Nmap (Netzwerkscanner) ist es möglich eine grobe Analyse von Netzwerken und möglichen Angriffsszenarien zu erstellen. In diesem Beitrag gehe ich kurz auf die Möglichkeiten, Ursachen und das Hardening ein.

Installation von Nmap unter Ubuntu:

sudo apt-get install nmap

Anschließend lässt sich mit dem folgenden Befehl die Top 2500 Ports in einem Netzwerk scannen. Zusätzlich wird die Geschwindigkeit des Scans erhöht und Informationen zum Betriebssystem der Clients werden angezeigt. Siehe auch https://wiki.ubuntuusers.de/nmap/#Scan-Techniken.

nmap --top-ports 2500 -A -v -T4 192.168.1.0/24

Hinweis: Ja nach dem, welches Netzwerk man scannen möchte muss man die korrekt Netzmaske verwenden.

Kali Linux ist eine Linux-Distribution (Debian basierend), die eine Sammlung von Tools für Penetrationstests und digitale Forensik umfasst. Nmap ist hier als wichtges Werkzeug enthalten! Dieser erste Scan kann als Basis dienen um z.B. mit Hilfe von Nessus einen detaillierten Netzwerk- und Vulnerability (Scan von vorhandenen und bekannten Sicherheitslücken) durchzuführen.

Anschließend kann man mit Hilfe der gefunden Sicherheitslücken 

  • z.B. mit THC Hydra (hydra -L /home/pi/usernames.txt -P /home/pi/passwords.txt 192.168.1.111 ssh) oder
  • Mimikatz), gezielt Angriffe auf die jeweiligen Clients versuchen.


Was sind die Ursachen?


Was kann man dagegen tun ("Hardening")?


Samstag, 22. Mai 2021

Raspberry Pi - Vorkonfiguration (WLAN, SSH, hostname, locale) vor dem ersten Start mit Raspberry Pi Imager

Wie man einen Raspberry Pi installiert und initial einrichtet, habe ich bereits in den Artiklen Raspberry Pi Stretch Lite - Installation incl. SSH Fernsteuerung, Raspberry Pi Stretch - WLAN vor dem ersten Start konfigurieren und Raspberry Pi - statische IP bzw. initiale IP-Adresse vergeben (cmdline-txt) beschrieben. Ich gehe kurz auf den "Raspberry Pi Imager" ein, welcher dies jetzt direkt unterstützt.

Mittlerweile bietet das offizielle Image-Tool „Raspberry Pi Imager“ die Möglichkeit zu den o.g. Konfigurationen an und schreibt diese direkt auf die SD-Karte, anschließend kann das erste Booten vom Raspi direkt mit den gewünschten Einstellungen erfolgen. So lässt sich mittlerweile sehr viel Zeit bei der Ersteinrichtung sparen!


Das Raspberry Pi Imager Tool beschreibt die SD-Karte mit dem Betriebssystem und so wird beim ersten Start direkt eine Verbindung zum WLAN aufgebaut, SSH ist aktiv und man den Pi direkt per Konsole ansprechen. Desweiteren ist die Tastaturbelegung korrekt hinterlegt und auch das bekannte und unsichere Passwort „raspberry“ ist geändert. 

Download von Version 1.6.1 => https://github.com/raspberrypi/rpi-imager/releases/tag/1.6.1

Zusätzlich zum Betriebssystem „Raspberry Pi OS“ bietet Imager weitere Images an. Zum Beispiel die Lite-Variante (keine grafische Oberfläche) oder auch RetroPie (Retro-Spielekonsolen Emulatoren).

Ergonomie am Arbeitsplatz - Arbeiten am Stehtisch

Bei der Planung und Gestaltung von Arbeitsplätzen spielen die folgenden Einflussfaktoren wie z.B. Körpermaße, Bewegungsraum, Sehraum, Wirkraum und die Arbeitsaufgabe eine wichtige Rolle. In dem Artikel möchte kurz auf die Hilfsmittel für die Arbeitsplatzgestaltung eingehen und speziell auf das ergonomische arbeiten am Stehtisch bzw. höhenverstellbaren Schreibtisch.

Für die Gestaltung von Arbeitsplätzen gibt es die folgenden Verfahren / Hilfsmittel um auf die oben genannten Einflussfaktoren zu berücksichtigen:

Quelle: https://www.ergotyping.de/index.php?title=Anthropometrie:_Hilfsmittel_zur_Ermittlung_von_Gestaltungsmaszen


Für die Gestaltung der Arbeitsumgebung spielt auch die die Beleuchtung und Farbe eine wichtige Rolle. Die Anordnung von Bildschirmarbeitsplätzen zu Leuchten und Fenster ist sehr wichtig, um eine Reflexblendung am Bildschirmarbeitsplatz zu vermeiden! 

Folgende Punkte sind bei der Beleuchtung am Arbeitsplatz zu beachten:

  • Keine Direkt- und Reflexbeleuchtung
  • Farbwiedergabe der Lampen berücksichtigen
  • Die Sehaufgabe muss heller als Umfeld sein
  • Abgestimmtes Farbkonzept
    • grün, blau => beruhigend
    • rot, gelb, braun => anregend

Ergonomisch arbeiten am Stehtisch

Hierbei sollte die Tastaturablage auf Höhe der Ellenbogen liegen. Der Oberarm und Unterarm müssen ca. im 90-Grad-Winkel zueinanderstehen. Die Handballen sollten auf der Tischfläche abgelegt werden. Die Schultern dürfen entspannt hängen und nicht hochgezogen werden. Mit dem Bauch nicht an die Tischkante anlehnen, man sollte immer freistehen.
Die Füße sollten möglichst gleich belastet werden und fest auf dem Boden stehen. Zwischendurch ist ein Wechsel vom Parallelstand in die Schrittstellung und wieder zurück zu empfehlen. Ein Hohlkreuz ist zu vermeiden, durch anspannen der Bauchmuskulatur und aufrichten des Becken.

Wichtig: Man sollte mehrmals am Tag die Position zwischen Sitzen und Stehen wechseln. Daher empfiehlt es sich einen elektrisch verstellbaren Schreibtisch zu kaufen. 

Ich selber nutze z.B. einen IKEA BEKANT Schreibtisch in 120x80cm (ca. 420 EUR). Alternativ bietet sich auch ein Standsome Double White - Höhenverstellbarer Schreibtischaufsatz aus Holz (ca. 220 EUR) an.

Gerade am Anfang muss man sich an das Arbeiten im Stehen gewöhnen und sollte daher nur langsam gesteigert werden.

Sonntag, 16. Mai 2021

JavaScript - DOM-Manipulationen mittels purem JavaScript

Das Document Object Model (DOM) beschreibt die Spezifikation einer Programmierschnittstelle, hierbei werden HTML- oder XML-Dokumente als Baumstruktur darstellt. Dabei repräsentiert jeder Knoten ein Objekt, welches wiederum ein Teil eines Dokumentes (z.B. eine Webseite) repräsentiert. In dem Beitrag möchte ich kurz auf die Möglichkeiten der DOM-Manipulationen per purem JavaScript eingehen.

Das Document Object Model (DOM) wird vom World Wide Web Consortium (W3C) definiert.

DOM-Knotenbaum einer Webseite

Mitte der 1990er Jahre wurde die Skriptsprache JavaScript erfunden, die Browser boten aber nur rudimentäre Möglichkeiten um auf das HTML-Dokument zuzugreigen oder das DOM zu manipulieren.
Dies führte zu einer Verbreitung von Bibliotheken wie zum Beispiel jQuery.
Mittlerweile kann man aber immer öfter auf JavaScript-Bibliotheken, die Funktionen zur DOM-Navigation und -Manipulation zur Verfügung stellen, verzichten!

Die folgenden Webseiten unterstützen dabei, Probleme von Frontend-Developern in purem JavaScript (ohne jQuery) lösen zu können

Hierdurch ist es möglich Webseiten von überflüssigen Bibliotheken zu befreien.

Siehe nachfolgendes Beispiel:

// With jQuery
// Update the text of a .button
$(".button").text("New text");
// Read the text of a .button
$(".button").text(); // Returns "New text"

// Without jQuery

// Update the text of a .button
document.querySelector(".button").textContent = "New text";
// Read the text of a .button
document.querySelector(".button").textContent; // Returns "New text"


Quelle: https://tobiasahlin.com/blog/move-from-jquery-to-vanilla-javascript/#updating-the-dom

Donnerstag, 13. Mai 2021

MBR (Masterbootrekord) - CHS (cylinder/head/sector) Adressierung

Noch heute kann in der MBR (Master Boot Rekord) Tabelle eine Adressierung per CHS (Cylinder Head Sector) erfolgen. In dem Artikel "Intel 386 DX/33 - Microsoft MS-DOS 6.22 Installation (DELL 333D)" beschriebener DELL PC benötigt eine manuelle Eingabe der Daten und kann noch nicht die CHS-Angaben von der Festplatte selbständig ermitteln. Daher werde ich in diesem Artikel kurz auf die technischen Details eingehen.

Desktop Festplatten (und auch Disketten) werden in kleine Abschnitte (Datenblöcke oder Sektoren) unterteilt. Diese haben eine konstante Größe von 512 Bytes (bzw. moderne Festplatten ein Vielfaches davon 4.096 Bytes auch 4K-Sektoren genannt).

Mittels eines Koordinatensystem (Kopf-, Zylinder- und Sektornummer) kann man jeden Datenblock identifizieren:

  • die Kopfnummer der Höhe
  • die Zylindernummer dem Radius
  • die Sektornummer dem Winkel

Weitere Details finden sich im Wikipedia Artikel Festplattengeometrie.

CHS (Cylinder Head Sector)

CHS ist eine Adressierungsmethode von Festplatten. Hierdurch kann der Computer die Festplattengeometrie des Datenträgers erkennen und somit auch die jeweilige Aufteilung in Partitionen mittels Partitionstabelle.

Wie bereits in der Überschrift erwähnt muss man bei älteren Computern (z.B. Intel 386) die Anzahl der Zylinder, Köpfe und Sektoren per Hand im BIOS eintragen! Nur so kann der Computer bzw. das Betriebssystem die Festplatte korrekt ansteuern.

Beispiel: QUANTUM PRODRIVE 80 AT 84MB 3.5"/HH IDE / AT

  • Cylinders: 965
  • Heads: 10
  • Sector/track: 17

Achtung: Falsche Angaben können zu Datenverlusten führen, die angegebene Größe darf die tatsächliche Größe der Festplatte nicht übersteigen!

Und noch ein Hinweis zum Schluss, bei modernern Computern kann das BIOS die CHS-Angaben von den Datenträgern in der Regel selbständig ermitteln 😉 .

Samstag, 8. Mai 2021

Security - Netzwerkcheck (Port-Scan) von heise

Mit dem Netzwerkcheck von heise ist es möglich schnell herauszufinden, ob man über seine öffentliche IP-Adresse des Routers ggf. angreifbar ist.

Es bietet sich an, direkt einen „Komplett-Check (Standard-Ports + Router-Tests)“ durchzuführen.

Idealerweise sollte das folgende Ergebnis angezeigt werden:


Samstag, 1. Mai 2021

Mailserver - Zugriff auf TCP Port 25 (smtp) mit telnet testen

In diesem Beitrag möchte ich beschreiben, wie man mit Hilfe von telnet den Zugriff auf einen Mailserver mit dem TCP Port 25 testen kann. Siehe hierzu auch das Simple Mail Transfer Protocol (SMTP) Protokoll.

Mit Hilfe von SMTP (Simple Mail Transfer Protocol) kann man in Verbindung mit telnet einen Mailclient simulieren und den Zugriff auf Port 25 testen.

Die folgenden Schritte sind per Linux Kommandozeile notwendig

Mihilfe von telnet verbindet man sich auf den Port 25 am Server, dafür muss natürlich vorab der SERVER bekannt sein. Dies ist zum Beispiel mit nslookup -query=MX google.com oder dig google.com -t MX möglich.

telnet SERVER 25

Hat der Aufbau funktioniert, erhält man die folgende Meldung: Connected to SERVER.
Escape character is '^]'.

Jetzt kann man mit Hilfe des SMTP Protokoll eine E-Mail versenden. Hinweis: Damit der Test überhaupt möglich ist, sollte man eine Empfängeradresse verwenden, für die der Mailserver (mit dem man gerade verbunden ist) zuständig ist. Denn in der Regel gibt es keine "offenen Server" mehr zum versenden, siehe auch Relay Access Denied und Open Relay.

Mit den folgenden Zeilen kann jetzt direkt eine E-Mail versendet werden (nach jeder Zeile muss man ENTER drücken):

EHLO mail.server.com
MAIL FROM:<ABSENDERADRESSE@test.de>
RCPT TO:<EMPFÄNGERADRESSE@test.de>
DATA
Subject: Testmail
(Leerzeile)
Das ist eine Testnachricht.
(Leerzeile)
.
QUIT

Hinweis: Auch unter Windows ist eine Verwendung zum Beispiel mit Hilfe des Windows-Subsystem für Linux (WSL) möglich

Ein ausführlicher Mailserver-Check ist mit Hilfe des Webdienst MXToolbox möglich und hilft Mailserver-Admins bei der Fehlersuche.

Sonntag, 18. April 2021

Raspberry Pi - VNC Fernwartung / Zugriff ohne Bildschirm

Wie man den "Fernzugriff per ssh aktiviert" habe ich bereits beschrieben. Die Fernwartung per Desktop ist mit Hilfe von einem installierten Raspberry Pi OS (Raspbian) relativ einfach zu aktivieren.


Nach dem ich mir vor kurzem den Raspberry Pi 4 Modell B bestellt hatte, möchte ich diesen im Desktop Modus betreiben (Raspberry Pi OS with desktop). Natürlich möchte diesen nicht direkt an einen Monitor anschließen, sonder nur per Fernzugriff (VNC).

VNC lässt sich über das Konfigurations-Tool in den Einstellungen aktivieren. Dies geht durch klick auf "Menü => Einstellungen => Raspberry-Pi-Konfiguration" und dann über den Reiter "Schnittstellen" einstellen. Der VNC Server steht sofort zur Verfügung.


Hinweis: Auch per SSH (sudo raspi-config) lässt sich unter "Interfacing Options" => "VNC" die Einstellung vornehmen. Wichtig, eine Bedienung per VNC ist nur per Desktop Boot möglich und nicht per Kommandozeile!

Am einfachsten ist der Zugrigg per RealVNC Client möglich, Download unter https://www.realvnc.com/de/connect/download/viewer/ .

Nach der Installation kann man nun direkt per IP-Adresse des Raspberry Pis eine Verbindung herstellen.


Nützlich ist in diesem Fall eine feste bzw statische IP-Adresse, siehe dazu https://sebastianhemel.blogspot.com/2017/01/raspberry-pi-wlan-konfiguration-inkl.html .

Freitag, 9. April 2021

Raspberry Pi - Verwendung von Docker Compose (Beispiel OpenAPI-Generator c't 25/2020)

In diesem Beitrag zeige ich auf Basis des Artikels c't 25/2020 S. 160 OpenAPI-Generator, wie man Docker Compose verwendet. Die Installation wurde bereits in dem Artikel Raspberry Pi - Docker Compose installieren beschrieben.

Docker Compose ermöglicht mehrere Container mit einzelnen Anwendungen oder Komponenten zu starten oder um Container automatisch zu verknüpfen und Volumes einzurichten.

Die Verwendung von Docker Compose benötigt die folgenden Schritte

  1. Erstellen eines Verzeichnis für die Installationsdateien.
    • mkdir rest-api-demo
  2. In diesem Verzeichnis muss jetzt die YAML-Datei docker-compose.yml abgelegt/erstellt werden.
    • Images mit dem Apache Webserver und PHP-Compiler:
      version: "3"
      services:
        server:
          image: "jorgenjo/rpi-apache-php" #php:apache
          volumes:
            - ./server:/var/www/html
          ports:
            - 8001:80
        client:
          image: "jorgenjo/rpi-apache-php" #php:apache
          volumes:
            - ./client:/var/www/html
          ports:
            - 8000:80
          depends_on:
            - server
  3. Im selben Verzeichnis, den/die Container zu starten.
    • ~/rest-api-demo $ sudo docker-compose up -d

    • Hinweis: Docker-Compose wird im Hintergrund (-d) ausgeführ

Test der Umgebung (Server und Client)

In beiden Verzeichnissen (Server/Client) jeweils eine index.php Datei erstellen und anschließend aufrufen.

Server: index.php
<?php echo "Test"; ?>

Client: index.php
<?php echo file_get_content("http://server"); ?>


Die Basis ist jetzt geschafft, weiter geht es jetzt mit der Anleitung unter https://github.com/manuelottlik/ct-oas-praxis/.

Nützliche Docker Compose Befehle

Erstellte Container abzeigen:
sudo docker-compose ps

Container einer Anwendungsgruppe stoppen:
sudo docker-compose stop 

Containe entfernen (sofern gestoppt):
sudo docker-compose rm 

Alle Container in einer Anwendungsgruppe stoppen und gleichzeitig entfernen:
sudo docker-compose down

Alle Data-Volumes entfernen (-v):
sudo docker-compose down -v

Donnerstag, 8. April 2021

Raspberry Pi - SD Card Speed Test

Wie schnell ist meine SD-Karte? Die Raspberry Pi Foundation hat für diese Frage ein Diagnose-Tool für Speed Tests veröffentlicht. Das kostenlose Tool nennt sich "SD Card Speed Test" und misst die Schreib- und Lesegeschwindigkeit der verbauten Karte.


Installation erfolgt über das Terminal-Fenster mit dem folgenden Befehl:

sudo apt update
sudo apt install agnostics


Siehe auch weitere Details im Raspberry Pi Blog:


Als SD-Karte kann ich persönlich die PNY PRO Elite 64GB microSDHC-Speicherkarte empfehlen.

Montag, 5. April 2021

Kodi - Smartphone als Fernbedienung nutzen

Die sehr beliebte App "Kodi" (ehemals XBMC) ist eine freie Mediaplayer-Software und diese lässt sich mit Hilfe auch durch ein Smartphone (als Fernbedienung) bedienen.

Kodi Fernbedienung

Man muss sich dafür nur eine der folgenden Apps auf sein Smartphone laden:

Anschließend kann das Smartphone als Fernbedienung für Kodi verwendet werden.

Die Konfiguration ist relativ einfach, so muss der jeweilige Host hinzugefügt werden um die App mit der jeweiligen Kodi-Installation zu verbinden. In der Regel funktioniert dies bereits über die automatische Suche oder die IP-Adresse des PC/Raspberry auf dem Kodi installiert ist. 

Hinweis I: Auf dem Smartphone muss natürlich das WLAN aktiviert sein

Hinweis II: Die Steuerung über HTTP muss in der Kodi-Installation aktiviert sein, siehe nachfolgende Bilder.


In dem folgenden Beitrag "Mit Kodi auf die Synology Diskstation zugreifen" beschreibe ich, wie man auf einen gemeinsamen NAS (Film-)Ordner zugreifen kann.

Sonntag, 4. April 2021

Raspberry Pi - GPIO-Pin Belegung und Schaltungen (Fritzing)

In dem Beitrag "Raspberry Pi - Temperatursensor DS18B20" verweise ich auf die Raspberry Pi GPIO Anschlussbelegung. Die Pinleiste inkl. der Funktionen wird auf der folgenden Seite Raspberry Pi Pinout bis ins kleinste Detail beschrieben.


GPIO-Belegungsplan und Schaltungen (Fritzing)

Die Funktionen der 40 GPIO-Pins sind oft nur mühsam zu ermitteln. Einen ausführlichen Belegungsplan findet man auf https://de.pinout.xyz.

Nützlich ist auch die Software Fritzing. Mit ihr ist es möglich, elektronische Schaltungen am Computer zu entwerfen oder seine Projekte zu dokumentieren. Siehe fritzing.org.

Raspberry Pi - TV HAT

Das eigene Raspberry Mediacenter lässt sich mittlerweile um einen Raspberry Pi TV HAT (ca. 10 Euro) um z.B. die öffentlich-rechtlichen TV-Programme zu empfangen, erweitern. 

Ausführliche Informationen zur Konfiguration finden sich in dem folgenden Blog: 

Offizielle Mitteilung im Raspberry Pi Blog:


Donnerstag, 1. April 2021

youtube-dl FFmpeg - Download mpd (MPEG DASH) Video Streams

Mit Hilfe des Beitrags "Download von Video Streams mit ffmpeg" ist es Möglich .m3u8 Dateien herunterladen, jetzt fehlt nur noch eine Möglichkeit .mpd  (MPEG DASH) Video Streams herunterladen zu können. Dies geht mit Hilfe von youtube-dl, welches bereits in dem folgenden Beitrag "Rund um Linux - Einige nützliche Befehle für die Shell II (Download mit wget und seq)" erwähnt wurde.

Um den Video- und Audiostream in eine einzige Datei zusammenführen zu können, muss FFmpeg inkl. libav installiert sein. Andernfalls erstellt youtube-dl für jeden Stream eine separate Datei (eine für Audio und eine für Video). Für die Wahl der Download Qualität siehe auch https://github.com/ytdl-org/youtube-dl/blob/master/README.md#format-selection.

/usr/bin/python3 /usr/local/bin/youtube-dl -f bestvideo+bestaudio https://cs.xyz.io/v1/TV/pd/93/9B/36/C9/FO-1234567ABC/manifest.mpd


Installation youtube-dl

Siehe hierzu auch http://ytdl-org.github.io/youtube-dl/download.html.

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl


Installation FFmpeg inkl. libav

Fehlt die Installation kommt es bei der Ausführung zu folgender Meldung:
  • WARNING: You have requested multiple formats but ffmpeg or avconv are not installed. The formats won't be merged. 
sudo apt-get install ffmpeg (siehe auch https://ffmpeg.org/download.html)

Zusätzliche Codecs (siehe auch https://libav.org/)
sudo apt-get install libavcodec-extra

Jetzt muss man nur noch in der Lage sein, youtube-dl mit der eigenen Python-Version auszuführen zu können:
  • /usr/bin/python3 /usr/local/bin/youtube-dl

Mittwoch, 31. März 2021

Fehler - "0-Fehler" Strategie

Nach den "Drei Arten von Misserfolgen" - Vermeidbare-, Komplexitätsbedingte- und Intelligente-Misserfolge, möchte ich kurz auf die Fehler eingehen, die immer zu vermeiden sind.

Die folgenden Themen müssen als "0-Fehler" Strategie betrachtet werden:

  • Sicherheit (z.B. IT-Security oder Datenschutz)
  • Produkte/ Services (z.B. Verfügbarkeit)
  • Produktion
  • Prozesse (z.B. Daten)
  • Compliance (z.B. Vergabe von Aufträgen und Ausschreibungen)
  • Gesetzeskonformität (z.B. Steuerrecht oder DSGVO)
  • Arbeitsregeln (z.B. Mobbing und Geschlechtergerechte Sprache)


Wichtig: Der zwischenmenschliche Umgang mit Fehlern muss gewährleistet sein, nur so kann der sachliche Umgang mit Fehlern im Rahmen des Fehlermanagements funktionieren!

Deshalb muss vor der Umsetzung dieser Strategie im Team bzw. der Firma auch der entsprechenden Rahmen (mentale Einstellung) zum offenen Umgang mit den o.g. Fehlern bereitgestellt werden.

Anschließend kann man aus den Fehlern lernen in dem man sich mit verschiedenen Methoden, Prozessen und Techniken mit den jeweiligen Ursachen beschäftigen.

Montag, 22. März 2021

Linux - PDF Dateien Passwort-Schutz entfernen mit QPDF

Will man PDF Dateien dauerhaft ohne ein Passwort archivieren und dieses entfernen, geht dies z.B. mit QPDF. Es ist ein OpenSource Tool für die Kommandozeile und kann als Ergäzung zu den Tools von meinem Beitrag Linux - PDF Dokumente zusammenfügen / Merge PDF files gesehen werden.

Die Installation erfolgt über die jeweilige Paketverwaltung:

sudo apt install qpdf


Passwortschutz von PDF Dateien entfernen:

qpdf --password=1234 --decrypt DateiMitPW.pdf DateiOhnePW.pdf

Natürlich muss das Passwort bekannt sein, qpdf kann keine PDF Dateien knacken.

Weitere Befehle wie z.B. --split-pages finden sich unter http://qpdf.sourceforge.net/files/qpdf-manual.html#ref.basic-options.

Hinweis: Auch unter Windows ist eine Verwendung zum Beispiel mit Hilfe des Windows-Subsystem für Linux (WSL) möglich

Sonntag, 21. März 2021

Dateien verstecken - Unsichtbarer Ordner mit Alt+255 erstellen

Mit Hilfe von einem geschützten Leerzeichen (no-break space) kann man z.B. auf dem Desktop einen unsichtbaren Ordner anlegen.

Beim Umbenennen eines neuen Ordners wird mit Hilfe von Alt+255 ein geschütztes Leerzeichen eingefügt. Mit Hilfe von Rechtsklick und "Anpassen" kann man jetzt ein „leeres Symbol“ auswählen.


Anschließend sieht man den den Ordner nur, wenn man mit der Maus darüber geht und diesen markiert, als leere Zeile im Explorer oder in der Eingabeaufforderung.

Will man in der Eingabeaufforderung den Ordner umbennen, geht dies am Besten folgendermaßen:

  • C:\Users\hemel\Desktop
  • ren " " NeuerOrdner (Alt+255, um das geschützte Leerzeichen zu erzeugen)

Hinweis: Im ASCII-Zeichensatz (1963) sind keine geschützten Leerzeichen enthalten. Gerade ältere Computersysteme konnten sie nicht darstellen. Also ideal um damals z.B. unter MS-DOS  Dateien zu verstecken.

Samstag, 20. März 2021

Knoppix auf USB Stick installieren unter Windows - Update 2021

Ein kurzes Update zum Beitrag Knoppix auf USB Stick installieren unter Windows aus 2018. Mittlerweile gibt es die Version 9.1, welche auf Debian bullseye basiert und bietet nun auch eine Unterstützung für UEFI Secure Boot.

Bootoptionen von Knoppix

Die Bootoptionen zum Starten von Knoppix sind meistens nicht erforderlich. Knoppix startet jedoch für einige Sekunden mit einem Boot-Prompt. Hier lassen sich jetzt Bootoptionen (z.B. KDE-Desktop start) angeben.

Weiterhin bietet sich Knoppix wie eh und je gut für die Rettung des eigenen Systems an, dabei unterstützen die folgenden Tools wie dd (disk dump), ddrescue, ntfsclone und GParted.

Samstag, 13. März 2021

Fehler - Arten von Misserfolgen

Im wesentlichen gibt es die folgenden drei Arten von Misserfolgen.

Vermeidbare Misserfolge
Sind die Folge von Unaufmerksamkeit, Nachlässigkeit, Unfähigkeit oder Abweichung von Regeln und Protokollen.

  • Schlechte Misserfolge, da in der Regel vermeidbar sind durch Protokolle, Liebe zum Detail oder kompetente Mitarbeiter.


Komplexitätsbedingte Misserfolge
Sind die Folge von verschiedenen Unbekannten einer Aufgabe.

  • Unproblematisch, wenn eine Identifizierung erfolgt und Korrekturmaßnahmen ergriffen werden.


Intelligente Misserfolge
Dies sind Misserfolge, die Wissen erzeugen und im Streben nach Innovation gemacht werden.

  • Sollen gefördert und gefeiert werden!

Sonntag, 7. März 2021

Kontextverluste - (Zeit-)Verschwendung durch Projektwechsel bzw. Multitasking

In dem Buch Quality Software Management: Congruent Action schlägt Gerald Weinberg eine Faustregel zur Berechnung der (Zeit-)Verschwendung vor, die durch Projektwechsel verursacht werden.

So wirkt sich selbst das Hinzufügen eines einzelnen Projekts zur aktuellen Arbeitslast nach Weinbergs Berechnung äußerst schwächend! Man verliert mindestens 20% seiner Zeit!

Muss man zum Beispiel ein weiteres drittes Projekt betreuen, wird fast die Hälfte der Zeit für das Wechseln von Aufgaben (KONTEXTVERLUST) verschwendet.
 
 
Wenn man sich auf ein einzelnes Projekt konzentriert, kann man 100% seiner Zeit darauf verwenden. 
 
Sobald man jedoch mit dem Multitasking von Projekten beginnt, steigt der Effizienzverlust massiv!
 
Nach der Schätzung von Weinberg verliert man 
  • 20% seiner Zeit, wenn man gleichzeitig an 2 Projekten arbeitet, 
  • 40% an 3 Projekten und bis zu 
  • 75% an 5 Projekten
Die ständige Ablenkung der Gedanken zwischen den verschiedenen Aufgaben oder Projekten ist extrem zeit- und energieintensiv.

Montag, 1. März 2021

Synology NAS - Speicherplatz erweitern - Update 14 TB

Kurz ein Update zum Artikel Synology NAS - Speicherplatz erweitern, die reibungslose und wirklich einfache Erweiterungsfunktion und vor allem der Festplattentausch des Synology DS220+ 2 Bay Desktop NAS ohne eine einzige Schraube lösen zu müssen ist einfach nur genial!

Ein Upgrade von den 8 TB großen Seagate ST8000DM005 Festplatten hin zu den 14 TB großen Western Digital WD141KRYZ WD Gold Festplatten war ohne Probleme möglich.


Samstag, 27. Februar 2021

Scrum - Sprint / Team Retrospektive

Die Sprint Retrospektive findet am Ende des Sprints statt. Hierbei überprüft das gesamte Scrum Team seine Arbeits- und Verhaltensweise während des Sprints, um im nächsten Sprint noch effektiver und effizienter arbeiten zu können.

Ablauf

  • Es sollte eine angenehme Atmosphäre für das Team geschaffen werden,
    • z.B. durch den Raum, der Umgebung und dem Zeitpunkt,
  • jedes Teammitglied sollte Zeit für die Vorbereitung auf den Termin haben.
  • Die Daten werden vom Scrum Master gesammelt (Erkenntnisse und Einsichten) und z.B. auf einem „Board“ festgehalten.
  • Abschließend werden Aktionen und Verbesserungsmöglichkeiten daraus abgeleitet.

Beispiel

  • Eine Pinnwand mit den Symbole: "Gewitter", "Regen", "Sonne".



Quelle: https://cdn.pixabay.com/photo/2013/07/12/12/53/weather-forecast-146472_1280.png

  • Jeder im Team bekommt 3 Karten, für jede Kategorie eine und gibt Feedback zu den folgenden Fragen:
    • Gewitter - Was hat mich im letzten Sprint wütend gemacht hat?
    • Regen - Was hat mich im letzten Sprint traurig gemacht hat?
    • Sonne - Was hat mich im letzten Sprint froh gemacht hat?

Eine nächste (Team) Retrospektive steht an und man hat keine Ideen für einen Ablauf? Dann kann ich die Seite https://retromat.org/de/ empfehlen. Hier kann man sich zufällig Ideen für eine Retro generieren lassen.

Sonntag, 21. Februar 2021

Zeitmanagement - MoSCoW Priorisierung / Prinzip

In einem meiner ersten Blog Einträge (Nutzen Sie das Parkinsonsche Gesetz) bin ich kurz auf das Pareto-Prinzip (Reduzieren Sie Ihre Aufgaben auf das Wesentliche mit Hilfe der 80-zu-20-Regel) eingegangen. Eine gute Hilfe um seine Aufgaben zu priorisieren, bietet das MoSCoW-Prinzip.


MoSCoW ist ein Akronym und steht für

MUST HAVE

  • Nicht verhandelbare Aufgaben, die zwingend erledigt werden müssen und deren Erledigung erfolgskritisch ist.

SHOULD HAVE

  • Wichtige Aufgaben, die keine hohe Priorität haben, aber durchaus signifikanten Mehrwert für das Tätigkeitsfeld stiften

COULD HAVE

  • Nice-to-have Aufgaben, die nur wenige Mehrwert generieren und daher auch weggelassen werden können ohne Schaden anzurichten.

WON’T HAVE

  • Aufgaben, die eindeutig de-priorisiert werden können, da sie keinen Mehrwert stiften und/oder überproportional viel Zeit in Anspruch nehmen


Mit Hilfe der richtigen Priorisierung sollte man die Umsetzung der jeweiligen Anforderungen nach ihrer Wichtigkeit und ihrem Potenzial steuern.

Mittwoch, 17. Februar 2021

Kommunikation - Feedback, 5 Finger Feedback

In agilen Projekten sind "offene Information- und Feedback-Prozesse" sehr wichtig. Auch sollte man in seinen Projektteam immer ehrliche und aufrichtige Anerkennung geben. In diesem Beitrag möchte ich kurz auf Feedback Möglichkeiten eingehen.


Wie kann man Feedback geben und somit auch die "Scrum Werte" berücksichtigen?

  1. Feedback Möglichkeit anbieten.
  2. Positive Rückmeldung sollte zuerst gegeben werden.
  3. Die Rückmeldung muss konkret sein und sollte eine Beschreibung bzw. Beispiel beinhalten.
    • Wichtig, jeder ist für sich selbst verantwortlich und spricht nur für sich.
    • Nicht: Wir alle sind total verärgert. => Sondern: Ich habe mich geärgert über xyz.
  4. Formulierung einer konkreten Bitte bzw. eines Vorschlags, aber KEINER Forderung.
  5. Der Dialog dabei ist sehr wichtig (den anderen sehen/erkennen, nicht Recht haben wollen).

 

Eine weitere gute Methode, ist die „Fünf-Finger-Methode“.

Quelle: Landesmedienzentrum Baden-Württemberg, https://www.lmz-bw.de/medien-und-bildung/medienwissen/medienbildung/definitionen-von-medienkompetenz-und-methoden/methoden/feedback-hand/

Samstag, 13. Februar 2021

Kommunikation - Aktives Zuhören und GFK (Gewaltfreie Kommunikation)

In einem meiner ersten Beiträge Kommunikation mit Gesprächspartnern in diesem Blog aus 2013, bin ich auf das 4 Ohren Modell von Friedemann Schulz von Thun (4-Seiten-Modell) eingegangen.


Ich möchte diesen Beitrag kurz aufgreifen und beschreiben, wie aktives Zuhören funktioniert, denn Kommunikation beginnt mit "Zuhören".

Deswegen immer volle Konzentration auf den Gesprächspartner und die folgenden Punkte berücksichtigen:

  • Volle Aufmerksamkeit auf den Gesprächspartner bzw. Sprecher.
  • Keine Interpretation.
  • Kein „Was antworte ich?“.
  • Schweigendes Zuhören.
  • Paraphrasieren bzw. (einen sprachlichen Ausdruck) mit anderen Wörtern oder Ausdrücken umschreiben.
  • Fragen stellen.

Ähnlich funktioniert auch das Grundmodell der GFK (Gewaltfreie Kommunikation) von Marshall B. Rosenberg (Beobachtung, Gefühl, Bedürfnis, Bitte).

Montag, 8. Februar 2021

Linux - Dateinamen mit Sonderzeichen (Umlaute) umwandeln / umbennen mit Detox

Mit Hilfe von Detox kann man relativ schnell Dateinamen bereinigen bzw. umbennen. Es ersetzt z.B. Leerzeichen durch Standardäquivalente und Dateinamen mit UTF-8- oder Latin-1-Zeichen (ISO 8859-1) werden automatisiert bereinigt.


Installation

sudo apt install detox

oder

git clone https://github.com/dharple/detox.git
cd detox
autoreconf --install (sudo apt install autoconf)
./configure
make (sudo apt install make)


Ausführen

Die wichtigste Option ist -n (--dry-run). Auf diese Weise kann man Detox ausführen, ohne die Dateien zu ändern, also eine Art Vorschaufunktion.

detox -n

detox -v

Ohne die Option, erfolgt dann die Umbennung der Dateien.



Sonntag, 7. Februar 2021

Tools - Windows Sysinternals, Microsoft PowerToys

Sysinternals wurde 1996 von Mark Russinovich gegründet, um seine Systemdienstprogramme und technischen Informationen allen Windows Nutzern bereitzustellen. Microsoft stellt unter https://live.sysinternals.com alle System-Utilities von Sysinternals einzeln zum direkten Download bereit.


Die kostenlosen Tools sind nicht gepackt, lassen sich unter Windows durch einbinden als Netzlaufwerk starten:

net use s: http://live.sysinternals.com/tools

Eine genaue Beschreibung der einzelnen Tools findet sich unter https://docs.microsoft.com/de-de/sysinternals/ wie z.B. Autoruns oder Process Explorer.

Weitere nützliche Tools "Microsoft PowerToys", finden sich auch unter https://docs.microsoft.com/de-de/windows/powertoys/ wie z.B. Fancyzones.

Im Microsoft Strore findet sich Windows File Recovery.

Im Download Bereich von Microsoft findet sich Microsoft Garage Mouse without Borders.

Why, How, What - The golden circle von Simon Sinek

Die Anforderungen werden bei Scrum nicht in Use Cases (Anwendungsfälle), sondern in User Stories erfasst. User Stories (Anwendererzählung) beschreiben GUIs, Funktionalitäten und Testszenarien.

Als „Anwender“ will ich „Eigenschaft/Feature“ Damit „Nutzen“.

Einen ähnlichen Ansatz verfolgt auch der "golden circle" von Simon Sinek.


In dem Buch Frag immer erst: warum: Wie Top-Firmen und Führungskräfte zum Erfolg inspirieren  beschreibt Sinek, dass die Menschen von einem Sinn für Ihre Absichten (dem "Warum") inspiriert sind. Daher sollte das WHY (Warum und wofür ist es wichtig?) bei der Anforderungsbeschreibung an erster Stelle stehen, bevor man mit dem "Wie" und "Was" in die Detaillierung geht.

Sinek nennt diese "Triade" den goldenen Kreis, beschrieben in einem Kreis-Diagramm mit

  • "Why / Warum" im innersten Kreis, der die Motive oder Zwecke darstellt. Umgeben von einem Ring mit der Bezeichnung
  • "How / Wie" hier werden die die Prozesse und Methoden dargestellt (Wie willst du dein Ziel erreichen?). Eingeschlossen mit der Bezeichnung
  • "What / Was" welcher die Ergebnisse darstellt (Was machst du um dein Ziel zu erreichen?).

Quelle: Wikipedia (The golden circle diagram, redrawn from Start with Why - Mosborne01)

Samstag, 30. Januar 2021

Warum eigentlich agil?

Das Scrum Manifest der agilen Softwareentwicklung definiert agile Methoden nach z.B. der Eigenschaft das sich Prozesse während der gesamten Projektzeit ständig weiterentwickeln und immer wieder neu bewertet müssen. Aber warum ist man überhaupt gezwungen agile Methoden zu verwenden?


Eine gute Antwort auf die Frage bietet mein Blog Eintrag vom April 2020  "Digitalisierung - The Six D's of Disruption". Mit Hilfe des Modells kann man verstehen, wie Technologien bzw. Digitalisierung uns beeinflussen.

In letzten Jahren kam es immer schneller zu einer "Demokratisierung" und Technologien sind immer schneller mehr und mehr Menschen zugänglich. Dies führt zu einem Verschwinden von alten Technologien bzw. kompletter Berufszweige. Die folgendene Grafik zeigt die Anzahl der Jahre, bis die aufgeführten Technologien eine Reichweite von 50 Millionen Nutzern erlangt hatten. So hatte Facebook bereits nach 3,5 Jahren 50 Millionen Nutzer. Das Telefon benötigt 75 Jahre für 100 Millionen Nutzer, das Fernsehen benötigte 13 Jahre und Candy Crush nur 1,3 Jahre bis es eine Nutzerschaft von 50 Millionen erreicht hatte.

Definition Agilität

Schnelle Reaktions-(Adaptions-)fähigkeit in einer komplexen Welt. Siehe hierzu auch "Die Komplexität von Scrum bzw. eines Projektes kann durch die Stacey Matrix dargestellt werden".

Die Themen Unsicherheit und Komplexität könne auch gut durch das Akronym VUCA beschrieben werden, welches sich aus den vier Begriffen Volatilität (Unstet - schneller Wandel - Flüchtigkeit), Unsicherheit (Unberechenbarkeit - keine Strategien), Komplexität (Multioptionen -
Vernetzung - Schnelligkeit) und Ambiguität (Mehrdeutigkeit - Multifaktoriell - verwirrend) zusammensetzt.


AGILE => "Always run a changing system" anstatt "Never change a running system"!

Montag, 25. Januar 2021

Raspberry Pi - statische IP bzw. initiale IP-Adresse vergeben (cmdline-txt)

Betreibt man den Raspberry Pi ohne Tastatur und Monitor, kann man sich per SSH (Raspberry Pi Stretch Lite - Installation incl. SSH Fernsteuerung) von einem anderen Rechner aus einloggen. In der Regel erfolgt per default die Vergabe der IP-Adresse automatisch per DHCP.


Mit der folgenden Methode lässt sich eine feste IP-Adresse direkt per SD-Karte (cmdline-txt) vergeben

In der Datei "cmdline.txt" auf der SD-Karte (vFat-Partition) an der ersten und einzigen Zeile die folgende Syntax hinzufügen:

ip=<Raspi-ip>:<Netboot-ip>:<Gateway-ip>:<Subnetzmaske>:<Hostname>:<Netzwerkkarte>:<Autoconf>

Beispiel:

ip=192.168.1.111::192.168.1.1:255.255.255.0:pihole:eth0:off

Bedeutung der oben genannten Felder:

  • Raspi-ip: IP-Adresse die der Raspberry bekommen soll
  • Netboot-ip: IP eines Netboot-Servers, wird in der Regel nicht benötigt
  • Gateway-ip: IP des Routers
  • Subnetzmaske: Netzmaske, in der Regel 255.255.255.0
  • Hostname: Hostname des Raspberry Pi (im LAN ansprechbar, optional)
  • Netzwerkkarte: das Netzwerk-Gerät für die Zuweisung (z.B. eth0, wlan0)
  • Autoconf: Aktivierung/Deaktivierung der automatische Konfiguration (off)


Alternativ ist (im Nachgang) die folgende Methode (Anpassung der /etc/dhcpcd.conf) weiterhin gültig.

Samstag, 23. Januar 2021

PowerShell - Datum (Erstelldatum) von Dateien nachträglich ändern (rekursiv)

Möchte man das Erstelldatum von Dateien anpassen bzw. manipulieren, bietet sich das nachfolgende PowerShell-Script an.


Mit dem Befehl $dt = get-date 1.8.2020-13:45 lässt sich ein bestimmtes Datum setzen oder alternativ das aktuelle Datum verwenden.

Mit dem Befehl $User = [Environment]::UserName kann man den aktuellen Benutzernamen auslesen und so ggf. in der Variable "$scriptPath" verwendet werden.

Mit Hilfe von Get-ChildItem, kann man rekursiv und auch nur nach Bestimmten Dateien *.doc,*.pdf suchen.

Durch SetCreationTime wird für die jeweils gefundene Datei ein neues Erstelldatum gesetzt.
---

#$dt = get-date 1.8.2020-13:45
$dt = get-date

$User = [Environment]::UserName
#Write-Host $User.ToLower()

$scriptPath = "C:\Users\" + $User.ToLower() + "\OneDrive\"
#get the content of a directory you can use
$files = Get-ChildItem $scriptPath -Recurse #-Include *.doc,*.pdf

#loop
for ($i=0; $i -lt $files.Count; $i++) {
    #$outfile = $files[$i].FullName + "out"
    Write-Host "Found file - " + $files[$i].FullName -ForegroundColor Magenta
    [System.IO.File]::SetCreationTime($files[$i].FullName, $dt)
}

 

Mittwoch, 20. Januar 2021

Agile - Zusammenarbeit und Regeln für (virtuelle) verteile Teams

In der agilen Softwareentwicklung bietet z.B. Scrum bereits  Regeln, wie "Scrum: Werte & Prinzipien - Empowered, self-organized teams" und "Der Scrum Rahmen ist ein Zusammenspiel von der Organisation, dem Produkt und dem Team" vor. Gerade in Zeiten von Corona und Homeoffice empfiehlt es sicher daher für (virtuelle) verteile Teams Richtlinien zu definieren.


Folgende Grundsätze können als Basis für die Zusammenarbeit in virtuellen Teams verwendet werden:

  • Für alle Mitglieder im Team sollten Kernerreichbarkeitszeiten definiert werden, wie zum Beispiel von 09:00 bis 11:00 Uhr und von 13:00 bis 15:00 Uhr. In dieser Zeit sollte dann auch jeder zu erreichen sein.
    • Wichtig: Arbeiten die Teams ggf. in verschiedenen Zeitzonen, müssen diese Kernzeiten ggf. angepasst werden.
  • Eine "Definition of Done (DoD)" sollte definiert werden, damit allen im Team klar ist, ab wann einen Aufgabe wirklich als "erledigt" gilt.
  • Meetings bzw. Regeltermine sollte nur während der Kernarbeitszeiten stattfinden.
  • In einem kurzen "Daily" Meeting analog dem "Daily Scrum" sollte der Fortschritt aller Mitglieder transparent kommuniziert werden.
  • Vorgaben für den Krankheitsfall bzw. eine Vertretung innerhalb des Teams müssen vorab definiert werden.

Fazit: Die o.g. Vorgaben können nur als Idee dienen. Die Teams sollten gemeinsam die Regeln definieren und nach einer gewissen Zeit immer wieder auf den Prüfstand stellen. Gerade hierbei spielt eine offene und ehrliche Feedbackkultur eine wichtige Rolle.

Samstag, 16. Januar 2021

Effizienz - "Arbeit geht den Weg des geringsten Widerstandes"

Frau Hess zieht in dem Buch "Digital anders arbeiten: Effektive Methoden und neue Tools für den heutigen Büroalltag" den Schluss, "Wer ... fleißig alles zuverlässig abarbeitet, kann sich darauf verlassen, dass ihm oder ihr immer mehr Aufgaben zuwaschen". Siehe auch "Bill Jensen - Radikal vereinfachen: Den Arbeitsalltag besser organisieren und sofort mehr erreichen".


Bill Jensen hat hierzu ein LOGIK-Modell entwickelt, welches für E-Mails (ähnlich zu meinem Blogeintrag E-Mail - Posteingang mit der richtigen Strategie bearbeiten (Inbox Zero Methode)) , aber auch für alle anderen Aufgaben/Taks/ToDos angewendet werden kann.

  • Limits: Gehört diese Aufgabe zu den laufenden Projekten?
  • Ordnung: Sind die nächsten Schritte klar erkennbar?
  • Gewünschtes Resultat: Was soll als Ergebnis herauskommen?
  • Instrumente: Wie und womit werden Sie den Auftrag erledigen?
  • Konsequenz: Kommt für mich etwas dabei heraus?


Fazit: Erfüllt eine Aufgabe oder E-Mail nicht diese Kriterien, dann sollte dies Thema erstmal nicht weiter beachtet werden. E-Mails könnten in dem Fall sogar direkt gelöscht werden. Vermutlich macht aber eine sehr einseitige Anwendung des MOGIK-Modell wiederum nicht in jedem Fall Sinn. Die Kriterien sollten vielmehr ein Anstoser zum Nachdenken sein.

Mittwoch, 13. Januar 2021

PowerShell - Ausführung von Skripts auf diesem System deaktiviert (enable execution)

Nach zum Beispiel einer Neuinstallation von Windows 10 ist das Ausführen von PowerShell Scripten (z.B. https://sebastianhemel.blogspot.com/2020/12/deutscher-pressevertrieb-pdf-dateien.html) nicht mehr erlaubt. Eine Aktivierung ist mit dem folgenden Befehl möglich.

Meldung: Ausführung von Skripts auf diesem System deaktiviert

Die Datei "xyz.ps1" kann nicht geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert ist. Weitere Informationen finden Sie unter
"about_Execution_Policies" (https:/go.microsoft.com/fwlink/?LinkID=135170).
    + CategoryInfo          : Sicherheitsfehler: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnauthorizedAccess


Die Ausführung von PowerShell-Scripts zulassen

Die Windows PowerShell mit der Option "Als Administrator ausführen" starten.
Hinweis: Nur Mitglieder der Administratorgruppe auf dem Computer können die Ausführungsrichtlinie ändern.

Die Ausführung nicht signierter Skripte wird mit dem folgenden Befehl aktiviert:

Set-Execution-Politik ferngesteuert


Mittwoch, 6. Januar 2021

Microsoft Outlook 2016 2019 - Löschsymbol (Kreuz, X) fehlt in der Nachrichtenvorschau (Posteingang, Liste)

Auf meinem neuen Notebook mit Outlook 2019 war das Löschsymbol (rotes "X"), welches bei jeder einzelnen E-Mail in der Nachrichtenvorschau (Liste) angezeigt und das direkte Löschen der selektierten E-Mail ermöglicht, verschwunden.

Dies ist immer dann der Fall, wenn der "Touchscreen" (Fingermodus) Modus aktiv ist!

Um das "X" bzw. Löschsymbol wieder anzuzeigen, muss der "Mausmodus" aktiv sein!

Dafür muss man ggf. über die Symbolleiste den "Touch/Mausmodus" einblenden und den "Mausmodus" aktivieren. Jetzt sollte auch wieder das Löschsymbol neben den E-Mails angezeigt werden, wenn man mit der Maus Maus darüber fährt.

Samstag, 2. Januar 2021

Raspberry Pi-hole - Update Pi-hole

Derzeit kann man Pi-hole noch nicht über die Weboberfläche aktualisieren, da u.a. der Server neu gestartet werden muss.

Der folgende Befehl muss daher per Konsole (SSH-Verbindung) eingegeben werden:

pihole -up

Siehe auch Raspberry Pi-hole - Installation.

Android - (App) APK Decompiler und Quellcode anzeigen

Mit Hilfe von einem APK Decompiler wie z.B. "jadx - Dex to Java decompiler" ist es möglich eine kompilierte Android App wieder zurück in den Source Code umzuwandeln. Dies ist oft der erste Schritt um im Quellcode sensible Informationen (z.B. Passwörter eines Admin-Accounts oder Zugangsdaten zu Datenbanken bzw. Schnittstellen) zu finden.

Des Weiteren ist es möglich die Funktionsweise bzw. Programmierung der jeweiligen App genauer nachvollziehen umso IT-Security Schwachstellen zu finden. 


Die APK (Android Package Kit) Datei der Android App wird benötigt

Um an die Datei zu kommen, gibt es verschieden Möglichkeiten:

  1. APK Datei vom Smartphone auf PC kopieren mit Hilfe von ADB, wie man die Android Debug Bridge installieren kann, hatte ich bereits in einem älteren Artikel ABD Installation Amazon Fire-Tablet - Spezialangebote (Werbung) entfernen beschrieben.
    • adb shell pm list packages (z.B. "com.example.appname")
    • adb shell pm path com.example.appname (Pfadnamen der App anzeigen)
    • adb pull /data/app/com.example.appname-2.apk D:\Downloads
  2. Installierte Apps im Total Commander anzeigen und auf die SD-Karte oder WebDAV kopieren.
  3. Mit Hilfe von Sideloading die Android-App aus einem anderen Marketplace herunterladen.


Dekompilieren

Mit einem Dekompilier wandelt man den Bytecode (Maschinen- oder Objektcode) wieder lesbaren Quellcode in eine höhere Programmiersprache um. Dabei wird versucht, den Vorgang des Kompilierens umzukehren und den Quellcode wieder bestmöglich herzustellen.

Hinweis: Das Dekompilieren darf nicht mit dem Disassemblern verwechselt werden, denn die Assemblersprache ist nur eine andere Darstellung des kompilierten Maschinencodes!

Dekompilieren einer APK Datei mit jadx => JAVA

Die APK Datei wird mit Hilfe von jadx direkt in die entsprechenden Java-Dateien umgewandelt.

Download des aktuellen Release von github: https://github.com/skylot/jadx/releases/latest

Am einfachsten verwendet man "jadx" mit einer grafischen Benutzeroberfläche. Der Start erfolgt mit der Datei jadx-gui-1.2.0.exe . Anschließend wählt man im Fenster die APK Datei aus, welche dekompiliert werden soll.

Wurde die Datei ausgewählt, dekompiliert jadx sie und stellt auf der linken Seite der Anwendung alle Java-Pakete und -Dateien der APK aufgelistet bereit. Hinweis: Verwendet die App als native Code Basis Cordova, basiert die App selbst auf Javascript (der Quellcode befindet sich in dann unter Resources / Assets / www).

Jetzt ist es möglich nach sensiblen Informationen z.B. http(s)://, passw, key, user, rsa, aes, sslsocket und secret zu suchen.

Dekompilieren per Webseite

Zum Beispiel die Webseiten http://www.decompileandroid.com/ und http://www.javadecompilers.com/apk bieten das Dekompilieren als Online-Service an.