Artikel mit Tag linux

MERGE: PostgreSQL 14 Cluster auf PostgreSQL 15 aktualisieren

Wie jedes Jahr im Herbst wurde auch 2022 eine neue PostgreSQL Version veröffentlicht.

postgres_logo

Zu den größten Neuerungen von Version 15 zählt sicherlich die Einführung des MERGE Befehls. Zusätzlich wurde die logische Replikation um das Filtern nach Zeilen erweitert. Ebenfalls erwähnenswert ist die Einführung von zstd. Der Datenkompressionsalgorithmus aus dem Hause Facebook spart Zeit und Plattenplatz.

Alle Neuerungen lassen sich dem Release Log entnehmen.

Installation und Update auf PostgreSQL 15 unter Debian/Ubuntu

# Create the file repository configuration:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

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

# Update the package lists:
sudo apt-get update

# Install the latest version of PostgreSQL.
sudo apt-get -y install postgresql-15

# Sicherung erstellen
sudo su postgres
pg_dumpall > Sicherung
exit

#Vorhandene Cluster anzeigen
pg_lsclusters

#Neues Cluster anhalten
sudo pg_dropcluster --stop 15 main

#Vorhandenes Cluster aktualisieren
sudo pg_upgradecluster 14 main

# Neues Cluster prüfen
sudo pg_ctlcluster 15 main status
sudo pg_isready

#Altes Cluster verwerfen
sudo pg_dropcluster 14 main

Nuclei - schneller Schwachstellen Scanner mit praktischen Vorlagen

In der Vergangenheit wurden auf ITrig öfters Security Scanner erwähnt, z.B. OpenVAS oder Trivy. Diese Security Scanner sind natürlich nicht die einzigen im Internet. Ein weiterer Kandidat auf Go Basis ist Nuclei. Der vorlagenbasierte Schwachstellen-Scanner ist inzwischen Teil des Kali-Universums (2022.1) und bekommt daher heute einen gesonderten Artikel spendiert.

Nuclei

Das Open-Source-Tool scannt verschiedene Protokolle (TCP, SSH, DNS, HTTP/S, SSL, Websocket, Whois usw.) auf Schwachstellen und mehr. Dazu werden YAML-Vorlagen verwendet. Diese Templates werden zum größten Teil von der Community beigesteuert, können aber auch selbst für die eigenen Bedürfnisse geschrieben werden. So kann für die vor wenigen Tagen veröffentlichte Confluence Lücke CVE-2022-26134 bereits ein Scan Template gefunden werden.

 

nuclei-flow

Neben Nuclei bietet ProjectDiscovery noch weitere gute Programme für das Security-Umfeld. Beispielsweise subfinder, ein Subdomain Discovery Tool.

Bevor tiefer in Nuclei eingetaucht werden kann, muss der Scanner installiert werden.

Installation Nuclei unter Debian/Ubuntu

Da das Tool auf der Programmiersprache Go basiert, muss diese zunächst installiert werden.

curl -OL https://go.dev/dl/go1.18.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xvf go1.18.3.linux-amd64.tar.gz
sudo nano ~/.profile
    export PATH=$PATH:/usr/local/go/bin
source ~/.profile

Alternativ

sudo apt install golang-1.16

Nun kann die neueste Nuclei Version gebaut werden.

git clone https://github.com/projectdiscovery/nuclei.git
cd nuclei/v2/cmd/nuclei
go build
sudo mv nuclei /usr/local/bin/
nuclei -version

Nach der Installation sollte die Datenbank aktualisiert werden, damit Templates zur Verfügung stehen.

nuclei -ut
?  nuclei git:(master) nuclei -ut

                     __     _
   ____  __  _______/ /__  (_)
  / __ \/ / / / ___/ / _ \/ /
 / / / / /_/ / /__/ /  __/ /
/_/ /_/\__,_/\___/_/\___/_/   2.7.2

        projectdiscovery.io

[WRN] Use with caution. You are responsible for your actions.
[WRN] Developers assume no liability and are not responsible for any misuse or damage.
[INF] nuclei-templates are not installed, installing...
[INF] Successfully downloaded nuclei-templates (v9.0.6) to /home/user/nuclei-templates. GoodLuck!

