Skip to main content

Osint reconnaissance tools

Diese Anleitung behandelt die wichtigsten Tools zur Netzwerk-Aufklärung und Open Source Intelligence (OSINT). Diese Werkzeuge werden von Sicherheitsforschern, Penetrationstestern und IT-Administratoren verwendet, um die eigene Infrastruktur zu überprüfen und potenzielle Schwachstellen zu identifizieren.

Rechtlicher Hinweis: Die Nutzung dieser Tools gegen Systeme ohne ausdrückliche Genehmigung ist in Deutschland nach §202a-c StGB strafbar. Verwende diese Werkzeuge ausschließlich für autorisierte Sicherheitsüberprüfungen, Forschungszwecke oder zur Analyse deiner eigenen Infrastruktur.


Shodan – Die Suchmaschine für das Internet der Dinge

Überblick

Shodan ist eine Suchmaschine, die das Internet nach verbundenen Geräten durchsucht. Im Gegensatz zu Google, das Webseiten-Inhalte indexiert, sammelt Shodan Metadaten von Diensten wie HTTP, FTP, SSH, Telnet, SNMP und vielen weiteren Protokollen.

Grundlegende Nutzung

Die Web-Oberfläche erreichst du unter shodan.io. Nach der kostenlosen Registrierung erhältst du Zugang zu grundlegenden Suchfunktionen.

Einfache Suchanfragen

# Suche nach Apache-Webservern
apache

# Suche nach einem bestimmten Produkt
product:nginx

# Suche nach einem Port
port:22

# Suche nach einem Betriebssystem
os:"Windows Server 2019"

Filter und Operatoren

Filter Beschreibung Beispiel
country: Filtert nach Ländercode (ISO 3166-1) country:DE
city: Filtert nach Stadt city:"Berlin"
org: Filtert nach Organisation/ISP org:"Deutsche Telekom"
hostname: Filtert nach Hostname hostname:.de
net: Filtert nach IP-Bereich (CIDR) net:192.168.0.0/16
port: Filtert nach offenem Port port:3389
before: / after: Zeitliche Eingrenzung after:01/01/2024
has_screenshot:true Nur Ergebnisse mit Screenshot has_screenshot:true port:5900
vuln: Suche nach CVE (kostenpflichtig) vuln:CVE-2021-44228
ssl: SSL-Zertifikatsinformationen ssl:"Let's Encrypt"
http.title: HTML-Seitentitel http.title:"Dashboard"

Komplexe Suchanfragen

# Webcams in Deutschland
country:DE port:554 has_screenshot:true

# Ungesicherte MongoDB-Datenbanken
product:MongoDB port:27017 -authentication

# Industriesteuerungen (SCADA/ICS)
port:502 country:DE

# Router mit Standard-Login-Seite
http.title:"Router" country:DE port:80

# Elasticsearch-Cluster ohne Authentifizierung
product:Elastic port:9200 "cluster_name"

# RDP-Server mit BlueKeep-Schwachstelle (kostenpflichtig)
vuln:CVE-2019-0708

Shodan CLI

Das Kommandozeilen-Tool bietet erweiterte Funktionen für Automatisierung und Scripting.

Installation

# Installation via pip
pip install shodan

# API-Key konfigurieren (von account.shodan.io)
shodan init DEIN_API_KEY

Wichtige Befehle

# Informationen zu einer IP-Adresse abrufen
shodan host 8.8.8.8

# Suche durchführen
shodan search "apache country:DE" --limit 100

# Ergebnisse als JSON exportieren
shodan search "nginx" --limit 1000 -O ergebnisse.json.gz

# Download von Ergebnissen (mit Credits)
shodan download ergebnisse "apache country:DE"

# Statistiken zu einer Suche
shodan stats "port:22 country:DE"

# Eigene öffentliche IP analysieren
shodan myip

# Echtzeit-Stream (Enterprise)
shodan stream --ports 22,80,443

Shodan API mit Python

import shodan

# API initialisieren
api = shodan.Shodan('DEIN_API_KEY')

