Artikel mit Tag installation

Security: GVM 21.04 - mit Docker in 15 Minuten zum OpenVAS Schwachstellen Scanner

OpenVAS bzw. Greenbone Vulnerability Manager ist nicht ganz einfach zu installieren, da viele Abhängigkeiten und Pakete gebaut werden müssen.
Eine etwas ältere Anleitung ist noch auf ITrig zu finden.

Mithilfe von Docker kann der Installationsprozess stark beschleunigt werden.
Händische Konfigurationen und Updates fallen weg und innerhalb kurzer Zeit steht ein vollständig eingerichtetes Schwachstellenmanagement zur Verfügung.

Greenbone_Security_Assistant

GVM 21.04 mit Docker Compose installieren

Zunächst sollte Docker installiert werden.

Docker Debian installieren

apt remove docker docker-engine docker.io containerd runc
apt update
apt install apt-transport-https ca-certificates curl gnupg lsb-release git

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

apt update
apt install docker-ce docker-ce-cli containerd.io

Docker Ubuntu installieren

sudo apt remove docker docker-engine docker.io containerd runc 
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release git

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

sudo echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

Docker Compose darf ebenfalls nicht fehlen

Docker Compose Debian/Ubuntu installieren

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

docker-compose --version

Installation GVM 21.04 mit Docker

# Clonen/Installieren
cd /opt
sudo git clone https://github.com/immauss/openvas.git

# Admin pw anpassen
cd openvas/
nano docker-compose.yml

# System starten
docker-compose up -d
#Logs anschauen
docker-compose logs -f
#Server überprüfen
ss -lntp |grep 8080

Der erste Start kann recht lange dauern, da im Hintergrund alle NVTs geladen werden.

Der Installationsfortschritt kann mit docker-compose logs -f verfolgt werden.

Sollten Fehler passieren, hilft meist ein Neustart des Vorgangs. Gleiches gilt für ein Update der Signaturen.

openvas-docker

#Neustart oder Signaturen aktualisieren
cd /opt/openvas
sudo docker-compose down && docker-compose up -d

#Neueste Logs prüfen
sudo docker-compose logs --tail="50"


Schlussendlich ist das Tool unter http://localhost:8080/login erreichbar und einsatzfähig.


Allerdings empfehle ich einen Proxy mit HTTPS vorzuschalten und den Port 8080 auf Localhost umzubiegen.

Ein Proxy könnte im Docker-Compose File integriert oder direkt installiert werden.

Docker-Compose anpassen

Das Umbiegen auf Localhost, kann im Docker Compose File vorgenommen werden.

#Beispiel für eine Anpassung der docker-compose.yml

version: "3"
services:
  openvas:
    ports:
      - "127.0.0.1:8080:9392"
    environment:
      - "PASSWORD=notyouradmin!"
      - "USERNAME=admin"
      - "RELAYHOST=172.17.0.1"
      - "SMTPPORT=25"
      - "REDISDBS=512" # number of Redis DBs to use
      - "QUIET=false"  # dump feed sync noise to /dev/null
      - "NEWDB=false"  # only use this for creating a blank DB
      - "SKIPSYNC=false" # Skips the feed sync on startup.
      - "RESTORE=false"  # This probably not be used from compose... see docs.
      - "DEBUG=false"  # This will cause the container to stop and not actually start gvmd
      - "HTTPS=false"  # wether to use HTTPS or not
      - "GMP=false"    # to enable see docs
    volumes:
      - "openvas:/data"
    container_name: openvas
    image: immauss/openvas
volumes:
  openvas:

Nginx Proxyserver einrichten

Hier ein Beispiel für einen Nginx Proxyserver (ohne Docker)

apt install nginx
sudo rm /etc/nginx/sites-enabled/default

Ein Zertifikat erstellen

 sudo openssl req -x509 -newkey rsa:4096 -sha256 -days 365 -nodes   -keyout gvm.itrig.key -out gvm.itrig.crt -subj "/CN=gvm.itrig.de"   -addext "subjectAltName=DNS:security.itrig.de,DNS:gvm.itrig.de,IP:192.168.0.111"
