Management der Angriffsfläche
Ihre Angriffsfläche ist alles, was ein Angreifer ins Visier nehmen kann. Jeder Server, jeder offene Port, jede Webanwendung, jeder API-Endpunkt, jede Mitarbeiter-E-Mail, jede Drittanbieter-Integration. Je größer Ihre Angriffsfläche, desto mehr Möglichkeiten haben Angreifer, einen Einstiegspunkt zu finden.
Die meisten Unternehmen kennen ihre vollständige Angriffsfläche nicht. Vergessene Server, online gelassene Testumgebungen, Shadow IT, übernommene Unternehmens-Assets, Drittanbieter-Integrationen – diese erzeugen blinde Flecken. Angreifer suchen genau nach diesen blinden Flecken, weil sie oft weniger geschützt sind.
Attack Surface Management (ASM) ist die Praxis des kontinuierlichen Entdeckens, Katalogisierens und Reduzierens Ihrer Exposition. Dieses Kapitel behandelt, was Angriffsflächen sind, wie Sie Ihre entdecken und welche Tools Ihnen helfen, das zu sehen, was Angreifer sehen.
Warum das für kleine Unternehmen wichtig ist
Kleine Unternehmen denken oft, ihre Angriffsfläche sei klein. Das ist sie nicht. Ein typisches 50-Mitarbeiter-Unternehmen könnte haben:
- 5–10 öffentlich zugängliche Webanwendungen
- 20–50 Subdomains (viele vergessen)
- Cloud-Ressourcen bei 2–3 Anbietern
- SaaS-Integrationen mit Dutzenden von Anbietern
- Remote-Mitarbeiter mit persönlichen Geräten
- Drittanbieter-Auftragnehmer mit Systemzugang
Sie können nicht schützen, was Sie nicht wissen, dass es existiert. Dieser Testserver von 2021 mit Standard-Zugangsdaten? Die Staging-Umgebung mit einer Kopie der Produktionsdatenbank? Die Marketing-Landingpage bei einem anderen Hosting-Anbieter? Dies sind oft die Einstiegspunkte, die Angreifer zuerst finden.
Angreifer automatisieren die Entdeckung. Tools wie Shodan, Censys und benutzerdefinierte Skripte scannen kontinuierlich das gesamte Internet. Ihr falsch konfiguriertes Asset wird gefunden, katalogisiert und untersucht – meist innerhalb von Stunden nach dem Online-Gehen. Forschung von Palo Alto Networks ergab, dass 80 % der Sicherheitsexpositionen den betroffenen Organisationen unbekannt sind.
Kleine Teams haben wenig Sichtbarkeit. Ohne dediziertes Sicherheitspersonal überwacht niemand, was exponiert ist. Entwickler starten Ressourcen, Marketing launcht Kampagnen auf neuen Plattformen, und die IT verliert den Überblick, was wo existiert.
Was ist eine Angriffsfläche?
Eine Angriffsfläche ist die Summe aller Punkte, an denen ein Angreifer versuchen könnte, in Ihre Umgebung einzudringen oder Daten zu extrahieren. Denken Sie daran wie alle Türen, Fenster und möglichen Zugangspunkte zu einem Gebäude – aber in digitaler Form.
Arten von Angriffsflächen
| Typ | Was es umfasst | Beispiele |
|---|---|---|
| Netzwerk | Alle netzwerkzugänglichen Assets | Offene Ports, exponierte Dienste, VPNs, Firewalls |
| Anwendung | Web-Apps, APIs, Mobile Apps | Login-Seiten, APIs, Admin-Panels, Datei-Uploads |
| Cloud | Cloud-Ressourcen und Konfigurationen | S3-Buckets, EC2-Instanzen, IAM-Fehlkonfigurationen |
| Mensch | Personen und ihr Zugang | Phishing-Ziele, Social Engineering, Zugangsdaten |
| Physisch | Physische Zugangspunkte | Serverräume, USB-Ports, Badge-Zugang |
| Lieferkette | Drittanbieter-Abhängigkeiten | SaaS-Anbieter, Open-Source-Bibliotheken, Auftragnehmer |
Für IT- und Serversicherheit konzentrieren wir uns primär auf Netzwerk-, Anwendungs- und Cloud-Angriffsflächen – das ist es, was Angreifer remote erreichen können.
Externe vs. interne Angriffsfläche
Externe Angriffsfläche: Alles, was vom Internet aus sichtbar ist. Das ist es, was Angreifer ohne vorherigen Zugang sehen. Umfasst öffentliche IPs, Domains, exponierte Dienste.
Interne Angriffsfläche: Was sichtbar ist, sobald man in Ihrem Netzwerk ist. Setzt voraus, dass der Angreifer einen initialen Foothold hat (kompromittierter Mitarbeiter-Laptop, Phishing-Erfolg usw.). Umfasst interne Dienste, Datenbanken, Dateifreigaben.
Das meiste Attack Surface Management fokussiert auf externe Flächen – Reduzierung dessen, was Angreifer von außen sehen können. Aber interne Flächen sind wichtig, um Schäden nach einem initialen Verstoß zu begrenzen.
Komponenten einer Server-/IT-Angriffsfläche
Für eine typische IT-Umgebung eines kleinen Unternehmens:
Netzwerkschicht
Internet-zugängliche Assets zum Verfolgen:
- Webserver (80, 443)
- API-Server (443, 8080)
- VPN-Endpunkte (443, 1194, 500)
- SSH-Bastionen (22)
- Mailserver (25, 587, 993)
- DNS-Server (53)
- Datenbankports, falls exponiert (3306, 5432, 27017)
- Remote Desktop (3389)
- Admin-Panels (
/admin,/wp-admin,/phpmyadmin)
Jeder offene Port ist ein potenzieller Eintrittspunkt. Jeder Dienst, der hinter diesen Ports läuft, könnte Schwachstellen haben.
DNS- und Domain-Schicht
Ihre Domains und Subdomains verraten viel:
company.com
├── www.company.com → Produktionswebsite
├── app.company.com → Hauptanwendung
├── api.company.com → API-Server
├── staging.company.com → Staging (oft weniger gesichert)
├── dev.company.com → Entwicklung (manchmal exponiert)
├── mail.company.com → E-Mail-Server
├── vpn.company.com → VPN-Endpunkt
├── jenkins.company.com → CI/CD (wertvolles Ziel)
├── grafana.company.com → Monitoring (legt Architektur offen)
├── old.company.com → Legacy-App (vergessen, anfällig)
└── test-12345.company.com → Testserver (Standard-Zugangsdaten?)
Subdomain-Enumeration ist einer der ersten Schritte, die Angreifer unternehmen. Alte, vergessene Subdomains sind oft die schwächsten Glieder.
Anwendungsschicht
Jede Anwendung erweitert die Angriffsfläche:
| Komponente | Angriffsflächen-Elemente |
|---|---|
| Authentifizierung | Login-Formulare, Passwort-Reset, Session-Management |
| Dateiverarbeitung | Upload-Formulare, Datei-Downloads, Path Traversal |
| Benutzereingabe | Formulare, Suche, APIs, die Daten akzeptieren |
| APIs | Endpunkte, Authentifizierung, Rate Limiting |
| Admin-Interfaces | Admin-Panels, CMS-Backends, Datenbank-Tools |
| Drittanbieter-Integrationen | OAuth, Webhooks, eingebettete Inhalte |
Cloud-Schicht
Cloud-Ressourcen erzeugen ihre eigene Angriffsfläche:
| Ressource | Expositionsrisiko |
|---|---|
| S3/GCS-Buckets | Öffentlicher Zugang, Listing aktiviert |
| EC2/VM-Metadaten | SSRF zu 169.254.169.254 |
| IAM-Zugangsdaten | Geleakte Schlüssel, zu permissive Rollen |
| Lambda/Cloud Functions | Code-Ausführung, Geheimnis-Exposition |
| Container-Registries | Öffentliche Images mit Geheimnissen |
| Kubernetes-APIs | Exponierte Dashboards, API-Server |
Entdeckung der Angriffsfläche
Bevor Sie Ihre Angriffsfläche reduzieren können, müssen Sie wissen, was sie ist. Die Entdeckung umfasst sowohl passive (nicht-intrusive) als auch aktive (Scan-) Techniken.
Passive Entdeckung
Informationen sammeln, ohne Zielsysteme zu berühren:
DNS-Enumeration:
# Subdomains mit öffentlichen Quellen finden
# subfinder - passive Subdomain-Entdeckung
subfinder -d company.com -o subdomains.txt
# amass - umfassende Enumeration
amass enum -passive -d company.com -o amass-results.txt
# Certificate Transparency Logs prüfen
curl -s "https://crt.sh/?q=%.company.com&output=json" | jq -r '.[].name_value' | sort -u
WHOIS und DNS-Einträge:
# WHOIS-Informationen
whois company.com
# Alle DNS-Einträge
dig company.com ANY
# Alle A-Einträge für Subdomains finden
cat subdomains.txt | xargs -I {} dig {} A +short
Suchmaschinen und öffentliche Datenbanken:
# Google Dorks (manuell suchen)
site:company.com
site:company.com filetype:pdf
site:company.com inurl:admin
# Shodan (Konto erforderlich)
shodan search "company.com"
shodan search "org:Company Name"
# Censys
censys search "company.com"
Aktive Entdeckung
Direkte Prüfung Ihrer Infrastruktur:
Port-Scanning:
# Nmap - umfassender Port-Scan
nmap -sS -sV -p- --open -oA scan-results target.company.com
# Schneller Scan häufiger Ports
nmap -sS -p 21,22,23,25,53,80,110,143,443,445,3306,3389,5432,8080 company.com
# Masscan - sehr schnell, vorsichtig verwenden
masscan -p1-65535 --rate=10000 -oL results.txt IP_RANGE
Dienst-Identifizierung:
# Banner Grabbing
nc -v target.company.com 22
nc -v target.company.com 80
# HTTP-Header
curl -I https://company.com
# SSL/TLS-Informationen
openssl s_client -connect company.com:443 </dev/null | openssl x509 -text
Webanwendungs-Entdeckung:
# Verzeichnisse und Dateien finden
gobuster dir -u https://company.com -w /usr/share/wordlists/common.txt
# Technologie-Erkennung
whatweb https://company.com
# Wappalyzer CLI
wappalyzer https://company.com
Reduzierung der Angriffsfläche
Entdeckung ist nur nützlich, wenn Sie darauf reagieren. So verkleinern Sie Ihre Angriffsfläche:
Unnötige Exposition eliminieren
| Maßnahme | Wie implementieren |
|---|---|
| Ungenutzte Ports schließen | Firewall-Regeln, Security Groups, Dienste deaktivieren |
| Alte Anwendungen entfernen | Ungenutzte Apps prüfen und stilllegen |
| Vergessene Subdomains löschen | DNS-Einträge für ungenutzte Hosts entfernen |
| Ungenutzte Funktionen deaktivieren | Dienste abschalten, die Sie nicht benötigen |
| Standard-Seiten entfernen | Standard-Apache/nginx-Seiten löschen |
| Admin-Panels vom Internet blockieren | Nur VPN-Zugang, IP-Allowlisting |
Minimieren, was exponiert ist
# Beispiel: SSH-Zugang auf VPN beschränken (AWS Security Group)
aws ec2 authorize-security-group-ingress \
--group-id sg-xxx \
--protocol tcp \
--port 22 \
--source-group sg-vpn-only
# Öffentlichen Zugang zu SSH entfernen
aws ec2 revoke-security-group-ingress \
--group-id sg-xxx \
--protocol tcp \
--port 22 \
--cidr 0.0.0.0/0
Was bleibt, absichern
Für Dienste, die öffentlich sein müssen:
- Web Application Firewall (WAF) verwenden
- Rate Limiting aktivieren
- Starke Authentifizierung implementieren
- Software aktuell halten
- Auf Anomalien überwachen
- HTTPS überall verwenden
- Unnötige HTTP-Methoden deaktivieren
- Sicherheits-Header setzen
Netzwerksegmentierung
Blast-Radius begrenzen, wenn etwas kompromittiert wird:
Der Datenverkehr fließt durch vier Ebenen, jede von den anderen isoliert:
- Internet → WAF / CDN — aller öffentliche Datenverkehr passiert eine Web-Application-Firewall oder ein CDN, bevor er Ihre Infrastruktur erreicht
- DMZ (öffentlich) — Webserver, API-Gateway, Load Balancer; dem Internet exponiert, aber von internen Systemen isoliert
- Anwendungsebene — App-Server und Hintergrundworker; nur von der DMZ aus erreichbar, nicht direkt vom Internet
- Datenschicht — Datenbanken, Cache, Speicher; nur von der Anwendungsebene aus erreichbar
Jede Ebene kann nur mit benachbarten Ebenen kommunizieren. Datenbankserver sind vom Internet nicht erreichbar.
Tools für das Management der Angriffsfläche
Kostenlose / Open-Source-Tools
Entdeckung und Enumeration
| Tool | Zweck | Installation | Link |
|---|---|---|---|
| Subfinder | Subdomain-Entdeckung | go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest | github.com/projectdiscovery/subfinder |
| Amass | Umfassende Enumeration | go install github.com/owasp-amass/amass/v4/...@master | github.com/owasp-amass/amass |
| httpx | HTTP-Probing | go install github.com/projectdiscovery/httpx/cmd/httpx@latest | github.com/projectdiscovery/httpx |
| dnsx | DNS-Toolkit | go install github.com/projectdiscovery/dnsx/cmd/dnsx@latest | github.com/projectdiscovery/dnsx |
| Nmap | Port-Scanning | apt install nmap / brew install nmap | nmap.org |
| Masscan | Schnelles Port-Scanning | apt install masscan | github.com/robertdavidgraham/masscan |
| Rustscan | Schnelles Port-Scanning | cargo install rustscan | github.com/RustScan/RustScan |
Schwachstellen-Scanning
| Tool | Zweck | Installation | Link |
|---|---|---|---|
| Nuclei | Template-basierter Schwachstellen-Scanner | go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest | github.com/projectdiscovery/nuclei |
| Nikto | Webserver-Scanner | apt install nikto | github.com/sullo/nikto |
| OWASP ZAP | Webanwendungs-Sicherheitsscanner | Von Website herunterladen | zaproxy.org |
| OpenVAS | Vollständiger Schwachstellen-Scanner | Docker-Image verfügbar | openvas.org |
| Trivy | Container- und IaC-Scanning | brew install trivy | trivy.dev |
| testssl.sh | SSL/TLS-Konfigurationstests | git clone https://github.com/drwetter/testssl.sh | testssl.sh |
Intelligence und Reconnaissance
| Tool | Zweck | Zugang | Link |
|---|---|---|---|
| Shodan | Internetweite Scandaten | Kostenloser Tier verfügbar | shodan.io |
| Censys | Internet-Asset-Suche | Kostenloser Tier verfügbar | censys.io |
| SecurityTrails | DNS-Verlauf, Subdomains | Kostenloser Tier verfügbar | securitytrails.com |
| BuiltWith | Technologie-Erkennung | Kostenloser Tier verfügbar | builtwith.com |
| crt.sh | Certificate Transparency | Kostenlos | crt.sh |
| Have I Been Pwned | Verstoßdaten | Kostenlose API | haveibeenpwned.com |
Kommerzielle / Enterprise-Tools
Für Organisationen, die kontinuierliches Monitoring und verwaltete Lösungen benötigen:
| Tool | Kategorie | Preis | Am besten für |
|---|---|---|---|
| Detectify | Externes ASM, DAST | Ab 275 $/Monat | Webanwendungssicherheit, kontinuierliches Monitoring |
| Intruder | Schwachstellen-Scanning | Ab 108 $/Monat | Kleine Teams, einfache Einrichtung |
| UpGuard | Anbieterrisiko, ASM | Angebotsbasiert | Drittanbieter-Risikomanagement |
| Qualys CSAM | Cloud-Sicherheit, ASM | Angebotsbasiert | Enterprise, Multi-Cloud |
| Tenable.io | Schwachstellenmanagement | Angebotsbasiert | Umfassendes Schwachstellenmanagement |
| CrowdStrike Falcon Surface | Externes ASM | Angebotsbasiert | Enterprise, Threat-Intel-Integration |
| Microsoft Defender EASM | Externes ASM | Angebotsbasiert | Azure-intensive Umgebungen |
| Palo Alto Cortex Xpanse | Enterprise ASM | Angebotsbasiert | Große Unternehmen |
| Mandiant Attack Surface Management | Bedrohungsinformiertes ASM | Angebotsbasiert | Bedrohungsintelligenz-Fokus |
All-in-One-Plattformen (mit kostenlosen Tiers)
| Plattform | Kostenloser Tier umfasst | Bezahlte Funktionen | Link |
|---|---|---|---|
| ProjectDiscovery Cloud | Subfinder, httpx, Nuclei Cloud | Team-Funktionen, kontinuierliches Monitoring | cloud.projectdiscovery.io |
| Shodan | Begrenzte Suchen | Kontinuierliches Monitoring, API-Zugang | shodan.io |
| Snyk | Open-Source-Scanning | Container-, IaC-, Code-Scanning | snyk.io |
| Intruder | 1 Anwendung | Mehr Apps, kontinuierliches Scanning | intruder.io |
Tool-Auswahlhilfe
Für ein kleines Unternehmen, das mit ASM beginnt:
| Budget | Empfohlener Stack |
|---|---|
| 0 $ | Subfinder + httpx + Nuclei + Nmap + Shodan (kostenloser Tier) |
| 100–300 $/Monat | Obiges + Intruder oder Detectify für kontinuierliches Monitoring |
| 500 $/Monat+ | Enterprise-ASM-Plattform (Tenable, Qualys, Microsoft EASM) |
Praktisches Audit der Angriffsfläche
Hier ein schrittweises Verfahren zur Prüfung Ihrer Angriffsfläche:
Schritt 1: Asset-Inventar
Beginnen Sie mit dem, was Sie kennen:
## Bekanntes Asset-Inventar
### Domains
- company.com (primär)
- company.io (Weiterleitung)
- companyapp.com (Produkt)
### Cloud-Konten
- AWS: account-id-1 (Produktion)
- AWS: account-id-2 (Staging)
- GCP: project-name
### IP-Bereiche
- AWS: dynamisch (Security Groups prüfen)
- Büro: 203.0.113.0/24
### Drittanbieter-Dienste
- GitHub
- Slack
- Jira
- Salesforce
- usw.
Schritt 2: Subdomain-Enumeration
# Mehrere Tools ausführen und Ergebnisse kombinieren
subfinder -d company.com -silent >> all_subs.txt
amass enum -passive -d company.com >> all_subs.txt
curl -s "https://crt.sh/?q=%.company.com&output=json" | jq -r '.[].name_value' >> all_subs.txt
# Deduplizieren
sort -u all_subs.txt > subdomains.txt
# Prüfen, welche aktiv sind
cat subdomains.txt | httpx -silent -o alive_subs.txt
Schritt 3: Port-Scanning
# IPs für aktive Subdomains ermitteln
cat alive_subs.txt | dnsx -silent -a -resp-only > ips.txt
# Häufige Ports scannen
nmap -sS -sV -p 21,22,23,25,53,80,110,143,443,445,993,995,3306,3389,5432,8080,8443 \
-iL ips.txt -oA nmap_results
Schritt 4: Dienst-Identifizierung
# HTTP-Dienste untersuchen
cat alive_subs.txt | httpx -tech-detect -status-code -title -o http_info.txt
# Auf interessante Pfade prüfen
cat alive_subs.txt | while read url; do
echo "Checking $url"
gobuster dir -u "$url" -w common.txt -q -o "gobuster_$(echo $url | tr '/:' '_').txt"
done
Schritt 5: Schwachstellen-Scanning
# Nuclei mit gängigen Templates ausführen
nuclei -l alive_subs.txt -t cves/ -t exposures/ -t misconfiguration/ -o vulnerabilities.txt
# SSL/TLS-Konfiguration prüfen
cat alive_subs.txt | while read url; do
testssl.sh --quiet "$url"
done
Schritt 6: Dokumentieren und priorisieren
## Ergebnisse des Angriffsflächen-Audits
### Kritische Erkenntnisse
1. `dev.company.com` - SSH dem Internet exponiert, veraltetes OpenSSH
2. `jenkins.company.com` - Keine Authentifizierung erforderlich
3. `api.company.com` - GraphQL-Introspection aktiviert
### Hohe Erkenntnisse
1. `staging.company.com` - Nutzt Produktionsdatenbank
2. `old.company.com` - Läuft auf EOL-PHP-Version
3. Mehrere Dienste ohne HTTPS-Weiterleitung
### Mittlere Erkenntnisse
1. Fehlende Sicherheits-Header auf mehreren Apps
2. TLS 1.0/1.1 noch aktiviert
3. Standard-Fehlerseiten legen Technologieversionen offen
### Behebungsprioritäten
| Erkenntniss | Verantwortlicher | Frist | Status |
|------------|-----------------|-------|--------|
| Jenkins-Auth | DevOps | 24 Stunden | In Bearbeitung |
| SSH-Exposition | DevOps | 24 Stunden | Offen |
| Staging-DB | Dev | 1 Woche | Offen |
Kontinuierliches Monitoring
Ein einmaliges Audit reicht nicht. Ihre Angriffsfläche ändert sich ständig:
- Neue Subdomains werden erstellt
- Cloud-Ressourcen werden bereitgestellt
- Dienste werden versehentlich exponiert
- Zertifikate laufen ab
- Neue Schwachstellen werden entdeckt
Automatisiertes Monitoring einrichten
Wöchentlicher Subdomain-Scan (GitHub Actions):
name: Attack Surface Monitor
on:
schedule:
- cron: '0 8 * * 1' # Jeden Montag um 8 Uhr
workflow_dispatch:
jobs:
scan:
runs-on: ubuntu-latest
steps:
- name: Install tools
run: |
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/projectdiscovery/httpx/cmd/httpx@latest
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
- name: Subdomain enumeration
run: subfinder -d company.com -o subdomains.txt
- name: Probe alive hosts
run: cat subdomains.txt | httpx -silent -o alive.txt
- name: Compare with baseline
run: |
# Previous baseline herunterladen
# Vergleichen und bei neuen Subdomains alarmieren
comm -23 alive.txt baseline.txt > new_hosts.txt
if [ -s new_hosts.txt ]; then
echo "New hosts discovered:"
cat new_hosts.txt
# Alarm senden (Slack, E-Mail usw.)
fi
- name: Vulnerability scan new hosts
run: |
if [ -s new_hosts.txt ]; then
nuclei -l new_hosts.txt -t cves/ -t exposures/ -severity high,critical
fi
- name: Update baseline
run: cp alive.txt baseline.txt
# Baseline committen und pushen
Shodan-Monitoring:
# Shodan-Alert für Ihre Organisation erstellen
shodan alert create "Company Assets" "net:YOUR_IP_RANGE"
# Oder spezifische Abfragen überwachen
shodan alert create "Open MongoDB" "org:CompanyName mongodb"
Bei Änderungen alarmieren
Benachrichtigungen einrichten für:
- Neue Subdomains, die auftauchen
- Neue offene Ports erkannt
- SSL-Zertifikate laufen ab
- Neue Schwachstellen, die zu Ihrem Stack passen
- Zugangsdaten, die in Datenleck-Dumps auftauchen
Häufige Fehler vermeiden
Scans ohne Genehmigung ausführen. Selbst gegen Ihre eigene Infrastruktur: Stimmen Sie sich mit der IT ab. Aggressives Scanning kann Alarme auslösen, Ihre IP blockieren oder Dienstprobleme verursachen.
Nur einmalige Audits. Die Angriffsfläche ändert sich ständig. Ein Scan von vor 6 Monaten spiegelt nicht die aktuelle Realität wider. Regelmäßiges Scanning automatisieren.
Nur primäre Domain fokussieren. Überprüfen Sie übernommene Unternehmensdomains, alte Produktdomains und für Marketingkampagnen genutzte Domains. Angreifer prüfen sie alle.
Entwicklungs- und Staging-Umgebungen ignorieren. Diese Umgebungen haben oft schwächere Sicherheit, aber echte Daten. Sie sind bevorzugte Ziele.
Nicht auf Erkenntnisse reagieren. Ein schöner Bericht bedeutet nichts, wenn Schwachstellen offen bleiben. Behebung verfolgen, Fristen setzen, nachfassen.
Produktion in Stoßzeiten scannen. Schwere Scans für Nebenzeiten einplanen. Manche Tools können die Performance beeinträchtigen.
Praxisbeispiele
Uber-Subdomain-Übernahme (2019): Sicherheitsforscher entdeckten, dass saostatic.uber.com auf einen nicht beanspruchten S3-Bucket zeigte. Sie hätten den Bucket beanspruchen und schädliche Inhalte auf einer legitimen Uber-Domain bereitstellen können. Quelle: HackerOne
Microsoft-Subdomain-Übernahmen (fortlaufend): Forscher finden regelmäßig hängende DNS-Einträge, die auf stillgelegte Azure-Ressourcen zeigen. Jeder kann diese Ressourcen beanspruchen und die Subdomain kapern. Quelle: The Hacker News
Starbucks-Subdomain-Übernahme (2020): Aufgegebene Subdomain, die auf Azure zeigte, ermöglichte Forschern die Kontrolle zu übernehmen und das Potenzial für Phishing und Cookie-Diebstahl zu demonstrieren. Quelle: Detectify
Admin-Panel-Expositions-Vorfälle: Unzählige Unternehmen wurden durch exponierte Admin-Panels (Jenkins, Grafana, Kibana, phpMyAdmin) kompromittiert, die über Shodan gefunden wurden. Diese Panels haben oft Standard-Zugangsdaten oder fehlende Authentifizierung.
Workshop: Audit der Angriffsfläche
Teil 1: Entdeckung
-
Ihre bekannten Domains auflisten:
Primär: company.com
Produkte: app.company.com, api.company.com
Unternehmen: careers.company.com, blog.company.com
Alt: legacy.company.com, v1.company.com -
Subdomain-Enumeration ausführen:
subfinder -d company.com -o discovered.txt
cat discovered.txt | wc -l
# Wie viele kannten Sie NICHT? -
Prüfen, welche aktiv sind:
cat discovered.txt | httpx -silent -status-code -title -
Unbekannte Assets dokumentieren — zum Inventar hinzufügen
Teil 2: Analyse
-
Ihre öffentlichen IPs port-scannen:
nmap -sS -sV -p- your_public_ip -
Für jeden offenen Port dokumentieren:
- Sollte dieser Port offen sein?
- Ist der Dienst aktuell?
- Ist Authentifizierung erforderlich?
-
Shodan auf Ihre Organisation prüfen:
- Nach Ihrem Unternehmensnamen suchen
- Nach Ihren IP-Bereichen suchen
- Was sieht Shodan?
Teil 3: Reduzierung
-
3 Dinge zum Eliminieren identifizieren:
- Unnötige Ports schließen
- Vergessene Subdomains entfernen
- Admin-Panel-Zugang einschränken
-
Behebungsplan mit Fristen erstellen
-
Änderungen implementieren und durch erneutes Scannen verifizieren
Zu erstellende Artefakte
- Asset-Inventar-Dokument — alle bekannten Domains, IPs, Cloud-Ressourcen
- Subdomain-Liste — vollständige Enumeration mit Status
- Angriffsflächen-Bericht — Erkenntnisse nach Schweregrad kategorisiert
- Behebungsplan — priorisierte Korrekturen mit Verantwortlichen und Fristen
- Monitoring-Automatisierung — geplanter Scan-Workflow
Selbstprüfungsfragen
- Was ist der Unterschied zwischen externer und interner Angriffsfläche?
- Nennen Sie drei Tools zur Subdomain-Enumeration.
- Warum sind Staging-Umgebungen oft Sicherheitsrisiken?
- Was ist eine Subdomain-Übernahme und wie passiert sie?
- Wie oft sollten Sie Ihre Angriffsfläche scannen?
- Was suchen Angreifer zuerst in Shodan?
- Wie reduzieren Sie die Angriffsfläche, ohne den Geschäftsbetrieb zu beeinträchtigen?
- Welche Informationen liefert Certificate Transparency?
So erklären Sie es der Führungsebene
Beginnen Sie mit Sichtbarkeit: „Wir haben ein Audit durchgeführt und festgestellt, dass wir 47 Subdomains haben, nicht die 15, die wir dachten. Einige sind alte Server, die wir vergessen haben."
Risiko quantifizieren: „Angreifer nutzen automatisierte Tools, um exponierte Assets zu finden. Im Moment zeigt Shodan [X Dienste], die wir betreiben. Einige sollten nicht sichtbar sein."
Konkrete Erkenntnisse zeigen: „Wir fanden einen alten Entwicklungsserver mit Zugang zu Kundendaten. Er verwendete Standard-Zugangsdaten. Wir haben ihn gesichert."
Monitoring vorschlagen: „Ein einmaliges Audit reicht nicht. Für 0–300 $/Monat können wir kontinuierliches Monitoring einrichten, das uns benachrichtigt, wenn sich etwas ändert."
Mit Vorfällen verknüpfen: „Unternehmen werden ständig durch vergessene Assets kompromittiert. Uber verlor 57 Millionen Datensätze durch einen exponierten S3-Bucket. Wir reduzieren dieses Risiko."
Links und Ressourcen
Entdeckungs-Tools
- ProjectDiscovery Tools Suite — subfinder, httpx, nuclei und mehr
- OWASP Amass — umfassende Enumeration
- Nmap — Netzwerk-Scanning
- Shodan — internetweite Scandatenbank
- Censys — Internet-Asset-Suche
Schwachstellen-Scanning
- Nuclei Templates — Schwachstellenerkennungs-Templates
- OWASP ZAP — Webanwendungs-Scanner
- OpenVAS — vollständiger Schwachstellen-Scanner
Best Practices
- OWASP Attack Surface Analysis
- NIST Cybersecurity Framework — umfasst Asset-Management
- CIS Controls — Inventar und Kontrolle von Assets
Kommerzielle Plattformen
- Detectify — externes ASM
- Intruder — Schwachstellen-Scanning
- Microsoft Defender EASM
Fazit
Sie können nicht schützen, was Sie nicht kennen. Attack Surface Management ist die Disziplin, Ihre Exposition zu kennen, bevor ein Angreifer sie für Sie entdeckt.
Führen Sie den Scan durch. Sichern Sie den vergessenen Server. Lassen Sie die ungenutzte Subdomain ablaufen. Die leicht erreichbaren Früchte hängen immer.
Was kommt als Nächstes
Weiter: Aufbau einer Security-Champions-Community — Sicherheit über eine Person hinaus skalieren durch den Aufbau eines Netzwerks von Champions in allen Teams.