ls -l ~/nuclei-templates/

Nachdem die Template-Datenbank aktualisiert wurde, können einzelne Vorlagen direkt in den Scanbefehl eingebunden werden.

Im Folgenden möchte ich einen kleinen Teil der möglichen Befehle mithilfe von Templates aufzeigen:

Einfacher API Scan

nuclei -u $URL -t ~/nuclei-templates/exposures/apis/

WordPress Scan

nuclei -u $URL -t ~/nuclei-templates/vulnerabilities/wordpress/

CVE Scan

nuclei -u $URL ~/nuclei-templates/cves/2022/CVE-2022-XXXX.yaml

Token Spray

nuclei -u $URL ~/nuclei-templates/token-spray/ -var token=XXX_TOKEN_XXX

Listen

Der Scanner kann mit Listen umgehen, was beim Scannen mehrerer URLs durchaus helfen kann.

nuclei -u $URL -list http_urls.txt

Filter

Nuclei unterstützt Filter, wie tags, severity, author

nuclei -u $URL -tags cve

Workflows

Nuclei kann Workflows abbilden, d.h. es könnten z.B. Templates in einem Workflow gebündelt werden. Hier ein Beispiel:

id: workflow-example
info:
  name: Test Workflow Template
  author: pdteam

workflows:
  - template: technologies/tech-detect.yaml
    matchers:
      - name: wordpress
        subtemplates:
          - template: cves/CVE-2019-6715.yaml
          - template: cves/CVE-2019-9978.yaml

Auf solche Workflows können wiederum auch Filter angesetzt werden

nuclei -u $URL -w workflows/workflow-example.yaml -severity critical,high -list http_urls.txt

Rate Limits

Um die Anzahl der gleichzeitigen Zugriffe zu regulieren, können Rate Limits gesetzt werden.

  • rate-limit     Control the total number of request to send per seconds
  • bulk-size     Control the number of hosts to process in parallel for each template
  • c     Control the number of templates to process in parallel

Custom Header

Es kann notwendig sein, einen eigenen Header zu setzen. Gerade bei BugBounty Programmen oder um euch als Pentester erkennen zu geben. Dazu kann die "/home/user/.config/nuclei/config.yaml" angepasst werden:

    # Headers to include with each request.
header:
  - 'X-BugBounty-Hacker: h1/geekboy'
  - 'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) / nuclei'

Wer dies ad hoc via CLI erledigen möchte, der muss nur "Header" in der Befehlskette verwenden.

nuclei -header 'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) / nuclei' -list urls.txt -tags cves

Hier endet auch schon der Schnelleinstieg in Nuclei. Ich hoffe, ihr habt einen schnellen Einblick bekommen, was mit dem Scanner möglich ist und warum die vorhandenen Vorlagen und Einstellmöglichkeiten Nuclei momentan zu einem sehr beliebten Tool machen.

Weitere Tipps findet ihr direkt auf Github oder beim Template Guide

Viel Erfolg beim Testen der eigenen Webseite, Apps, Sockets.

 

ParrotOS 5.0 LTS und Kali Linux 2022.1 veröffentlicht

Parrot 5.0

Nach über einem Jahr wurde Parrot 5.0 als LTS Version veröffentlicht.

parrot-5Die bekannten Editionen wurden weitgehend (bis auf die MATE Arbeitsumgebung) beibehalten. Es gibt weiterhin eine Home Edition und eine Security Edition.

Mit Parrot Architekt wurde die ARM Edition wiederbelebt, dabei handelt es sich um eine minimale Variante, die nicht viel mehr als einen Installer mitbringt. Sie eignet sich nach Angaben der Entwickler für WSL Portierungen oder Server Varianten.

Hack the Box

Vor einiger Zeit hatte Parrot die Zusammenarbeit mit Hack The Box bekannt gegeben. Daraus ist PwnBox entstanden, welches via Hack The Box direkt im Browser verwendet werden kann. Details zur Verwendung finden sich hier.

Die PwnBox erinnert an die virtuellen Browsersysteme von Try Hack Me, wobei THM ein etwas anderes Modell verfolgt.