# Host-Informationen abrufen
def host_info(ip):
    try:
        host = api.host(ip)
        print(f"IP: {host['ip_str']}")
        print(f"Organisation: {host.get('org', 'n/a')}")
        print(f"Betriebssystem: {host.get('os', 'n/a')}")
        print(f"Offene Ports: {host['ports']}")
        
        for item in host['data']:
            print(f"\nPort: {item['port']}")
            print(f"Banner: {item['data'][:200]}")
    except shodan.APIError as e:
        print(f"Fehler: {e}")

# Suche durchführen
def search_shodan(query):
    try:
        results = api.search(query)
        print(f"Gefundene Ergebnisse: {results['total']}")
        
        for result in results['matches']:
            print(f"{result['ip_str']}:{result['port']}")
            print(f"  → {result.get('product', 'Unbekannt')}")
    except shodan.APIError as e:
        print(f"Fehler: {e}")

# Beispielaufrufe
host_info('1.1.1.1')
search_shodan('apache country:DE')

Censys – Akademische Netzwerk-Suchmaschine

Überblick

Censys wurde an der University of Michigan entwickelt und scannt das gesamte IPv4-Internet regelmäßig. Es bietet detaillierte Einblicke in Hosts, Zertifikate und Websites mit einem Fokus auf Sicherheitsforschung.

Suchtypen

Censys unterscheidet drei Hauptbereiche:

  • Hosts: IP-Adressen und deren Dienste
  • Certificates: TLS/SSL-Zertifikate
  • Websites: HTTP/HTTPS-Webseiten (veraltet, in Hosts integriert)

Censys Search Language (CSL)

Grundlegende Syntax

# Einfache Textsuche
nginx

# Feldbasierte Suche
services.service_name: SSH

# Mehrere Bedingungen (AND ist implizit)
services.port: 22 AND location.country: Germany

# ODER-Verknüpfung
services.port: 80 OR services.port: 443

# Negation
NOT services.service_name: HTTP

# Bereichssuche
services.port: [1 TO 1024]

# Wildcard-Suche
services.http.response.html_title: *admin*

# Reguläre Ausdrücke
services.banner: /^SSH-2\.0/

Wichtige Felder für Host-Suchen

Feld Beschreibung Beispiel
ip: IP-Adresse oder CIDR ip: 192.168.0.0/16
services.port: Offener Port services.port: 3306
services.service_name: Erkannter Dienst services.service_name: MYSQL
services.software.product: Softwareprodukt services.software.product: OpenSSH
services.software.version: Softwareversion services.software.version: 7.4
location.country: Land (Name) location.country: Germany
location.country_code: Ländercode location.country_code: DE
autonomous_system.name: AS-Name (ISP) autonomous_system.name: HETZNER
autonomous_system.asn: AS-Nummer autonomous_system.asn: 24940
services.http.response.status_code: HTTP-Statuscode services.http.response.status_code: 200
services.http.response.html_title: HTML-Titel services.http.response.html_title: "Login"
services.tls.certificates.leaf_data.subject.common_name: Zertifikats-CN ...common_name: *.example.de
labels: Censys-Labels labels: c2 (Command & Control)

Komplexe Suchanfragen

# MySQL-Server in Deutschland ohne TLS
services.service_name: MYSQL AND location.country_code: DE AND NOT services.tls

# Webserver mit bestimmtem Titel
services.http.response.html_title: "phpMyAdmin" AND location.country_code: DE

# Veraltete SSH-Versionen
services.software.product: OpenSSH AND services.software.version: [1.0 TO 6.9]

# Hosts mit selbstsignierten Zertifikaten
services.tls.certificates.leaf_data.issuer.common_name: services.tls.certificates.leaf_data.subject.common_name

# IoT-Geräte (MQTT-Broker)
services.port: 1883 AND services.service_name: MQTT

# Kubernetes-API-Server
services.port: 6443 AND services.http.response.body: *kubernetes*

# Hosts bei Hetzner mit offener Redis-Instanz
autonomous_system.name: HETZNER AND services.service_name: REDIS

Zertifikatssuche

# Zertifikate für eine Domain
parsed.names: example.de

# Abgelaufene Zertifikate
parsed.validity.end: [* TO 2024-01-01]

# Zertifikate mit schwacher Signatur
parsed.signature.signature_algorithm.name: *sha1*

