Artikel mit Tag Security

Security Tools: Trivy – Docker Container auf Sicherheitslücken durchsuchen

Container sind nach wie vor in alle Munde. Wer, der Einfachheit halber, mit Docker hantiert, der sollte regelmäßig die Aktualität der verwendeten Images prüfen. Nicht erst seit Log4j verbergen sich unerwünschte Sicherheitslücken in veralteten Images.

trivy

Trivy

Das Open-Source-Tool Trivy bietet die Möglichkeit lokale Images, direkt im Filesystem oder entfernte Repositorys nach Lücken zu scannen. Das Programm scannt unter anderen Base Images wie Alpine, Debian, Ubuntu, CentOS, SUSE, Photon OS, Paketmanager und andere Abhängigkeiten mithilfe der eigenen Schwachstellendatenbank ab.

Die Trivy Datenbank basiert auf NVD und diverser Security Meldungen einzelner Programmiersprachen (siehe).

Installation Trivy Security Scanner Debian/Ubuntu

sudo apt-get install wget apt-transport-https gnupg lsb-release
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
echo deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list.d/trivy.list
sudo apt-get update
sudo apt-get install trivy

Einen Scan mit Trivy anstoßen

Um die Übersicht der Scanergebnisse zu behalten, empfiehlt es sich, die Ausgabe auf kritische Lücken zu beschränken

trivy image --severity HIGH,CRITICAL IMAGENAME

trivy-scan

Das Tool erlaubt es ebenfalls einen HTML Report zu veröffentlichen

trivy image --format template --template "@contrib/html.tpl" -o report.html golang:1.12-alpine

trivy-ergebnisse

Trivy kann auch das Filesystem untersuchen.

trivy fs /path/to/project

Schlussendlich kann auch direkt via GitHub gescannt werden.

trivy repo https://github.com/knqyf263/trivy-ci-test

Fazit

Wer Docker im Einsatz hat, sollte die verwendeten Images regelmäßig auf Sicherheitslücken und Abhängigkeiten prüfen. Der Profi baut seine Images sicher selbst und weiß, was er tut, allerdings übersieht ein DevOp auch dort mal Abhängigkeiten. Auch hier schafft Trivy praktische Abhilfe, denn es lässt ich schnell in CI Workflows, beispielsweise von Gitlab integrieren.

Download

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.

 

Sec Update - Kali Linux 2017.3, BlackArch Linux 2017.12.11 und Parrot Sec 3.10

Das letzte Security Update für dieses Jahr steht an. Einem Pentest unter dem Baum steht somit wenig im Wege.

 

kali

Kali Linux 2017.3

Kali Linux 2017.3 wurde fertiggestellt und hat alle Tools auf einen aktuellen Stand gebracht.
Signifikante Änderung stellt z.B. die Umstellung von CIFS auf SMB 3.0 dar.

Bei Ext4 fällt das 10 Millionen Limit an Einträgen weg und TLS ist nun direkt im Kernel implementiert.

Reaver, PixieWPS, Burp Suite, Cuckoo, The Social Engineering Toolkit und weitere wurden aktualisiert.
Auch ein OpenVAS 9 Fehler bei den geplanten Aufgaben wurde behoben.

Neu dabei sind InSpy für LinkedIn, CherryTree für Notizen bzw. Listen, Sublist3r für Subdomains, sowie das OSRFramework als Informationsgewinnungstool.

Alle Änderungen findet ihr hier.

Download Kali


blackarch

BlackArch 2017.12.11

Seit der letzten Version steht Arch Linux nicht mehr als i686 Variante zur Verfügung.
Mit dem neunen Release wurde auf Linux-Kernel 4.14.4 umgestellt.

Außerdem wurden 50 neue Tools integriert, der Installer auf 0.6 und er Kernel auf 4.13.12 aktualisiert.

Laut eigener Aussage ist man nun bei 1910 Tools angelangt.

Eine Übersicht ist hier zu finden.

Download Arch


parrot

Parrot Security 3.10

Auch der Papagei legt dieses Jahr noch einmal nach. Die aktuelle Version bringt neben Firefox 57 und Kernel 4.14 ein vollständiges firejail/apparmor Sandboxing System mit.

Natürlich wurden alle Debian Updates eingespielt und die integrierten Tools aktualisiert. Ein paar neue Programme haben auch den Weg in die aktuelle Distribution gefunden.

Download Parrot


Übersicht 12/2017

 

Name Version Tools Besonderes Basis GUI
Autopsy 4.0 ??? The Sleuth Kit Windows  
BackBox 5 70+ eigenes Repo Ubuntu Xfce
BlackArch 2017-12-11 1750+ ArchLinux ArchLinux Gnome
CAINE 9 100+ WinUFO Ubuntu Mate
DracOS 3.0 100+ CLI LFS DWM
DEFT Zero 250+ Dart2 Lubuntu 14.04 Lxde
Kali Linux 2017.3 300+ ARM fähig Debian Testing Multi
LionSec 5.0 ???   Ubuntu  
Matriux v3 RC1 300+ out of date Debian Gnome
NST 26 ??? Server integriert Fedora  
NetSecLOS 6.0 50+   OpenSuse Lxde
Paladin 6.0 30+   Ubuntu  
Parrot Sec 3.10 700+ Cloud fähig Debian Buster MATE
Pentoo 2015.0 RC5 ??? 64bit Gentoo Xfce
Ronin   150+ out of date Lubuntu Lxde
Sans SIFT 3.0 20+   Ubuntu  

Security Distros: LionSec Linux 5, Pentoo RC5 und NST Version 24-7977 veröffentlicht

Ein kurzer Einschub zu neuen Releases im Security Distributions Sektor.


Pentoo 2015.0 RC5