#Beispiel für eine Nginx Proxy Config

nano /etc/nginx/sites-available/openvas

server {
  server_name localhost;
   listen 443 ssl http2;
   ssl_certificate     /etc/ssl/gvm.itrig.de.crt;
   ssl_certificate_key /etc/ssl/gvm.itrig.de.key;
   ssl_session_timeout 1d;
   ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
   ssl_session_tickets off;
   ssl_protocols TLSv1.2 TLSv1.3;
   ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
   ssl_prefer_server_ciphers off;
   resolver 127.0.0.1;
   

    location / {
        proxy_pass http://localhost:8080;
    }
}
# Symlink setzen
cd /etc/nginx/sites-enabled/
ln -s ../sites-available/openvas openvas

#Neustart Nginx
systemctl restart nginx

#Kontrolle mit
systemctl status nginx
#oder
ss -lntp

Der Scanner ist nun via https://localhost/login erreichbar.

 

Fazit

Für einen schnellen Test und dem Lernen am System ist GVM via Docker von github.com/immauss/openvas sicherlich geeignet. Die Builds werden übrigens wöchentlich aktualisiert und beinhalten zusätzlich auch die neuesten Feed-Updates.

Um Docker, Container, Images und Co besser im Blick zu behalten, verweise ich an dieser Stelle auf Lazydocker. Das Tool bietet einen grafischen Überblick, über alle aktiven und inaktiven Docker Komponenten.

 

WSL2 (Windows Subsystem for Linux) Installation unter Windows und praktische Konsolenbefehle

Mit Windows 10 2004 wurde die Version 2 von Windows Subsystem for Linux (WSL 2) veröffentlicht.
Diese verbessert die Linux Variante unter Windows weiter, da nun ein echter Linux Kernel verwendet wird.

Installation WSL2

Die Installation von WSL2 ist relativ einfach zu bewerkstelligen, es reichen ein paar Befehle in der Powershell Konsole aus:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart


Danach erscheint die Meldung:

WSL 2 erfordert ein Update der Kernelkomponente. Weitere Informationen finden Sie unter https://aka.ms/wsl2kernel

Diese Installation müsst ihr manuell tätigen, um das Update abzuschließen. In Zukunft möchte Microsoft solche Updates direkt über das Windows Update ausrollen.

Zum Abschluss muss in der Konsole auf die neueste Version umgestellt werden.

wsl.exe --set-default-version 2

Ein Download von Ubuntu oder Kali Linux kann direkt über den Store erfolgen.

Ubuntu-Microsoft_Store

WSL2 Tipps

Es gibt ebenfalls die Möglichkeit Installationen unter verschiedenen WSL Versionen laufen zu lassen

wsl.exe --set-version Distributionsname 2

Infos über die installierten Distributionen lassen sich ebenfalls anzeigen

wsl.exe -l –v

  NAME            STATE           VERSION
  * kali-linux      Stopped         2
    Ubuntu-18.04    Running         2


Wer es bunter mag, der kann auch wslfetch ausführen, dieses funktioniert momentan allerdings nur bei Ubuntu Installationen.

wslfetch

wslfetch

Im Windows Explorer kann das Home Verzeichnis der installierten Systeme mit \\wsl$\ aufgerufen werden.

\\wsl$

wsl-explorerEs lassen sich ebenfalls Installationen exportieren und auf anderen Windows Installationen wieder importieren.

wsl.exe --export Linux ./export.tar

wsl.exe --import Linux Importverzeichnis ./export.tar --version 2 

Eine bestehende Installation lässt sich wie folgt löschen.

wsl.exe --unregister Linuxinstallation

Ausblick

WSL soll in Zukunft weiter ausgebaut werden und beispielsweise NVIDIA CUDA unterstützen.

Auch die Installation soll stark vereinfacht werden, so wird wohl in Zukunft ein einfaches Kommando für Installation und ein Update genügen, wie Bleeping Computer berichtet.

wsl.exe –- install
wsl.exe -- update

 