# Wildcard-Zertifikate
parsed.names: \*.example.de

# Zertifikate einer bestimmten CA
parsed.issuer.organization: "Let's Encrypt"

Censys CLI und Python SDK

Installation

# Installation
pip install censys

# Konfiguration (API-Credentials von search.censys.io/account/api)
censys config

CLI-Nutzung

# Host-Suche
censys search 'services.port: 22 AND location.country_code: DE' --index-type hosts

# Einzelnen Host abfragen
censys view 8.8.8.8 --index-type hosts

# Zertifikatssuche
censys search 'parsed.names: example.de' --index-type certificates

# Ausgabe als JSON
censys search 'services.service_name: SSH' --index-type hosts -o json > results.json

Python SDK

from censys.search import CensysHosts, CensysCertificates

# Hosts durchsuchen
h = CensysHosts()

# Einfache Suche
for host in h.search("services.port: 22 AND location.country_code: DE", per_page=10):
    print(f"{host['ip']}: {host.get('services', [])}")

# Host-Details abrufen
host = h.view("8.8.8.8")
print(f"Services: {[s['service_name'] for s in host.get('services', [])]}")

# Aggregationen
report = h.aggregate(
    "services.port: 22 AND location.country_code: DE",
    field="services.software.product",
    num_buckets=10
)
for bucket in report:
    print(f"{bucket['key']}: {bucket['count']}")

# Zertifikate durchsuchen
c = CensysCertificates()
for cert in c.search("parsed.names: example.de", per_page=5):
    print(f"Fingerprint: {cert['fingerprint_sha256']}")
    print(f"Namen: {cert['parsed']['names']}")

Nmap – Der Netzwerk-Scanner

Überblick

Nmap (Network Mapper) ist das Standardwerkzeug für Netzwerk-Discovery und Sicherheitsaudits. Es ermöglicht Port-Scanning, Diensterkennung, Betriebssystem-Fingerprinting und Schwachstellenanalyse.

Installation

# Debian/Ubuntu
sudo apt install nmap

# Arch Linux
sudo pacman -S nmap

# macOS
brew install nmap

Grundlegende Scan-Typen

Host-Discovery

# Ping-Scan (nur Host-Discovery, keine Ports)
nmap -sn 192.168.1.0/24

# Ping-Scan ohne DNS-Auflösung
nmap -sn -n 192.168.1.0/24

# ARP-Scan (nur lokales Netzwerk)
nmap -PR 192.168.1.0/24

# Host-Discovery überspringen (Ports direkt scannen)
nmap -Pn 192.168.1.1

Port-Scanning

Option Scan-Typ Beschreibung
-sT TCP Connect Vollständiger TCP-Handshake (Standard ohne root)
-sS TCP SYN (Stealth) Halb-offener Scan, schnell und unauffällig (Standard mit root)
-sU UDP UDP-Port-Scan (langsam)
-sA TCP ACK Firewall-Regeln ermitteln
-sN TCP Null Keine Flags gesetzt
-sF TCP FIN Nur FIN-Flag gesetzt
-sX TCP Xmas FIN, PSH, URG Flags

Port-Auswahl

# Einzelne Ports
nmap -p 22,80,443 192.168.1.1

# Port-Bereich
nmap -p 1-1024 192.168.1.1

# Alle Ports
nmap -p- 192.168.1.1

# Top-Ports
nmap --top-ports 100 192.168.1.1

# Schneller Scan (Top 100 Ports)
nmap -F 192.168.1.1

Dienst- und Versionserkennung

# Versionserkennung
nmap -sV 192.168.1.1

# Aggressivere Erkennung
nmap -sV --version-intensity 5 192.168.1.1

# Leichte Erkennung (schneller)
nmap -sV --version-light 192.168.1.1

# Betriebssystem-Erkennung
nmap -O 192.168.1.1

# Kombiniert: Version + OS + Scripts + Traceroute
nmap -A 192.168.1.1

Nmap Scripting Engine (NSE)

NSE ermöglicht automatisierte Schwachstellen-Tests und erweiterte Analysen.

Script-Kategorien

# Standard-Scripts (sicher)
nmap -sC 192.168.1.1