Pünktlich zum Start der DEF CON 2016 wurde Pentoo 2015.0 RC5 veröffentlicht. Das finale Release lässt somit weiterhin auf sich warten.

Dies ist aber nicht weiter tragisch, denn die vorhandene Version läuft recht stabil.

pentoo

Die größte Änderungen dürften die neuen Benutzerrechte darstellen. Anders als bei anderen Distributionen hat der Standardnutzer "pentoo" nun keine root Rechte mehr nach dem Booten. 

Wie von Ubuntu bekannt, wird für Befehle  aus den Verzeichnissen /sbin or /usr/sbin "sudo" benötigt.

Zusätzlich wurden alle Pakete auf Vordermann gebracht.

Die laaange Liste aller integrierten Tools findet ihr auf der Entwicklerseite von Pentoo.

pentoo download


Network Security Toolkit 24 SVN:7977

Die neueste Version des Network Security Toolkit (siehe Artikel) ist bereits im Juli veröffentlicht worden, soll hier aber nicht unerwähnt bleiben.

nst-gui

(alter Screenshot)

NST ist inzwischen nur noch als 64bit Variante erhältlich. Mit dem Update wurde ein Multi-Traceroute (MTR) Tool eingebunden. 

Die unter ntop bekannte Deep Packet Inspection kann nun als 3D Grafik ausgewertet werden.

Mit SSLyze ist inzwischen ein guter SSL Sicherheits Scanner mit an Bord (siehe Artikel)

NST

LionSec Linux 5

Neu im Bunde der Sicherheits Distributionen ist LionSec Linux.

Aktuell unter der Version 5.0 verfügbar handelt es sich um eine Ubuntu basierte Distributionen, welche eine breite Sammlung an Tools für Computer Forensik, Penetrations Tests  und Wlan Analyse mitbringt. Die Oberfläche macht laut Screenshots einen recht schicken Eindruck.

LionSec-Linux

Ähnlich wie Tails hat das System einen anonymen Modus, welcher das verschleierte Surfen erlaubt.

Ich hatte noch keine Zeit das System genauer unter die Lupe zu nehmen, darum verweise ich hier auf das youtube Video.

LionSec hat folgenden Systemvoraussetzungen

  • 1.7 GHz processor (for example Intel Celeron) or better.
  • 2.0 GB RAM (system memory).
  • 8 GB of free hard drive space for installation.
  • Either a CD/DVD drive or a USB port for the installer media.
  • Internet access is helpful (for installing updates during the installation process

LionSec


Überblick forensische Sicherheitsdistributionen

Eine Gesamtübersicht der bereits erwähnten Systeme.

Name Version Tools Besonderheiten Basis GUI
Autopsy 4.0 ??? The Sleuth Kit Windows  
BackBox 4.6 70+ eigenes Repo Ubuntu Xfce
BackTrack 5 300+ out of date Ubuntu Gnome
CaINE 5 100+ WinUFO Ubuntu Mate
DEFT Zero RC1 250+ Dart2 Lubuntu Lxde
Kali Linux 2016 300+ ARM fähig Debian Gnome
LionSec 2016 ???   Ubuntu  
Matriux v3 RC1 300+ out of date Debian Gnome
NST 24 ??? Server integriert Fedora  
NetSecLOS 6.0 50+   OpenSuse Lxde
Paladin 6.0 30+   Ubuntu  
Pentoo 2015.0 RC5 ??? 64bit Gentoo Xfce
Ronin   150+ out of date Lubuntu Lxde
Sans SIFT 3.0 20+   Ubuntu  

Kali Linux 1.1.0 - Neuer Meilenstein für das ehemalige BackTrack System

Die Entwickler rund um die Sicherheits Distributions Kali Linux haben laut eigenen Aussagen mit der Version 1.1.0 einen neuen Meilenstein geschafft. Der Umzug des alten BackTrack Systems auf das neue Kali scheint vollendet.

Das neues System ist erwachsen, bietet viele Sicherheits- und Pentesting Features und läuft auf nahezu jeder Hardware. 

kali

Kali Linux 1.1.0 - Die Nr. 1 unter den Pentesting Systemen

Neuerungen hat die "indische Göttin des Todes und der Zerstörung" natürlich ebenfalls an Bord. So wurde der Kernel auf 3.18 angehoben und gegen drahtlose Angriffe gepatcht. NVIDIA Optimus wird nun unterstützt und die WLAN Treiber wurden verbessert.

Für virtuelle Umgebungen wurden die VMware Tools auf einen aktuellen Stand gebracht. 

Der geübte Nutzer darf sich ebenfalls über einen neue Optik freuen, denn die Hintergrundbilder wurden angepasst (und alle so "Yeah")

Kali Download

Update einer bestehenden Kali Installation

Ein einfaches Update sorgt hier schon für die aktuelle Version

apt-get update

apt-get dist-upgrade

Was bedeutet Pentesting / Penentrationstest ? 

Als kleiner Bonus für diejenigen, die mit diesen Begrifflichkeiten Nichts anfangen können, sich aber durchaus für IT Sicherheitsaspekte interessiert, bietet die Online Lernplattform Udemy einen freien Einsteigerkurs zum Thema Pentesting an. Es werden 16 Kapitel mit 1.5 Stunden Inhalt angeboten.

Ich habe den Kurs nicht gemacht und kann leider auch nicht viel dazu sagen. Laut Inhaltsverzeichnis führt er an die Begrifflichkeiten heran und zeigt wie eine virtuelle Maschine installiert wird. Danach werden Tools zur MAC Anpassung, Netzwerkscanner (ZenMAP) oder SSL Man in the Middle Attacken abgehandelt.

Probiert es aus: Pentester Certification Course:Lite Edition