Ubuntu 20.04 LTS für Windows 10 über Microsoft Store installieren

Diese Woche wurde bekanntlich eine neue Ubuntu LTS Edition veröffentlicht.

Für manche schnelle Teststellungen ist Ubuntu unter Windows eine recht praktische Option. Nun wurde mit Zuge des neuen Ubuntu 20.04, die Windows Variante im Store veröffentlicht.

Installieren lässt sie sich auf die altbekannte Weise:

WSL über die Powershell Konsole aktivieren, Windows Store öffnen und herunterladen.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

ubuntu20.04-windowsDanach könnt ihr die Ubuntu Konsole direkt über CMD oder Powershell öffnen, dazu muss "wsl" eingegeben werden.

wsl-befehleMit dem Befehl "wsl --list" können die installierten Varianten aufgelistet werden.

Mit "setdefault" kann auf die neue Version gewechselt werden.

wsl -s Ubuntu-20.04

In Place Upgrade auf Ubuntu 20.04 LTS

Wsl unterstützt angeblich ein direktes Update auf die neue Version, dies geschieht mit "do-release-upgrade". Da aber momentan die Update Version 20.04.1 LTS noch nicht verfügbar ist, muss der Parameter "d" angehangen werden.

do-release-upgrade -d

In meiner Teststellung wollte dies nicht sofort gelingen.

Nach einer sauberen Neuinstallation mit "wsl --unregister Ubuntu-18.04" startete die Updateprozedur zumindest.

Der nächste Fehler lies nicht lange auf sich warten.

Progress: [ 61%]
Checking for services that may need to be restarted...
Checking init scripts...
Restarting services possibly affected by the upgrade:
  cron: restarting...done.
  rsync: restarting...done.
  atd: restarting...done.

Services restarted successfully.
sleep: cannot read realtime clock: Invalid argument
dpkg: error processing package libc6:amd64 (--configure):
 installed libc6:amd64 package post-installation script subprocess returned error exit status 1
Exception during pm.DoInstall():  E:Sub-process /usr/bin/dpkg returned an error code (1)

*** Send problem report to the developers?

Abhilfe schaffte hier temporär folgendes:

sudo mv /bin/sleep /bin/sleep_old 
sudo touch /bin/sleep 
sudo chmod +x /bin/sleep
sudo apt --fix-broken install
sudo apt dist-upgrade

Danach wurden allerdings weitere Fehler geworfen, die mit mehrfachen "apt dist-upgrade" gelöst werden konnten.

Schlussendlich war dies ein netter Versuch, aber praktikabel ist das direkte Upgrade nicht unbedingt.

Nun heißt es warten auf WSL2, welches in Windows 10, Version 2004 enthalten sein soll und bereits in den Startlöchern steht.

Cheat.sh - Linux und Programmiersprachen Cheatsheet für die Kommandozeile

Das klassische Cheatsheet besteht meistens aus einer Sammlung von Befehlen oder Hilfestellungen, die auf einer DIN A4 Seite zusammengefasst werden.
Solche Spickzettel können auf dem Rechner als PDF abgelegt werden oder im Büro ausgedruckt einen Platz an der Wand finden.

Cheat.sh

Cheat.sh geht hier einen anderen Weg und holt den Nutzer da ab wo er ist, auf der Kommandozeile.

Mit dem Tool können via curl einfache Hilfestellungen zu Kommandozeilenbefehlen, Programmiersprachen oder Datenbanken abgerufen werden.
Anders als beispielsweise die man pages, stellt cheat.sh einfache Beispiele zur gesuchten Abfrage dar.

cheatsheet

Zur Nutzung muss das Tool nicht zwingend installiert werden, eine Verbindung zum Internet reicht völlig aus.

Einen Linux Befehl abrufen, hier am Beispiel von tar.

curl cheat.sh/tar

# tar
# Archiving utility.
# Often combined with a compression method, such as gzip or bzip.
# More information: <https://www.gnu.org/software/tar>.

# Create an archive from files:
tar cf target.tar file1 file2 file3

