Angreifbar durch SNMP?

Praxis & Tipps | Tipps & Tricks

Sie schreiben in Ihrem Artikel „Breiterband“ in Heft 11/06, dass viele Router ein Sicherheitsproblem haben, da dort das SNMP-Protokoll eingeschaltet ist. Wie man es ausschaltet, haben Sie beschrieben, aber ich wüsste gerne zunächst, ob es bei meinem Router überhaupt aktiviert ist. Gibt es dafür auch einen telnet-Trick?
Ganz so einfach ist es leider nicht. Da das Protokoll SNMP auf UDP aufbaut, kann man nicht einfach mit telnet eine Verbindung zum SNMP-Port herstellen, denn telnet nutzt TCP.

Sie brauchen einen Rechner, der unabhängig von Ihrem Router am Internet hängt, zum Beispiel den eines Nachbarn oder Freundes. Am besten starten Sie ihn mit Linux, zum Beispiel mit der Knoppix-CD aus einer älteren c't. Auf der Kommandozeile starten Sie nun entweder den Port-Scanner nmap oder das SNMP-Abfrageprogramm snmpwalk. Ersterer kann eine Lücke sicher ausschließen:

nmap -sU -sV -p 161 -P0 IP-Adresse

prüft zunächst, ob der SNMP-Port 161 (-p 161 ) per UDP ansprechbar ist (-sU), und versucht dann, die Version eines eventuell laufenden SNMP-Dienstes abzufragen (-sV). Die Option -P0 hindert nmap daran, zuerst ein Ping zu schicken, das die meisten Router derzeit ohnehin nicht beantworten (Ping Block). Wenn der SNMP-Port als „open“ gemeldet wird, heißt das noch nicht, dass Ihr Router angreifbar ist (siehe c't 1/05, S. 184). Nur wenn nmap eine SNMP-Server-Version anzeigt, müssen Sie sich Sorgen machen. Ist der Port „closed“, ist alles in Ordnung.

Mit snmpwalk können Sie dagegen nur feststellen, dass eine Lücke vorhanden ist. Der Aufruf

snmpwalk -v2c -c public IP-Adresse

liest alle per SNMP-Version 2c mit dem Passwort (SNMP Community String) „public“ zugänglichen Informationen aus. Wenn eine lange Liste mit unverständlichen Zeilen durchrauscht, klappt das und Ihr Router ist angreifbar. Wenn die Fehlermeldung „No response“ lautet, ist nicht unbedingt alles OK, denn das kann auch bedeuten, dass der Community String nicht „public“ lautet. Wenn der Hersteller bei der Wahl des Community String kreativ war, könnte also SNMP trotzdem offen stehen. (je)

Anzeige