
Profi · Kapitel 10 von 14
Penetration Testing: Schwachstellen finden
Bevor ein Angreifer dein Smart Home testet, solltest du es selbst tun. Mit nmap, WiFi-Analyse und MQTT-Auditing findest du Schwachstellen – und kannst sie schließen.
Affiliate-Links: Als Amazon-Partner verdiene ich an qualifizierten Verkäufen – für dich bleibt der Preis gleich.
Das Wichtigste in Kürze
3 Kernaussagen für Schnellleser
Eigene Schwachstellen zuerst finden, bevor es ein Angreifer tut: nmap scannt offene Ports und erkennt Dienste, ein WiFi-Audit prüft Verschlüsselung und Passwörter, das MQTT-Audit testet Broker-Konfiguration. Voraussetzung ist Netzwerk-Segmentierung als Sicherheitsnetz – Pentests nur im eigenen Netzwerk, das Scannen fremder Netze ist ohne Erlaubnis illegal.
- Eigene Schwachstellen zuerst finden, bevor es ein Angreifer tut: nmap scannt offene Ports und erkennt Dienste, ein WiFi-Audit prüft Verschlüsselung und Passwörter, das MQTT-Audit testet Broker-Konfiguration.
- Nutze für die Sicherheitschecks einen einfachen Raspberry Pi mit Linux und Standard-Tools wie nmap und mosquitto_sub.
- Voraussetzung ist Netzwerk-Segmentierung als Sicherheitsnetz – Pentests nur im eigenen Netzwerk, das Scannen fremder Netze ist ohne Erlaubnis illegal.
Was ist ein Smart-Home-Pentest?
Ein Penetrationstest (Pentest) ist ein strukturierter Versuch, die eigene Infrastruktur anzugreifen – mit dem Ziel, Schwachstellen zu finden, bevor echte Angreifer es tun. Im Smart Home bedeutet das: Offene Ports scannen, schwache Passwörter testen, Netzwerk-Traffic analysieren und Protokolle wie MQTT auf Fehlkonfigurationen untersuchen.
Du brauchst dafür keine Hacker-Ausbildung. Viele der wichtigsten Tests laufen mit Standard-Linux-Tools wie nmap, iwconfig und mosquitto_sub. Ein Raspberry Pi 4(öffnet in neuem Tab) mit Kali Linux oder einem Standard-Debian-System reicht als Testplattform vollständig aus.
Pro-Tipp
Rechtlicher Hinweis: Führe Pentests ausschließlich in deinem eigenen Netzwerk durch. Das Scannen fremder Netzwerke ist ohne explizite schriftliche Erlaubnis des Netzwerkbetreibers in Deutschland strafbar (§ 202c StGB). Dieser Guide beschreibt ausschließlich Tests an eigener Infrastruktur.
Pro-Tipp
Starte mit Netzwerk-Segmentierung, bevor du Pentests machst. Ein Pentest zeigt dir, was du verbessern musst – aber die Verbesserungen kosten Zeit. Bis dahin minimiert Segmentierung den Schaden bei einer Kompromittierung.
Netzwerk-Scanning mit nmap
nmap ist das De-facto-Standard-Tool für Netzwerk-Scanning. Es gibt dir einen vollständigen Überblick über dein Netzwerk: welche Geräte online sind, welche Ports offen sind und welche Services dahinterlaufen.
Hosts entdecken
Der erste Scan ist immer ein Host-Discovery: Welche Geräte sind in meinem Netzwerk online? Das Kommando nmap -sn 192.168.1.0/24 scannt das Netz und listet alle aktiven Hosts. Es öffnet keine Ports, sendet nur ICMP-Pings und ARP-Requests. Schnell, leise, nützlich.
Offene Ports finden
Mit nmap -sV 192.168.1.10 scannst du alle 65.535 Ports einer spezifischen IP und erkennst die Services dahinter. Der Flag -sV sorgt dafür, dass nmap versucht, den Service-Typ und die Version zu erkennen – statt nur zu sagen "Port 23 offen" siehst du "Port 23: Telnet (Linux telnetd)". Für OS-Fingerprinting brauchst du zusätzlich das Flag -O (z. B. nmap -sV -O 192.168.1.10) – das ist ein separater Erkennungsmechanismus. Das ist entscheidend, weil alte Telnet-Services bekannte Schwachstellen haben.
Was du nach dem Scan tust
- Offene Ports, die du nicht erwartest: Sofort untersuchen. Welches Gerät hat Port 23 (Telnet) offen? Welches Gerät hat Port 80 (HTTP) offen – und ist die Admin-Oberfläche passwortgeschützt?
- Alte Firmware erkannt: Prüfe den Hersteller-Support. Gibt es ein Update? Wenn das Gerät keinen Support mehr hat, überleg, ob du es durch ein aktuell gepflegtes Gerät ersetzt.
Das Wesentliche in Kürze
WiFi-Audit: WLAN-Sicherheit prüfen
Dein WLAN ist das Eingangstor für Angreifer. Ein WiFi-Audit prüft, ob dein Netz so konfiguriert ist, dass ein Angreifer in Reichweite keine einfache Angriffsfläche findet.
Netzwerk-Interfaces anzeigen
Das Kommando iwconfig (oder nmcli auf moderneren Systemen) zeigt dir alle WLAN-Interfaces und ihre aktuellen Verbindungsdetails – SSID, Signalstärke, Verschlüsselungsstandard. Nutze für sicherheitskritische Setups WPA3 – WPA2-PSK hat bekannte Schwachstellen (KRACK, offline Brute-Force). WEP ist vollständig geknackt und darf nicht mehr eingesetzt werden.
WPS deaktivieren
WPS (WiFi Protected Setup) ermöglicht einfaches Verbinden mit einem PIN – aber dieser PIN kann mit Brute-Force-Angriffen geknackt werden. Deaktiviere WPS in der Router-Oberfläche. Es ist bequem, aber ein bekanntes Angriffsziel. Bei modernen Routern (AVM FRITZ!Box, UniFi) ist WPS oft bereits deaktiviert, bei günstigen Geräten aber meist noch aktiv.
Schwache Passwörter testen
Mit hashcat kannst du auf einem Testsystem prüfen, ob dein WLAN-Passwort in einer der verbreiteten Passwortlisten vorkommt. Capture einen WPA-Handshake (mit airmon-ng und airodump-ng), dann teste das Passwort gegen eine Wortliste. Wenn dein Passwort in 10 Sekunden gefunden wird, ändere es sofort. Ein gutes WLAN-Passwort hat 20+ Zeichen und ist zufällig.
Wusstest du schon?
Prüfe auch, ob dein Router eine versteckte SSID verwendet. Das klingt sicherer, ist es aber nicht – versteckte SSIDs sind für Tools wie kismet sofort sichtbar. Eine starke Verschlüsselung mit gutem Passwort ist deutlich wichtiger als eine versteckte SSID.
MQTT-Audit: Broker-Konfiguration härten
MQTT ist das Nervensystem vieler Smart-Home-Setups. Wenn dein Mosquitto-Broker falsch konfiguriert ist, können Angreifer alle Nachrichten mitlesen oder eigene Kommandos einschleusen.
Anonyme Verbindungen prüfen
Standard-Mosquitto erlaubt anonyme Verbindungen. Teste, ob dein Broker das tut: Verbinde dich von einem anderen Gerät (ohne Passwort) auf Port 1883. Wenn die Verbindung funktioniert, ist dein Broker für jeden im Netz offen. Die Lösung: In der Mosquitto-Konfiguration allow_anonymous false setzen und eine Passwortdatei erstellen:
mosquitto_passwd -c /etc/mosquitto/passwd <username>
Anschließend in mosquitto.conf eintragen: password_file /etc/mosquitto/passwd.
Topic-Zugriffsrechte prüfen
Selbst mit Passwortschutz: Kann jeder authentifizierte Client alle Topics subscriben und publishen? Das sollte er nicht. Konfiguriere ACLs (Access Control Lists), die definieren, welcher Client welche Topics lesen und schreiben darf. Home Assistant sollte nur auf sensoren/+/temperatur und ähnliche Topics zugreifen können, nicht auf aktoren/+/schalter wenn es diese nicht steuern soll.
Traffic mitlesen
Mit mosquitto_sub -h <broker-ip> -t "#" -v subscribst du auf alle Topics. Läuft das ohne Authentifizierung durch, ist dein Broker offen. Selbst mit Authentifizierung: Prüfe, ob Clients Zugriff auf Topics haben, die sie nicht brauchen. Minimaler Zugriff ist das Ziel.
Pro-Tipp
Aktiviere TLS für MQTT. Ohne TLS läuft der gesamte MQTT-Traffic unverschlüsselt im Netz – alle Statusmeldungen, Sensorwerte und Schalterkommandos sind im Klartext. Nutze ein eigenes CA-Zertifikat (mkcert oder step-ca) oder ein selbstsigniertes Zertifikat für interne MQTT-Broker – Let's Encrypt funktioniert nur für öffentliche Domains, nicht für lokale IP-Adressen. Die Einrichtung dauert einen Nachmittag.
Zigbee-Audit: Netz auf Eindringlinge prüfen
Zigbee verwendet das 2,4-GHz-Band und kann in dichten Wohngebieten von benachbarten Geräten gestört oder ausspioniert werden. Ein vollständiges Zigbee-Audit braucht spezialisierte Hardware, aber einfache Checks sind mit Zigbee2MQTT bereits möglich.
Unbekannte Geräte im Netz
Zigbee2MQTT zeigt alle Geräte im Netz. Prüfe regelmäßig, ob alle aufgelisteten Geräte tatsächlich dir gehören. Ein unbekanntes Gerät ist entweder ein Fehler (Gerät wurde nicht richtig entfernt) oder ein Sicherheitsproblem (jemand hat sich eingepairt).
Permit-Join deaktivieren
Permit-Join erlaubt neue Geräte, sich ins Netz einzupairen. Lass diese Funktion nur aktiv, wenn du tatsächlich ein Gerät hinzufügst. Dauerhaft aktives Permit-Join ist ein offenes Eingangstor. In Zigbee2MQTT ist Permit-Join per Default zeitlich begrenzt (5 Minuten), aber prüfe, ob deine Installation das respektiert.
Die wichtigsten Fixes nach dem Audit
- Schließe alle offenen Ports, die du nicht erklären kannst
- Deaktiviere Telnet und andere unverschlüsselte Admin-Zugänge – nutze SSH statt Telnet
- Setze auf deinem MQTT-Broker
allow_anonymous falseund richte Passwort-Authentifizierung ein - Trenne IoT-Geräte ins eigene VLAN – nutze dafür einen UniFi Dream Machine(öffnet in neuem Tab) oder einen VLAN-fähigen Router
- Deaktiviere Permit-Join in Zigbee2MQTT, wenn du keine neuen Geräte hinzufügst
- Ändere Standard-Passwörter auf allen Geräten – kein Gerät darf das Werkspasswort nutzen
Wusstest du schon?
Nach dem Pentest empfehle ich, die Ergebnisse zu dokumentieren: Was war offen, was wurde geändert, wann war die Änderung. Das gibt dir eine Baseline für zukünftige Audits und zeigt, ob neue Geräte oder Updates neue Schwachstellen eingebracht haben.
Wusstest du schon?
DSGVO-Hinweis: Pentest-Ergebnisse enthalten personenbezogene Daten (IP-Adressen, MAC-Adressen, Geräte-IDs). Speichere sie lokal, teile sie nicht mit Dritten und lösche sie nach der Behebung der Schwachstellen. Das entspricht dem Grundsatz der Datensparsamkeit nach Art. 5 DSGVO.
Fazit: Pentest als regelmäßige Routine
Ein Pentest ist kein einmaliges Ereignis, sondern eine regelmäßige Routine. Jedes neue Gerät, jedes Update und jede neue Integration kann neue Schwachstellen einbringen. Plane mindestens vierteljährliche Scans ein – die Tools sind kostenlos, der Zeitaufwand beträgt 1–2 Stunden. Die Alternative ist, auf einen Angreifer zu warten.
Häufig gestellte Fragen
Brauche ich Kali Linux für einen Pentest?
Welche Ports sind im Smart Home typischerweise offen?
Wie oft sollte ich einen Pentest machen?
Ist Pentesting in meinem eigenen Netzwerk legal?
Welche Tools brauche ich mindestens?
Passende Tools