Montag, 28. März 2022

Agile - (Online) Warm-up bzw. Kennenlernspiele

In dem Beitrag Agile - "Lifehack" Sammlung Selbstmanagement und Kollaboration bin ich auf das Thema "Daily-Stand-up Meetings" eingegangen. Gerade bei Online-Meetings spielen die Themen Vorbereitung, Moderation und Zeitmanagement eine sehr wichtige Rolle. Um das "Eis" bei Online-Meetings oder Konferenzen zu brechen, bieten sich vor dem eigentlichen Start Kennenlern-Spiele bzw. Warm-ups an.

Es gibt vermutlich zich hunderte Ideen für Workshop Spiele, anbei ein paar Beispiele für den Einstieg:

  • Wichtig: Die Moderation sollte hierbei etwas vorschlagen, was zum Team passt und vor allem jeden zu Wort kommen lassen. Die Dauer sollte max. 5-8 Minuten betragen, um nicht den Fokus auf das eigentliche Meeting zu verlieren!
  • Jeder malt für sich in einer Minute ein Tier, das die heutige Stimmung widerspiegelt. Anschließend zeigen alle die Ergebnisse und erklären sie gegenseitig kurz.
  • Die Teilnehmer sollen in ihrem Arbeitszimmer (bei Homeoffice) einen Gegenstand einer bestimmten Farbe suchen und in die Kamera halten.
  • Was müssten wir tun, damit das Meeting heute ein "Reinfall" wird?
  • Was ist deine Superpower?
  • Wenn Zeitreisen möglich wären, wohin würdest du reisen? Warum?


Viele weitere Ideen finden sich im Blog Wilde Workshop-Spiele.

Samstag, 26. März 2022

Hacking - Mit Hilfe von Google

Mit Hilfe von Google Hacking (Google Dorking) ist es möglich indexierten Inhalt, welcher nicht für die Öffentlichkeit gedacht war, mit Hilfe von gezielten Suchanfragen schnell und einfach zu finden. Hierzu gab es von mir bereits vor einigen Jahren den Beitrag Spion im Wohnzimmer - Offene Webcams finden.

Exploit Database

Hier gibt es einen eigenen Bereich "Google Hacking" mit den neuesten bekannten Suchbegriffen.

DorkSearch

Unter dorksearch.com kann man auf über 7.000 vorgefertigte Begriife zugreifen und sie miteinander kombinieren.




Sonntag, 20. März 2022

Hacking - Netzwerkscanner, nmap, Reverse Shell und Password Cracking mit hashcat

In den Artikel Security - Nmap Netzwerkscanner und Kali Linux und Hacking - Nützliche Tools (PassView, Windows Login Unlocker, Recovery, Process Hacker, Network Sniffer) habe ich bereits etliche Beispiele beschrieben, welche Tools Hacker verwenden und wie sie dabei vorgehen. In diesem Beitrag werde ich noch etwas tiefer ins Detail gehen.


Netzwerkscanner (Netdiscover)

Netdiscover kann auch verwendet werden, um im Netzwerk-ARP-Pakete zu untersuchen oder Netzwerkadressen mithilfe des Auto-Scan-Modus zu finden. Siehe auch https://www.kali.org/tools/netdiscover/. Hierdurch lassen sich in einem Netzwerk potenzielle Angriffsziele ermitteln.

Installation: sudo apt-get install netdiscover
Aufruf: netdiscover -r 192.168.1.0/24

Hinweis: Netdiscover staret automatisch mit der ersten Netzwerkschnittstelle, die es findet.

nmap Funktion http-enum

Mit Hilfe von http-enum findet man automatisiert Dateien oder interessante Verzeichnisse auf einem Webserver. Dabei sendet das Script weit über tausend Abfragen für gängige Dateien und Verzeichnisse an den Server. So lassen sich schnell wichtige Informationen erhalten, ob einige bekannte Dienste oder Dateien auf dem Webserver offen zugänglich sind oder nicht.

Aufruf: nmap -n --script=http-enum 192.168.1.1 oder Domain.de


WordPress: Reverse Shell

Es gibt viele verschiedene Methoden WordPress anzugreifen (z.B. WordPress - Brute-Force Angriffe mit XML-RPC und REST-API), eine davon ist Zugriff auf die WordPress-Verwaltungskonsole mit Hilfe des Metasploit Framework https://www.kali.org/tools/metasploit-framework/. Hierdurch ist es dann auch mögloch eine "Reverse Shell" als Plugin zu installieren, um so "root" bzw. Vollzugriff auf den Server zu erhalten.
Das Vorgehen ist unter https://www.hackingarticles.in/wordpress-reverse-shell/ beschrieben.

Password Cracking mit hashcat