# Bestimmte Kategorie
nmap --script=vuln 192.168.1.1

# Mehrere Kategorien
nmap --script="vuln,safe" 192.168.1.1

# Einzelnes Script
nmap --script=http-title 192.168.1.1

# Wildcard-Suche
nmap --script="http-*" 192.168.1.1

# Scripts mit Argumenten
nmap --script=http-brute --script-args userdb=users.txt,passdb=pass.txt 192.168.1.1

Nützliche Scripts

Script Beschreibung
ssl-heartbleed Heartbleed-Schwachstelle prüfen
smb-vuln-* SMB-Schwachstellen (EternalBlue, etc.)
http-vuln-* HTTP-Schwachstellen
ssh-brute SSH-Brute-Force
dns-zone-transfer DNS-Zonentransfer testen
http-enum Web-Verzeichnisse aufzählen
banner Banner grabbing
vulners CVE-Suche für gefundene Versionen

Timing und Performance

# Timing-Templates (T0=paranoid bis T5=insane)
nmap -T4 192.168.1.1

# Parallelität
nmap --min-parallelism 10 --max-parallelism 100 192.168.1.1

# Rate-Limiting
nmap --max-rate 1000 192.168.1.1

# Verzögerung zwischen Probes
nmap --scan-delay 1s 192.168.1.1

Ausgabeformate

# Normal
nmap -oN scan.txt 192.168.1.1

# XML (für Parsing)
nmap -oX scan.xml 192.168.1.1

# Grepable
nmap -oG scan.gnmap 192.168.1.1

# Alle Formate
nmap -oA scan 192.168.1.1

# Script Kiddie (für Spaß)
nmap -oS scan.txt 192.168.1.1

Praktische Beispiele

# Schneller Netzwerk-Überblick
sudo nmap -sn 192.168.1.0/24 -oG - | grep "Up"

# Vollständiger Scan eines Hosts
sudo nmap -sS -sV -sC -O -p- -T4 192.168.1.1

# Schwachstellen-Scan
sudo nmap -sV --script=vuln 192.168.1.1

# Web-Server analysieren
nmap -p 80,443 --script=http-headers,http-methods,http-title 192.168.1.1

# SMB-Enumeration
nmap -p 445 --script=smb-enum-shares,smb-enum-users 192.168.1.1

# SSL/TLS-Analyse
nmap -p 443 --script=ssl-enum-ciphers,ssl-cert 192.168.1.1

# Firewall-Evasion
sudo nmap -sS -f -D RND:5 --source-port 53 192.168.1.1

Amass – DNS-Enumeration und Asset Discovery

Überblick

Amass ist ein OWASP-Projekt für DNS-Enumeration und Asset Discovery. Es kombiniert passive Datenquellen mit aktiven Scanning-Techniken, um Subdomains und zugehörige Netzwerk-Infrastruktur zu kartieren.

Installation

# Go Installation
go install -v github.com/owasp-amass/amass/v4/...@master

# Snap
sudo snap install amass

# Docker
docker pull caffix/amass

Modi

Intel – Organisationsinformationen sammeln

# ASN für eine Organisation finden
amass intel -org "Deutsche Telekom"

# Reverse Whois
amass intel -whois -d example.de

# IP-Bereiche einer Organisation
amass intel -asn 3320

Enum – Subdomain-Enumeration

# Passive Enumeration (keine DNS-Anfragen)
amass enum -passive -d example.de

# Aktive Enumeration
amass enum -d example.de

# Mit Brute-Force
amass enum -brute -d example.de

# Mit Wordlist
amass enum -brute -w /usr/share/wordlists/subdomains.txt -d example.de

# Mehrere Domains
amass enum -d example.de -d example.com

# Einschränkung auf bestimmte Datenquellen
amass enum -passive -src -d example.de

# Output als JSON
amass enum -d example.de -json output.json

# Mit Konfigurationsdatei
amass enum -config config.yaml -d example.de

Konfigurationsdatei (config.yaml)

options:
  resolvers:
    - 8.8.8.8
    - 1.1.1.1
    - 9.9.9.9
  timeout: 30
  
scope:
  domains:
    - example.de
  blacklisted:
    - subdomain.example.de
    