Mit Release 5.0 kann diese PwnBox Edition ebenfalls heruntergeladen werden.

Technische Neuerungen

Anders als frühere Versionen basiert Parrot nun auf Debian 11 Stable. Zusätzlich wurde ein Rolling Release Modell für Security Updates eingeführt.

Der neue Kernel basiert auf Version 5.6

Tools

Wie bei jedem Update wurde auch das Toolset erweitert.

  • Das Pocsuite3 Security Framework des Knownsrc 404 Teams wurde aufgenommen. Bei Pocsuite handelt es sich um ein freies Tool zum Aufspüren von Sicherheitslücken

  • Mit findmyhash 2.0 wurde die neueste Version des Hash Crackers integriert

  • Das neue Tool Dirsearch ist ein klassischer Path Scanner

  • Python3-pcodedmp ist neu dabei, ein VBA P-Code disassembler

  • Mimipenguin erlaubt das dumpen von Login Daten des aktuellen Linux Nutzer

  • MS Office Freunde erhalten mit den oletools das richtige Werkzeug, um Dokumente zu untersuchen.

  • Windows Nutzer können mit Pyinstxtractor den Inhalt von PyInstaller exe Dateien extrahieren.

  • Für die Fuzzer wurde Ffuf aufgenommen

  • Ivy ist ein Payload Creation Tool für VBA

  • Jwtxploiter testet JSON Web Tokes gegen die CVE Datenbank


Kali Linux 2022.1

Kali-dragonAuch der Branchenprimus liefert regelmäßig aktualisierte Distribution aus. Das aktuelle Jahresrelease 2022.1 von Mitte Februar wurde optisch aufgepeppt und bringt frische Hintergrundbilder und ein neues Grub Theme mit. Die Browser Startseite und das Shell Prompt (aus dem Totenkopf ist ein K geworden) wurden überarbeitet.

Mit dem „Kali Linux Everything“ Image kann jetzt eine ISO mit allen Tools heruntergeladen werden. Aufgrund der Größe (bis zu 9.5 GB) ist dieses allerdings nur via Torrent verfügbar.

Nutzer einer Gast-VM mit i3 Umgebung kommen nun in den Genuss von copy/paste und drag&drop. Dieses Feature wird inzwischen automatisch aktiviert.

Tools

Neue Werkzeuge dürfen auch beim Kali Release nie fehlen:

  • dnsx - Schnelles und vielseitiges DNS-Toolkit

  • email2phonenumber - Ein OSINT-Tool, um die Telefonnummer einer Zielperson via E-Mail-Adresse zu ermitteln

  • naabu – Nein, nicht der Naturschutzbund, sondern ein schneller Port-Scanner

  • nuclei - Gezieltes Scannen mithilfe von Vorlagen

  • PoshC2 - Ein proxyfähiges C2-Framework mit Post-Exploitation

  • proxify - Schweizer Taschenmesser Proxy-Tool für die Erfassung und Manipulation HTTP/HTTPS-Traffic

 

ARM Tools

Auch auf der ARM Architektur wurden neue Tools integriert. So wurde mit Ghidra das bekannte SRE Framwork aufgenommen und mit Feroxbuster ein in Rust geschriebenes Force Browsing Tool, welches mithilfe von Wortlisten gut dafür geeignet ist, versteckte Verzeichnisse und Dateien zu finden



Übersicht 03/2022

 

Name Version Tools Basis GUI
Autopsy 4.18 ??? Windows  
BackBox 7.0 100+ Ubuntu Xfce
BlackArch 2021.09 1750+ ArchLinux Multi
CAINE 11 100+ Ubuntu Mate
DracOS 3.0   LFS DWM
DEFT Zero 2018.2   Lubuntu Lxde
Kali Linux 2022.1 600+ Debian 11 Multi
Kali AppStore   40+ Android  
LionSec 5.0   Ubuntu  
Matriux v3 RC1   Debian Gnome
NST 34 ??? Fedora  
NetSecL OS 6.0   OpenSuse Lxde
Paladin 7.0   Ubuntu  
Parrot OS 5 700+ Debian 11 Mate
Pentoo 2018.0 RC7.1   Gentoo Xfce
Ronin     Lubuntu Lxde
Sans SIFT 3.0   Ubuntu  

