Artikel mit Tag Pentesting

Security Distributionen: NST 36, Parrot 5.1 und Kali 2022.3

Nach einigen Releases sollte die Security Distributionen Liste mal wieder auf einen aktuellen Stand gebracht werden.

NST 36

Das Network Security Toolkit hat ein Service Release erhalten. Das Toolkit basiert auf Fedora 36 mit kernel-5.18.10-200.fc36.x86_64.

NST

In der neuen Version wurden hauptsächlich Verbesserungen am Webbased User Interface vorgenommen. OpenVAS läuft nun als Podman Container. Der NST WUI ARP Scan besitzt eine RTT Spalte und die Netzwerkkarte kann jetzt direkt im Widget ausgewählt werden.

Im Großen und Ganzen handelt es sich hier um ein Service Release.

 

Download


Parrot 5.1

Nach 6 Monaten hat Parrot Security seine erstes Servicerelease mit dem Kernel 5.18 veröffentlicht.

Parrot_LogoEines der bekannten Parrot Tools AnonSurf, welches Traffic durch das Tor Netzwerk schleust, hat ein Update auf Version 4 erhalten. Die neue Oberfläche unterstützt jetzt Debian Systeme, die das alte resolvconf setup nicht unterstützen.

Die IoT Version wurde ebenfalls überarbeitet und hat endlich Wifi Unterstützung für Raspberry Pi 400 erhalten. Weitere IoT Änderungen sind enthalten. Als Schmankerl gibt es den MATE Desktop für alle ARM Nutzer.

 

Download


Kali Linux 2022.3

Der Platzhirsch soll in diesem Update natürlich nicht fehlen, auch wenn die Version bereits im August veröffentlicht wurde.

Kali-dragon

Die wichtigsten Neuerungen sind hier eher in der Peripherie zu sehen, denn Kali hat nun einen Discord Server (https://discord.kali.org), was vielen den Einstieg erleichtern dürfte.

Ebenfalls interessant für neue PentesterInnen dürfte das Labor Paket kali-linux-labs sein. Dort sind DVWA - Damn Vulnerable Web Application und Juice Shop - OWASP Juice Shop zum Üben enthalten. Happy Hacking.

Auch die mobile Kali-Variante NetHunter hat ein größeres Update erhalten und kommt der vollen Android 12 Unterstützung immer näher.

Schlussendlich fehlt noch das übliche Tools-Update:

  • BruteSharkKleines aber feines Network Forensic Analysis Tool (NFAT) mit GUI
  • DefectDojo – Von diesem Tool liest man in letzter Zeit immer öfters, damit lassen sich Schwachstellen verwalten und an Systeme wie Jira oder Slack pushen
  • phpsploit – Klassisches C2 Stealth post-exploitation remote control framework
  • shellfire - Exploiting Shell für Local File Inclusion (LFI), Remote File Intrution (RFI), SSTI (Server Side Template Injection) und weitere command injection vulnerabilities
  • SprayingToolkit – Python Password spraying attacks für Lync/S4B, OWA and O365

 

Download


Übersicht 10/22

 

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  

Kali Linux Tools unter Debian/Ubuntu installieren

Nachdem unter dem Katoolin3 Artikel ein Kommentar zum kaputten Installationsscript aufgetaucht ist, möchte ich schnell ein Alternative zur Installation von Kali Tools unter Debian/Ubuntu vorstellen. Extra Scripte sind hierzu nicht mehr nötig.

kali-tools

Kali Linux Tools unter Debian/Ubuntu installieren

Eigentlich wird lediglich das Kali Linux Repository benötigt, danach können Abhängigkeiten und die gewünschten Pakete installiert werden. (Achtung das kann etwas dauern)

sudo bash -c "echo deb http://http.kali.org/kali kali-rolling main contrib non-free >> /etc/apt/sources.list

sudo apt-get update && sudo apt-get upgrade

Nun können zum Beispiel die 10 beliebtesten Tools installiert werden.

Folgende Tools sind in diesem Paket enthalten:  netcat, wireshark, burpsuite,aircrack-ng, john the ripper, sqlmap, metasploit, hydra, nmap, responder und crackmapexec

sudo apt-get install kali-tools-top10

Alternativ können auch andere Pakete gewählt werden. Diese lassen sich einfach via apt ausfindig machen.

sudo apt search kali-tools-*
  • kali-tools-802-11 - Kali Linux 802.11 attacks tools
  • kali-tools-bluetooth - Kali Linux bluetooth attacks tools
  • kali-tools-crypto-stego - Kali Linux Cryptography and Steganography tools
  • kali-tools-database - Kali Linux database assessment tools menu
  • kali-tools-exploitation - Kali Linux exploitation tools menu
  • kali-tools-forensics- Kali Linux forensic tools menu
  • kali-tools-fuzzing - Kali Linux fuzzing attacks tools
  • kali-tools-gpu/ - Kali Linux GPU tools
  • kali-tools-hardware - Kali Linux hardware attacks tools
  • kali-tools-information-gathering - Kali Linux information gathering menu
  • kali-tools-passwords Kali Linux password cracking tools menu
  • kali-tools-post-exploitation Kali Linux post exploitation tools menu
  • kali-tools-reporting Kali Linux reporting tools menu
  • kali-tools-reverse-engineering Kali Linux reverse engineering menu
  • kali-tools-rfid - Kali Linux RFID tools
  • kali-tools-sdr - Kali Linux SDR tools
  • kali-tools-sniffing-spoofing - Kali Linux sniffing & spoofing tools menu
  • kali-tools-social-engineering - Kali Linux social engineering tools menu
  • kali-tools-top10 - Kali Linux's top 10 tools
  • kali-tools-voip - Kali Linux VoIP tools
  • kali-tools-vulnerability - Kali Linux vulnerability analysis menu
  • kali-tools-web - Kali Linux webapp assessment tools menu
  • kali-tools-windows-resources - Kali Linux Windows resources
  • kali-tools-wireless - Kali Linux wireless tools menu

Unter kali.org/tools/kali-meta findet ihr weitere Informationen zu den ob erwähnten Paketen.

sudo apt search sipvicious

Wem das alles zu viel ist, der sucht einfach nach dem gewünschten Paket und installiert dieses.

kali-tools

Bei dieser Auswahl an Tools, die schnell jeder bestehenden Installation hinzugefügt werden können, kann der Winter kommen und ihr könnt viele neue Programme testen und ausprobieren. Aber bitte nur in einer Testumgebung.

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.