data_sources:
  SecurityTrails:
    api_key: DEIN_API_KEY
  Shodan:
    api_key: DEIN_SHODAN_KEY
  VirusTotal:
    api_key: DEIN_VT_KEY
  Censys:
    api_id: DEIN_CENSYS_ID
    api_secret: DEIN_CENSYS_SECRET
  PassiveTotal:
    username: dein@email.de
    api_key: DEIN_PT_KEY

Ergebnisverarbeitung

# Datenbank abfragen
amass db -names -d example.de

# ASN-Informationen
amass db -show -d example.de

# Graphen exportieren
amass viz -d3 -d example.de

# Maltego-Format
amass viz -maltego -d example.de

# Historie anzeigen
amass track -d example.de

theHarvester – E-Mail und Subdomain Reconnaissance

Überblick

theHarvester sammelt E-Mail-Adressen, Subdomains, virtuelle Hosts und offene Ports aus verschiedenen öffentlichen Quellen wie Suchmaschinen und PGP-Servern.

Installation

# Python
pip install theHarvester

# Kali Linux (vorinstalliert)
theHarvester -h

# Docker
docker run --rm theharvester/theharvester -h

Grundlegende Nutzung

# Einfache Suche mit Google
theHarvester -d example.de -b google

# Mehrere Quellen
theHarvester -d example.de -b google,bing,linkedin

# Alle verfügbaren Quellen
theHarvester -d example.de -b all

# Mit DNS-Brute-Force
theHarvester -d example.de -b all -c

# DNS-Lookup durchführen
theHarvester -d example.de -b all -n

# Shodan-Hosts hinzufügen
theHarvester -d example.de -b all -s

# Screenshot der Hosts
theHarvester -d example.de -b all --screenshot output/

# Als HTML speichern
theHarvester -d example.de -b all -f bericht

Verfügbare Datenquellen

Quelle Typ API-Key erforderlich
google Suchmaschine Nein (Rate-Limited)
bing Suchmaschine Nein
duckduckgo Suchmaschine Nein
linkedin Soziales Netzwerk Nein
twitter Soziales Netzwerk Ja
shodan IoT-Suchmaschine Ja
censys Zertifikate/Hosts Ja
securitytrails DNS-Daten Ja
virustotal Domain-Analyse Ja
hunter E-Mail-Finder Ja
crtsh Zertifikats-Transparenz Nein

Maltego – Grafische Link-Analyse

Überblick

Maltego ist ein kommerzielles Tool für grafische Link-Analyse und OSINT. Es visualisiert Beziehungen zwischen Entitäten wie Personen, Unternehmen, Domains, IP-Adressen und Social-Media-Profilen.

Kernkonzepte

  • Entities: Objekte wie Domain, IP, Person, E-Mail, etc.
  • Transforms: Aktionen, die aus einer Entity neue Entities erzeugen
  • Graph: Visuelle Darstellung der Beziehungen

Wichtige Transform-Kategorien

Kategorie Beispiel-Transforms
DNS Domain zu IP, DNS-Namen, MX-Records
Whois Domain zu Registrant, Nameserver
E-Mail Domain zu E-Mails, E-Mail zu Person
Social Media Person zu Twitter/LinkedIn-Profilen
Shodan IP zu offenen Ports, Bannern
Threat Intelligence IP/Domain zu Malware-Assoziationen

Workflow-Beispiel: Domain-Analyse

  1. Neue Domain-Entity erstellen
  2. Transform "To DNS Name" ausführen → Subdomains
  3. Transform "To IP Address" auf jede Subdomain → IPs
  4. Transform "To Website" → Webseiten-Informationen
  5. Transform "To Email Addresses" → E-Mail-Adressen
  6. Transform "To Person" auf E-Mails → Personen

Recon-ng – Modulares Reconnaissance Framework

Überblick

Recon-ng ist ein modulares Web-Reconnaissance-Framework mit einer Metasploit-ähnlichen Oberfläche. Es vereint zahlreiche OSINT-Quellen in einem einheitlichen Interface.

Installation

# Python
pip install recon-ng

# Kali Linux
sudo apt install recon-ng

# Starten
recon-ng