Exa - Bessere Listen unter Linux mit dem ls Ersatz

Es gibt unter Linux ein paar wenige Kommandos, welche ständig zum Einsatz kommen, dazu zählt sicherlich das Kommando ls. Nun ist dieser Befehl schon etwas in die Jahre gekommen, bietet aber eigentlich noch immer alles, was im Alltag benötigt wird.

Mit Exa gibt es einen ls Ersatz, der das staubige Image etwas aufpeppen möchte.

Bevor hier ein paar Worte zu Exa fallen noch ein kleiner Hinweis, wie ihr eure Top-Befehle auf der Konsole anzeigen könnt, damit ihr seht wie oft ihr ls eigentlich verwendet.

history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort -nr

Exa - ein moderner ls Ersatz für Ubuntu/Debian

Die Installation von Exa ist denkbar einfach und kann unter neueren Systemen via apt erledigt werden.

sudo apt install exa

Auf älteren Systemen muss das passende Paket manuell heruntergeladen werden.

wget https://github.com/ogham/exa/releases/download/v0.10.0/exa-linux-x86_64-v0.10.0.zip

sudo install bin/exa /usr/local/bin/

Um das Tool zu verwenden, reicht ein einfaches exa aus. Allerdings wird beispielsweise ein Ubuntu Nutzer schnell feststellen, dass es im Vergleich zu ls fast keine Unterschiede gibt, denn diese Distribution unterstützt bereits eine farbige Ausgabe.

Exa entfaltet seine Kraft also erst in der Tiefe. Hier ein paar Beispiele.

exa-lsEin schlichtes

exa -lF

wird sich bereits stark von ls -l unterscheiden, einerseits farblich, andererseits werden durch den Operator -F für file type zusätzliche Informationen angezeigt.

Praktischerweise bringt exa noch weitere Funktionen mit. So wird Git unterstützt und zeigt mit N für neue Dateien (staged) und M für geänderte Dateien (unstaged) weitere relevante Informationen an.

exa -l --git

Auch eine Baumansicht ist dabei und ermöglicht eine strukturierte Ansicht, ähnlich wie tree.

exa --tree --level=3

Daneben ist es ebenfalls möglich einen relativ mächtigen Filter anzuwenden oder Logos einzubinden. Bei letzterem muss allerdings erst die passende Schriftart installiert werden.

Eine ausführliche Dokumentation ist bei exa direkt zu finden.

exa-logos

Überaus praktisch empfinde ich die Möglichkeit, sich Listen nach gewünschten Werten wie Größe, Alter, usw. sortieren zu lassen.

exa -l --sort=size
exa -l --sort=age

Fazit

Nutzer, die ls im Alltag etwas aufmotzen möchten, sind bei exa gut aufgehoben. Dank der Paket-Installation in neueren Distributionen ist die Hemmschwelle, einen kurzen Blick zu wagen, relativ gering. Probiert es einfach mal aus, vielleicht sagt es euch ja zu.

Polybar – Die Statusleiste unter Linux aufhübschen

Viele Distributionen sehen schick aus und bringen viele Informationen auf die Statusleiste. Wem das jedoch nicht zusagt und von einer Statusleiste mit mehr Anpassungsmöglichkeiten geträumt wird, dann ist Polybar genau das richtige Tool. Die Polybar ist ein schnelles und effizientes Werkzeug zur Erstellung von wunderschönen Statusleisten auf Linux-Distributionen.

polybar

In neueren Distributionen lässt sich die Polybar via Paketmanager installieren, unter Ubuntu 20.04 LTS ist diese Variante allerdings noch nicht vorhanden, daher wird in diesem Artikel auch auf den Buildprozess eingegangen.

Geduldige warten bis zum Release von Ubuntu 22.04 LTS in wenigen Wochen, dort sollte das Polybar Paket mit an Bord sein.

polybar-statusleiste

Polybar unter Ubuntu 21.04 oder Debian 11 installieren