# Create a gzipped archive:
tar czf target.tar.gz file1 file2 file3

# Extract a (compressed) archive into the current directory:
tar xf source.tar[.gz|.bz2|.xz]

# Extract an archive into a target directory:
tar xf source.tar -C directory

# Create a compressed archive, using archive suffix to determine the compression program:
tar caf target.tar.xz file1 file2 file3

# List the contents of a tar file:
tar tvf source.tar

# Extract files matching a pattern:
tar xf source.tar --wildcards "*.html"


Nach einem bestimmten Begriff suchen, am Beispiel von Docker.

curl cheat.sh/~docker


Eine Programmiersprache lernen, in diesem Fall Python.

curl cheat.sh/python/:learn

Übersicht

curl cheat.sh

cheatsh

Die Github Seite des Projektes verrät mehr über den riesen Umfang des Cheatsheet.

Installation von Cheat.sh (global)

Natürlich lässt sich das Tool auch direkt auf dem System installieren bzw. hosten (dazu wird allerdings Docker benötigt).

Der Dienst cheat.sh hat einen eigenen Kommandozeilen-Client (cht.sh), der im Vergleich zur direkten Abfrage mit curl mehrere nützliche Funktionen bietet:

  • Spezieller Shell-Modus mit persistentem Abfragekontext und Readline-Unterstützung
  • Abfrage der Historie
  • Integration der Zwischenablage
  • Unterstützung der Tabulatorvervollständigung für Shells (bash, fish, zsh)
  • Stealth-Modus

Eine Installation ist schnell erledigt.

sudo apt install rlwrap
curl https://cht.sh/:cht.sh | sudo tee /usr/local/bin/cht.sh
sudo chmod +x /usr/local/bin/cht.sh

Nach einer Installation kann cht.sh anstatt curl verwendet werden und es ergeben sich die oben erwähnten Möglichkeiten.

cht.sh-shell

Einbindungen in den Editor

Cheat.sh unterstützt momentan die Einbindung in die Editoren wie Emacs, Sublime, Vim und Visual Studio Code.

Eine Anleitung findet ihr ebenfalls auf Github.

Cheat.sh und Windows

Sogar Windows wird von dem kleinen Tool bedient. Dazu ist eine Exe notwendig, die ihr hier findet.

Fazit

Perfektes Tool für das schnelle Nachschlagen eines Befehls, ohne das Terminal verlassen zu müssen.

Das Cheatsheet ist sicher nicht neu und besteht bereits seit 2017, allerdings hat sich seither viel getan.

Cheat.sh unterstützt ca. 1000 Linux Befehle und 56 Programmiersprachen.

Kali Linux Tools unter Ubuntu 16.04 LTS , 18.04 LTS nutzen

Um Kali Linux Tools nutzen zu können muss nicht zwingend eine Kali Linux Installation vorliegen.
Das Python Script Katoolin erlaubt es die ca. 300 Kali Anwendungen unter Debian basierten Distributionen zu verwenden.

Kali Linux Tools unter Ubuntu mit Katoolin

Die Installation ist denkbar einfach. Die Verwendung der Tools ist analog zu Kali Linux.

apt-get install git python

git clone https://github.com/LionSec/katoolin.git && cp katoolin/katoolin.py /usr/bin/katoolin

chmod +x  /usr/bin/katoolin

sudo katoolin

Danach stehen euch über ein Textmenü verschiedene Installation zur Verfügung. Hier können entweder alle Tools installiert oder einzelne herausgepickt werden.

katoolin
Hier am Beispiel aircrack-ng:

katoolin-aircrackngUm bei der Navigation wieder in das Hauptmenü zu gelangen muss "back" eingegeben werden. Beenden lässt sich Katoolin mit Strg+C.

Nutzer von Desktopsystemen können unter Punkt 4. ebenfalls ein extra Menü für die Toolsammlung installieren.


Fazit

Durch Katoolin wird die Installation vieler Tools stark vereinfacht, zusätzlich bleibt dem Nutzer das Aufsetzen einer anderen Distribution erspart.