Grundlegende Bedienung

# Workspace erstellen
workspaces create beispiel-projekt

# Module anzeigen
modules search

# Modul laden
modules load recon/domains-hosts/hackertarget

# Modul-Infos anzeigen
info

# Optionen setzen
options set SOURCE example.de

# Modul ausführen
run

# Ergebnisse anzeigen
show hosts
show contacts
show credentials

Wichtige Module

# Subdomain-Enumeration
modules load recon/domains-hosts/hackertarget
modules load recon/domains-hosts/certificate_transparency
modules load recon/domains-hosts/threatcrowd

# E-Mail-Harvesting
modules load recon/domains-contacts/whois_pocs
modules load recon/domains-contacts/pgp_search

# Social Media
modules load recon/profiles-profiles/twitter_mentioned
modules load recon/profiles-profiles/github_repos

# IP-Geolocation
modules load recon/hosts-hosts/resolve
modules load recon/hosts-hosts/ipinfodb

# Schwachstellen
modules load recon/hosts-vulnerabilities/shodan_hostname

API-Keys konfigurieren

# Alle Keys anzeigen
keys list

# Key hinzufügen
keys add shodan_api DEIN_SHODAN_KEY
keys add censys_id DEIN_CENSYS_ID
keys add censys_secret DEIN_CENSYS_SECRET
keys add virustotal_api DEIN_VT_KEY

Reporting

# Module für Reports
modules load reporting/html
options set FILENAME bericht.html
run

modules load reporting/csv
modules load reporting/json
modules load reporting/xml

SpiderFoot – Automatisierte OSINT

Überblick

SpiderFoot ist ein automatisiertes OSINT-Tool, das über 200 Datenquellen integriert. Es bietet sowohl eine Kommandozeilen- als auch eine Web-Oberfläche.

Installation

# Docker
docker run -p 5001:5001 spiderfoot

# Python
git clone https://github.com/smicallef/spiderfoot.git
cd spiderfoot
pip install -r requirements.txt
python sf.py -l 127.0.0.1:5001

Web-Interface

Nach dem Start erreichbar unter http://127.0.0.1:5001

Scan-Typen

  • All: Alle verfügbaren Module
  • Footprint: Grundlegende Reconnaissance
  • Investigate: Tiefergehende Analyse
  • Passive: Nur passive Quellen (keine aktiven Scans)

CLI-Nutzung

# Scan starten
python sf.py -s example.de -t DOMAIN

# Mit bestimmten Modulen
python sf.py -s example.de -t DOMAIN -m sfp_dnsresolve,sfp_shodan

# Passiv-Modus
python sf.py -s example.de -t DOMAIN -o spidered -q

# Als JSON exportieren
python sf.py -s example.de -t DOMAIN -o json > ergebnis.json

Unterstützte Target-Typen

Typ Beschreibung Beispiel
DOMAIN Domain-Namen example.de
IP_ADDRESS Einzelne IP 192.168.1.1
NETBLOCK IP-Bereich 192.168.1.0/24
EMAIL E-Mail-Adresse user@example.de
PERSON Personenname "Max Mustermann"
USERNAME Benutzername maxmuster
PHONE Telefonnummer +49123456789
BITCOIN_ADDRESS BTC-Adresse 1A1zP1...

Zusätzliche Tools und Ressourcen

Zertifikats-Transparenz

crt.sh

# Web-Interface
https://crt.sh/?q=%.example.de

# API-Abfrage
curl -s "https://crt.sh/?q=%.example.de&output=json" | jq '.[].name_value' | sort -u

Certspotter

curl -s "https://api.certspotter.com/v1/issuances?domain=example.de&include_subdomains=true"

DNS-Tools

DNSdumpster

Web-basiert unter dnsdumpster.com – automatische DNS-Reconnaissance mit grafischer Darstellung.

dig und host

# Alle Records
dig example.de ANY

# Zonentransfer versuchen
dig axfr example.de @ns1.example.de

# Reverse-DNS
dig -x 192.168.1.1

# Spezifischer Record-Typ
dig MX example.de
dig TXT example.de

fierce

# DNS-Enumeration
fierce --domain example.de

# Mit Wortliste
fierce --domain example.de --subdomain-file wordlist.txt