Wie bereits erwähnt ist bei neuen Systemen eine Installation via Paketmanager möglich

sudo apt install polybar

Auf älteren Ubuntu Systemen könnte ebenfalls auf ein PPA zurückgegriffen werden, allerdings ist dort nicht die neueste Version enthalten, daher nicht zu empfehlen.

sudo add-apt-repository ppa:kgilmer/speed-ricer
sudo apt-get update

Snap würde natürlich auch funktionieren, wenn gewünscht

sudo apt update 
sudo apt install snapd
sudo snap install polybar-git --edge

polybar-features

Polybar unter Ubuntu 20.04 LTS selbst kompilieren und installieren

Um das Paket selbst zu bauen, werden zunächst ein paar Pakete benötigt.

sudo apt-get install cmake cmake-data libcairo2-dev libxcb1-dev libxcb-ewmh-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-randr0-dev libxcb-util0-dev libxcb-xkb-dev pkg-config python3-xcbgen xcb-proto libxcb-xrm-dev libasound2-dev libmpdclient-dev libiw-dev libcurl4-openssl-dev libpulse-dev libxcb-composite0-dev i3 alsa-oss xcb libxcb-ewmh2

Nun kann das Git Repository geklont werden.

git clone https://github.com/jaagr/polybar.git

Danach den Buildvorgang starten.

polybar && ./build.sh

Ist der Vorgang erfolgreich gewesen, kann die Polybar testweise gestartet werden.

polybar example

Weitere Konfigurationen werden via config.ini gemacht, dort kann zum Beispiel der Default Name „example“ geändert werden.

Die Beispielkonfiguration wird zunächst ins eigene Profil kopiert, dort können dann weitere Anpassungen vorgenommen werden. So lassen sich dort verschiedene Module aktivieren oder eigene einbinden. Einen Überblick der vorhandenen Funktionen könnt ihr der Grafik weiter oben entnehmen.

sudo mkdir -p ~.config/polybar

sudo cp /usr/local/share/doc/polybar/examples/config.ini ~.config/polybar/config.ini

Anpassungen & Fehlerbehebung

Polybar wird nach dem Start nicht angezeigt

Am besten lässt sich dieses Problem mit dem Ausblenden der Top-Leiste mit der Erweiterung Hide Top Bar lösen.

Dazu muss zunächst folgendes Paket installiert werden

sudo apt install chrome-gnome-shell

Danach lässt sich die Erweiterung leicht direkt via Browser aktivieren, dazu wird auf der folgenden Seite einfach der Schalter auf On gestellt.

https://extensions.gnome.org/extension/545/hide-top-bar/

Nun sollte bei einem Start von Polybar die vorhandene Statusleiste automatisch im Hintergrund verschwinden.

Natürlich lassen sich beide Statusleisten auch parallel anzeigen, dazu kann die Polybar einfach unter die vorhandene gesetzt werden in dem das Offset in der Konfiguration angepasst wird.
 

sudo vim ~.config/polybar/config.ini

offset-y = 27

Autostart von Polybar einrichten

Mit Ubuntu Desktop lässt sich das schnell über die Autostartfunktion regeln.

Falls nicht vorhanden (in Ubuntu 20.04 LTS dabei) kann das Autostartpaket nachinstalliert werden.

sudo apt install gnome-startup-applications

polybar-autostart

Alternativ lässt sich der Autostart auch über die Konsole regeln.

mkdir -p ~/.config/autostart/
cat <<EOF > ~/.config/autostart/polybar.desktop
[Desktop Entry]
Name=Polybar
Type=Application
Hidden=false
Exec="Pfad zur Polybar"
EOF

Wie stelle ich die Transparenz der Statusleiste ein?

In der config.ini den Wert der Hintergrundfarbe anpassen.

  • FF steht für undurchsichtig
  • 00 steht für Transparenz

Da es sich um Hexadezimalwerte handelt (0, 1, 2,.., 9, A, B, C, D, E, F ) bietet sich ein Mittelwert an.

Background = #aa282A2E

polybar-config

Jetzt aber viel Spaß beim Gestalten der eigenen Statusleiste.

Weitere Informationen und fertig Themes gibt es unter: