Skip to content

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.

 

Security Distributionen: Kali Linux 2021.2, NST 34, Parrot OS 4.11

Nachdem ich die letzte Release-Runde ausgelassen hatte, möchte ich die aktuelle wieder mitnehmen und ein paar Worte über Kali Linux, NST und Parrot verlieren.

Kali Linux 2021.2

kali

Das neueste Release stellt einen Mix aus Verbesserungen des vorhandenen Systems und der Einführungen einiger Neuerungen dar.

Kaboxer

Das CLI Tool soll in Zukunft eine Paketierung von Programmen mit vielen Abhängigkeiten erleichtern. Dazu werden Kaboxer/Docker Images erstellt. Alles, was es dazu braucht, ist einen Nutzer, welcher Mitglied in der Kaboxer/Docker Gruppe ist, ein Dockerfile und eine kaboxer.yaml.

Damit lassen sich nun Images bauen, welche die gewünschten Abhängigkeiten enthalten. Auch eine Einbindung in das Kali Startmenü ist zum Beispiel möglich. Hier ein grobes Beispiel.

Dockerfile erstellen

FROM debian:stable-slim
RUN apt update && apt install -y \
    python3 \
    python3-prompt-toolkit
COPY ./hello /usr/bin/hello
RUN mkdir /kaboxer \
 && hello version > /kaboxer/version

kaboxer.yaml erstellen

application:
  id: hello-cli
  name: Hello World for Kaboxer (CLI)
  description: >
    hello-kbx is the hello-world application demonstrator for Kaboxer
packaging:
  revision: 1
components:
  default:
    run_mode: cli
    executable: /usr/bin/hello cli

builden

kaboxer build hello-cli

ausführen

kaboxer run hello-cli

Weitere Details findet ihr unter packaging-apps-with-kaboxer.

Fazit

Ein praktisches Tool, welches sicherlich das Tool Spektrum der Distribution erweitern wird.

Auch wenn beispielsweise Greenbone Vulnerability Management bereits mit Kali ausgeliefert wird, würde sich dieses Tool sehr gut für einen Kaboxer Container eignen.

Drei Tools bringt Kali Linux bereits auf diese Weise mit:

  • Covenant - Daemon using server/client network model

Kali Tweaks

Eine weitere Neuerung sind Kali Tweaks. Diese erlauben es das System auf die eigenen Bedürfnisse besser anzupassen. So lassen sich damit Repositorys verwalten, Virtualisierungseinstellungen anpassen oder Metapakete installieren.
Auch hierzu haben die Entwickler einen eigenen Artikel angelegt.

Sonstiges

Die restlichen Meldungen beziehen sich auf die Unterstützung neuer Systeme wie Raspberry Pi 400 oder den Support von Nethunter für Android 11. Für ersteres gibt es nun mit kalipi-config eine eigene Config Oberfläche speziell für Kali Linux.

Neben den kosmetischen Anpassungen wurden ebenfalls neue Tools integriert. So ist unter anderem das Reverse Engineering Tool Ghidra und Visual Studio (OSS) Code mit an Bord oder der Webserver Verzeichnis Scanner Dirsearch, sowie Cloudbrute für eine Dateisuche in der Cloud.

Alle Neuerungen, Tools und Co finden sich ebenfalls im Release Log.

Download


NST 34

nst

Das Network Security Toolkit hat ebenfalls ein Update auf eine neue Version erhalten.

Bei der Fedora basierten Distribution halten sich die Neuerungen in Grenzen. Die Weboberfläche NST WUI bindet nun lft (Layer-4 Traceroute) und Ntopng REST API ein. Der Verzeichnisscanner dirble beherrscht nun die Ausgabe in Tabellenform. Das alles läuft auf dem Linux Kernel 5.12.10.

Weitere Änderungen können direkt im Changelog nachgelesen werden.

Download


Parrot OS 4.11.2

parrot

Der Vollständigkeit halber sei hier noch das Release vom März erwähnt, welches einen neuen Kernel 5.10 und viele Updates auf der Tooling Seite erhalten hat. Auch hier lässt sich alles im Release Log nach recherchieren.

Download



Übersicht 06/2021

 

Name Version Tools Besonderes Basis GUI
Autopsy 4.18 ??? The Sleuth Kit Windows  
BackBox 7.0 100+ AWS Ubuntu Xfce
BlackArch 2020.12.01 1750+ ArchLinux ArchLinux Multi
CAINE 11 100+ WinUFO Ubuntu Mate
DracOS 3.0   veraltet LFS DWM
DEFT Zero 2018.2   offline Lubuntu 14.04 Lxde
Kali Linux 2021.01 300+ ARM Images Debian Testing Multi
Kali AppStore   40+   Android  
LionSec 5.0   veraltet Ubuntu  
Matriux v3 RC1   offline Debian Gnome
NST 34 ??? Server integriert Fedora  
NetSecL OS 6.0   veraltet OpenSuse Lxde
Paladin 7.0     Ubuntu  
Parrot OS 4.11.2 700+ Cloud fähig Debian Buster MATE/KDE
Pentoo 2018.0 RC7.1   veraltet Gentoo Xfce
Ronin     veraltet Lubuntu Lxde
Sans SIFT 3.0   veraltet Ubuntu  

VS Code: Swissknife - konvertieren und generieren direkt im Editor

Cyberchef (The Cyber Swiss Army Knife) hatte ich vor fast 4 Jahren auf ITrig erwähnt. Das Tool sagte mir damals wegen seiner praktischen Encoding beziehungsweise Decoding Funktionen zu.

Seitdem ist einige Zeit vergangen und Arbeitsweisen haben sich geändert. So verwende ich inzwischen unter anderem Visual Studio Code fürs tägliche Editieren. Durch die vielen Plugins ist der Editor sehr gut erweiterbar.

Genau hier kommt die Erweiterung Swiss Knife ins Spiel

 

VS Code – Swissknife

swissknife

Die Visual Studio Code Erweiterung von Luis Fontes beherrscht eine Menge an Funktionen, vom Hashes generieren, über Hex oder Base64 bis Markdown.

Das heißt eurer Editor wird mit wenigen Klicks um viele Alltagsanwendungen erweitert.

Folgende Funktionen beherrscht das Schweizer Messer für Visual Studio momentan:

  • Base64 decode

  • Base64 encode

  • Binary To Text

  • Bip39 Mnemonic

  • CSV to Markdown

  • Count characters

  • Count words

  • Crypto currency value

  • Date to Timestamp

  • Eliptic Curve Key Pair

  • Generate Password

  • HTML Encode (AlL)

  • Hex decode

  • Hex encode

  • Hex to RGB

  • Identify hash

  • JWT Decode

  • Join lines

  • Lorem Ipsum

  • Markdown to HTML

  • Md5 hash

  • New Swissknife Script (JS)

  • New Swissknife Script (TS)

  • Password strength

  • RGB To Hex

  • RSA Key pair

  • Random String

  • Request to fetch

  • SHA1 hash

  • SHA256 hash

  • SHA512 hash

  • Self Signed Certificate

  • Start Local HTTP Server

  • Start Local HTTPS Server

  • Stop HTTP Server

  • Text To Binary

  • Text to String

  • Timestamp to Date

  • To Camel Case

  • To Lower Case

  • To Morse code

  • To Upper Case

  • UUIDv4

  • Unicode decode

  • Unicode encode (js format)

  • Unix/Linux Permission To Human Readable

  • Url Decode

  • Url Encode

  • Url Encode (All Characters)

  • Url Shorten

  • Url Unshorten (url expand)

Die Funktionen lassen sich mit swissknife.show oder Strg+Shift+9 beziehungsweise cmd+shift+9 im Terminal aufrufen. (Text markieren vorher nicht vergessen).

Hat man die Tastenkombination einmal im Kopf, erleichtert die Erweiterung das Arbeiten an vielen Stellen sehr, vorrausgesetzt die Anwendungsfälle kommen öfters vor.

Download swissknife

 

BlackArch Linux 2020.12.01 und Kali Linux 2020.4

BlackArch Linux 2020.12.01

Das auf Arch Linux basierende Sicherheitswerkzeug enthält nun den Linux-Kernel 5.9.11, aktualisierte Pakete, Konfigurationsdateien und Werkzeuge. Außerdem wurden mehr als 100 neue Hacking-Tools hinzugefügt, sodass sich die Gesamtzahl der Tools in BlackArch auf  über 2000 beläuft.

 

blackarch

Weitere Information beinhaltet der Changelog

  • added more than 100 new tools
  • renamed 'live iso' to 'full iso'
  • updated blackarch-installer to v1.2.16
  • included linux kernel 5.9.11
  • adapted ISO creation to the new archiso version (work in progress)
  • removed unnecessary files from the ISO env
  • QA'ed and fixed a lot of packages (runtime exec, missing dependencies...)
  • updated all vim plugins and improved vim config options
  • updated all blackarch tools and packages including config files
  • updated all system packages
  • updated all window manager menus (awesome, fluxbox, openbox)

BlackArch


Kali Linux 2020.4

Der Platzhirsch hat ebenfalls geliefert und bringt die ZSH Shell für alle, die das Schweizer Messer frisch installieren. Das BASH Terminal hat in diesem Zuge auch ein Makerover erhalten und sieht nun etwas mehr nach ZSH aus.

Kali_Linux

Wer mit ZSH so gar nicht auf einen grünen Zweig kommt, es gibt einen Weg zurück zu BASH:

chsh -s /bin/bash

Zusätzlich hat die Kommandozeile einen neuen Infobereich erhalten, welcher sich je nach Installationsart anders präsentiert.

 

Win-KeX 2.5, der Windows Modus für WSL2 bringt den neuen “Enhanced Session Mode”, was Win-KeX auf Windows on ARM Geräten ermöglicht.

Dieses Feature wird in Zukunft relevanter werden, da Microsoft nun mit Surface X auch ARM Geräte im Portfolio hat. Solange aber WSL2 nicht richtig zusammen mit VirtualBox und Co funktioniert, ist dies weiterhin experimentell. (Siehe ITrig Artikel)

Die Kali-Dokumentation wurde schon vor einiger Zeit von WordPress zu Hugo migriert und ist unter kali.org/docs zu finden. Das Design wurde hier weiter angepasst.

Bei den Tools haben sich ebenfalls einige Neuzugänge eingeschlichen: Apple bleee, CertGraph, dnscat2, FinalRecon, goDoH, hostapd-mana, Metasploit Framework v6 und Whatmask

Weitere Änderungen können dem Changelog entnommen werden.

Download Kali



Übersicht 12/2020

 

Name Version Tools Besonderes Basis GUI
Autopsy 4.17.0 ??? The Sleuth Kit Windows  
BackBox 7.0 100+ AWS Ubuntu Xfce
BlackArch 2020.12.01 1750+ ArchLinux ArchLinux Multi
CAINE 11 100+ WinUFO Ubuntu Mate
DracOS 3.0   veraltet LFS DWM
DEFT Zero 2018.2   offline Lubuntu 14.04 Lxde
Kali Linux 2020.04 300+ ARM Images Debian Testing Multi
Kali AppStore   40+   Android  
LionSec 5.0   veraltet Ubuntu  
Matriux v3 RC1   offline Debian Gnome
NST 32 ??? Server integriert Fedora 32  
NetSecL OS 6.0   veraltet OpenSuse Lxde
Paladin 7.0     Ubuntu  
Parrot OS 4.10 700+ Cloud fähig Debian Buster MATE/KDE
Pentoo 2018.0 RC7.1   veraltet Gentoo Xfce
Ronin     veraltet Lubuntu Lxde
Sans SIFT 3.0   veraltet Ubuntu  

Neue Sicherheitsdistributionen veröffentlicht: Kali 2020.3 und Parrot 4.10

Zum Ende des Quartals haben die zwei Szenegrößen Kali und Parrot neue Versionen ihrer Security Distributionen veröffentlicht. Kali 2020.3 hat eine Z-Shell bekommen und Parrot 4.10 ein Update seines AnonSurf (Tor-Netzwerk) Tools implementiert. Hier die Details der Releases.

 

parrot

Parrot Security 4.10

Neben den üblichen Updates wie des Kernels (5.7) und der vorhandenen Tools fällt bei der Installation die neue Auswahl von XFCE als Desktopumgebung auf.

Anonym