Web-Reconnaissance

WhatWeb

# Technologie-Erkennung
whatweb example.de

# Aggressiver Modus
whatweb -a 3 example.de

# Mehrere Ziele
whatweb -i urls.txt

Wappalyzer CLI

npm install -g wappalyzer
wappalyzer https://example.de

Nikto

# Web-Server-Scan
nikto -h https://example.de

# Mit SSL
nikto -h https://example.de -ssl

Google Dorking

# Datei-Typen finden
site:example.de filetype:pdf

# Verzeichnislisting
site:example.de intitle:"index of"

# Login-Seiten
site:example.de inurl:admin OR inurl:login

# Sensible Dateien
site:example.de ext:sql OR ext:bak OR ext:log

# WordPress-Installationen
site:example.de inurl:wp-content

# Offene Redirects
site:example.de inurl:redirect= OR inurl:url=

Best Practices und Workflow

Empfohlener Reconnaissance-Workflow

  1. Passive Reconnaissance
    • Whois-Abfragen für Domain-Informationen
    • DNS-Records sammeln (MX, TXT, NS)
    • Zertifikats-Transparenz (crt.sh)
    • Shodan/Censys für bereits gescannte Daten
    • Google Dorking für indexierte Informationen
  2. Semi-Passive Reconnaissance
    • theHarvester für E-Mails und Subdomains
    • Amass im passiven Modus
    • SpiderFoot für automatisierte Sammlung
  3. Aktive Reconnaissance
    • DNS-Brute-Force mit Amass
    • Nmap für Port-Scanning
    • Nikto/WhatWeb für Web-Analyse
  4. Dokumentation und Analyse
    • Ergebnisse in Maltego visualisieren
    • Reports mit Recon-ng erstellen
    • Findings priorisieren

Tipps zur Vermeidung von Entdeckung

  • Passive Quellen bevorzugen, wo möglich
  • Rate-Limiting einhalten
  • VPN oder Tor für Anonymität
  • Scans auf verschiedene Zeiträume verteilen
  • User-Agents rotieren bei Web-Anfragen

Dokumentation

  • Alle Schritte protokollieren
  • Zeitstempel für alle Aktionen
  • Rohdaten sichern (JSON, XML)
  • Screenshots wichtiger Funde
  • Hash-Werte für Beweissicherung

Rechtliche Rahmenbedingungen in Deutschland

Wichtig: Die folgenden Informationen ersetzen keine Rechtsberatung. Im Zweifelsfall immer einen Fachanwalt konsultieren.

Relevante Gesetze

  • §202a StGB – Ausspähen von Daten: Das unbefugte Verschaffen von Zugang zu besonders gesicherten Daten ist strafbar.
  • §202b StGB – Abfangen von Daten: Das unbefugte Abfangen von Daten ist strafbar.
  • §202c StGB – Vorbereiten des Ausspähens: Das Verschaffen oder Zugänglichmachen von Tools ("Hackertools") kann strafbar sein, wenn die Absicht einer Straftat nach §202a/b besteht.
  • §303a StGB – Datenveränderung: Das Löschen, Unterdrücken, Unbrauchbarmachen oder Verändern von Daten ist strafbar.
  • §303b StGB – Computersabotage: Das Stören von Datenverarbeitungen ist strafbar.

Erlaubte Nutzung

  • Eigene Systeme: Uneingeschränkt erlaubt
  • Mit Genehmigung: Schriftliche Autorisierung einholen (Penetration Test Agreement)
  • Bug-Bounty-Programme: Im Rahmen der definierten Scope-Regeln
  • Öffentliche Daten: Abfrage öffentlich zugänglicher Informationen (Shodan, Censys) ist generell erlaubt

Empfohlene Vorsichtsmaßnahmen

  • Immer schriftliche Genehmigung vor Tests einholen
  • Scope klar definieren (IP-Bereiche, Domains, Methoden)
  • Zeitfenster für Tests vereinbaren
  • Notfallkontakte dokumentieren
  • Alle Aktivitäten lückenlos protokollieren

Letzte Aktualisierung: 2025 | Für Ergänzungen und Korrekturen bitte Feedback geben.