Hashcat ist ein extrem schnelles Tool zur Passwortwiederherstellung. So kann es hochkomplexe Passwörter in kürzester Zeit knacken. Dies ist möglich, wenn Passwörter einem Wörterbuch entstammen.
Ein gutes Tutorial für den Einstieg findet sich unter https://resources.infosecinstitute.com/topic/hashcat-tutorial-beginners/.


Samstag, 12. März 2022

Datenbank - Universally Unique Identifier (UUID) als Primärschlüssel anstatt Integer verwenden

Die Verwendung von Tabellen, Spalten, Primärschlüsseln und Sekundärschlüsseln sind die Grundlagen für den Aufbau eines Datenbanksystems. Um die Datensätzen für Verarbeitung-, Zugriffs- und Speicherungszwecken nutzen zu können, werden in der Regel Tabellen  mit einer ID als Primärschlüssel und Sekundärschlüssel angelegt. Als Datenformat verwendet man meistens ein 32-Bit-Integer und aktiviert das automatische Inkrementieren für die ID mit jeder neu angelegten Zeile. Die Verwendung eines 32-Bit-Integer kann aber in bestimmten Situationen zu Problemen führen, welche sich mit Hilfe von einer anderen universell eindeutigen Kennung (UUID) umgehen lässt.

Anhand dem folgenden Beispiel der Tabelle "Raumtechnik", vergibt die Datenbank immer automatisch eine freie ID.

CREATE TABLE Raumtechnik (Id INT NOT NULL AUTO_INCREMENT, Typ VARCHAR(255) NOT NULL, Beschreibung VARCHAR(255), PRIMARY KEY (Id));

Beispiel für ein logisches Datenbankkonzept.

Integer (UNSIGNED INT / BIGINT)

Eine Möglichkeit der Optimierung wäre hier einen vorzeichenlosen Integer (UNSIGNED INT) zu verwenden. Siehe auch "Im Dezember 2014 übertraf die Aufrufzahl von Psys Video „Gangnam Style“ auf YouTube das 32-Bit-Integer-Limit von 2 147 483 647."

Id UNSIGNED INT NOT NULL AUTO INCREMENT,

So lässt sich der Zahlenraum für IDs verdoppeln von 0 bis 4 294 967 295. Für sehr große Projekte sollte daher der 64-Bit-Integer UNSIGNED BIGINT verwendet werden. Aufpassen sollte man hier aber bei Web Applikationen (JSON Format), denn JavaScript-Engines der Browser haben hier irgendwann Probleme.

Probleme von Auto-Increments

Auto-Increments können bei der Verwendung von Datenbank Clustern ggf. ein Problem werden. Denn hier erhält jeder Node einen Schreibauftrag. Damit sie sich nicht bei jedem Insert auf die nächste ID einigen müssen erhöhen die Nodes die ID nicht um +1, es wird um die Anzahl der Nodes im Cluster erhöht.

Verwendet man in seiner Applikation Import- und Export-Funktionen, kann dies in einer relationalen Datenbank (über Schlüssel mit anderen Tabellen verknüpft) beim Importieren von Datensätze aus einer anderen Datenbank zu Problemen führen. So können Einträge bereits existieren und IDs sich doppeln, die Einträge müssten somit neue IDs bekommen und in allen anderen relevanten Tabellen müssen die Fremdschlüssel aktualisiert werden. Je nach dem wie groß der Import ist, kann es hier zu sehr großen verketteten Abhängigkeiten kommen.

Verwendet man IDs in seiner WebAPI (uni.org/klausurergebnis/123), kann dies schnell zum Sicherheitsproblem innerhalb der Anwendung führen. So lassen sich IDs sehr einfach erraten und ggf. fremde Ergebnisse abrufen.
 

UUIDs Universally Unique Identifier

UUIDs können in einer Datenbank als Alternative zum Integer verwendet werden und können die oben beschriebenen Probleme beim Importieren von Daten und Zusammenführen der Datensätze verhindern.

Die UUID (Request for Comments 4122) besteht aus einer 16-Byte-Zahl, ist hexadezimal notiert und in fünf Gruppen unterteilt:

550e8400-e29b-11d4-a716-446655440000

Microsoft nennt dieses Verfahren anders, nämlich GUID (Globally Unique Identifier).

Erzeugen lassen sich die UUIDs unter PostgreSQL mit Hilfe von gen_random_uuid () und bei Microsoft SQL Servern verwendet man beim Anlegen der Tabelle den UNIQUE IDENTIFIER.

CREATE TABLE Raumtechnik (unique_id UUID DEFAULT gen_random_uuid (), Typ VARCHAR(255) NOT NULL, Beschreibung VARCHAR(255), PRIMARY KEY (unique_id));

Zukünftige Konflikte sollten mit der Verwendung von UUIDs so gut wie ausgeschlossen sein, denn eine UUID ist einzigartig und kann nur einmal vergeben werden.