Dennoch ist die größere Neuerung AnonSurf 3.0. Das hauseigene Tool wurde in 3 Module (GUI, Daemon und Utilities) unterteilt. Die in Nim geschriebene Oberfläche erlaubt eine einfache Bedienung und Zugriff auf zusätzliche Einstellungen und Monitoring Funktionen. Der Daemon behält den Systemstatus im Auge und führt nicht mehr zu Problemen beim Herunterfahren.

anonsurf

Tools

Das bekannte Metasploit wird in Version 6.0 ausgeliefert. Mit dabei eine Ende-zu-Ende Verschlüsselung für Meterpreter, sowie eine SMBv3 Client Unterstützung.

Ebenfalls aktualisiert wurde GVM 11 (Greenbone Vulnerability Management Version 11) auch bekannt als OpenVAS.

Das Release Log zeigt alle Anpassungen der neuen Version.

Das Update auf die neue Version erfolgt via CLI.

sudo parrot-upgrade

oder

sudo apt update && sudo apt full-upgrade

Download


Kali_Linux

Kali 2020.3

ZSH

Wie bereits eingangs erwähnt hat Kali damit begonnen Bash mit ZSH zu ersetzen. Noch ist dieser Wechsel nicht bindend, dies wird sich in Zukunft aber ändern. Mit chsh -s /bin/zsh und echo $SHELL könnt ihr dem gerne vorgreifen.

Nutzer die auf 2020.3 aktualisieren, sollten die Shell manuell installieren

sudo apt install -y zsh zsh-syntaxhighlighting zsh-autosuggestions

Vor und Nachteile gibt es für die Z-Shell sicher viele, zu den Vorteilen zählt eine bessere Autovervollständigung, Autokorrektur und Globbing.

Weitere Infos und Erweiterungen sind unter https://ohmyz.sh/ zu finden.

Icons

Bereits im Vorfeld angekündigt wurde das neue Icon Set. Die Icons wurde nun eingebunden und geben der Oberfläche zusätzlich Farbe.

Kalindows

Mit Win-KeX (Windows + Kali Desktop EXperience) wurde für WLS (Windows Subsysteme for Linux) ein GUI eingeführt. Bisher konnte unter Windows nur auf der Kommandozeile gearbeitet werden, dies ist nun Vergangenheit. Benötigt wird WSL2, welches mit der aktuellen Windows Version bereits ausgerollt wird, aber auch auf Windows 10 Version 1903 oder 1909 unterstützt wird.

Ich hatte dazu bereits einen Artikel verfasst (WSL2 - Windows-Subsystem-for-Linux - Installation unter Windows).

Win-Kex

Die Installation in WSL erfolgt mit

sudo apt update 

sudo apt install -y kali-win-kex

kex

Kali NetHunter Bluetooth Arsenal

Die mobile Kali Version unterstützt nun Nokia 3.1 und Nokia 6.1 Smartphones.

Mit dem Bluetooth Arsenal wurde eine Toolsammlung mit praktischen vorgefertigten Methoden gebündelt, welches die App zusätzlich bereichert.   

Weitere Neuerungen wie HiDPI oder ARM Änderungen sind im Release Log zu finden.

Download


 

Übersicht 08/2020

 

Name Version Tools Besonderes Basis GUI
Autopsy 4.13.0 ??? The Sleuth Kit Windows  
BackBox 7.0 100+ AWS Ubuntu Xfce
BlackArch 2020.06.01 1750+ ArchLinux ArchLinux Gnome
CAINE 11 100+ WinUFO Ubuntu Mate
DracOS 3.0   veraltet LFS DWM
DEFT Zero 2018.2   offline Lubuntu 14.04 Lxde
Kali Linux 2020.03 300+ ARM Images Debian Testing Multi
Kali AppStore   20+   Android  
LionSec 5.0   veraltet Ubuntu  
Matriux v3 RC1   offline Debian Gnome
NST 32 ??? Server integriert Fedora 32  
NetSecL OS 6.0   veraltet OpenSuse Lxde
Paladin 7.0     Ubuntu  
Parrot OS 4.10 700+ Cloud fähig Debian Buster MATE/KDE
Pentoo 2018.0 RC7.1   veraltet Gentoo Xfce
Ronin     veraltet Lubuntu Lxde
Sans SIFT 3.0   veraltet Ubuntu