Einfallstor Browser

Seite 3: Angriffe auf Router

Inhaltsverzeichnis

Von Angriffen aus dem Internet auf DSL-Router von Privatanwender war bis vor kurzem eher selten zu hören, da die meisten Eindringversuche in der Regel schon an dem integrierten Paketfilter respektive der Firewall scheitern. Doch mit Cross Site Request Forgery (CSRF) programmieren Bösewichte den Router mit Hilfe ihres Opfers um, ohne dass dieses etwas davon merkt. Bei CSRF machen sich Angreifer die triviale Implementierung von Authentifizierungsfunktionen in Routern zunutze, sodass ein präparierter Link eines Angreifers in einer beliebigen Webseite ausreicht, um das lokale Gerät zu manipulieren.

Bei Cross Site Request Forgery muss der Anwender am Router angemeldet sein und parallel im Internet surfen. Unter Umständen erfordern einige Änderungen aber gar kein aktive Sitzung, sodass CSRF auch ohne Hilfestellung des Anwenders funktioniert.

Der Link

https://192.168.1.1/apply.cgi?submit_button=Firewall&change_action=&action=Appl
y&block_wan=1
&block_loopback=0&multicast_pass=0&ident_pass=0&block_cookie=0&block_java=0&blo
ck_proxy=0
&block_activex=0&filter=off&_block_wan=1&_block_multicast=0&_ident_pass=1

schaltet beispielsweise die Firewall im Linksys-Router WRT54GL aus. Für den Router sieht es so aus, als hätte der Anwender den Link selbst aufgerufen.

Bei Cross Site Request Forgery muss der Anwender am Router angemeldet sein und parallel im Internet surfen. Unter Umständen erfordern einige Änderungen aber gar kein aktive Sitzung, sodass CSRF auch ohne Hilfestellung des Anwenders funktioniert.

Voraussetzung für einen erfolgreichen Angriff ist jedoch, dass das Opfer gerade mit dem Webbrowser auf dem Router eingeloggt ist, etwa zur Konfiguration, und parallel dazu in einem anderen Fenster die präparierte Webseite ansurft. Kennt der Angreifer das Passwort oder steht es noch auf den Werkseinstellungen, muss das Opfer allerdings nicht einmal eingeloggt sein, damit der Trick über Bande funktioniert. Mittels JavaScript kann die bösartige Webseite die Authentifizierung einfach selber durchführen. Wie das beim DSL-Router Speedport W701V von T-Home funktioniert, zeigt das unter ftp.heise.de/pub/ct/listings/0811-082.zip verfügbare Skript.

Dass solche Angriffe bereits stattfinden, zeigt ein Fall in Mexiko, bei dem mehreren hundert Anwendern die DNS-Einträge im Router verbogen wurden und auf einen Nameserver von Betrügern zeigten. Anfragen für Bankenseiten beantwortete der Server mit IP-Adressen, die auf Phishing-Seiten führten. Das perfide daran: Selbst wer seine Online-Banking-Seiten nur über Bookmarks aufruft oder die Adresse im Browser manuell eingibt, landet auf solch einer gefälschten Seite. Bei dieser auch Drive-By Pharming genannten Attacke mussten die Opfer nicht mal eine präparierte Webseite aufrufen, der Link war in einer HTML-Mail als Image-Tag versteckt.

Viele Router unterstützen Universal Plug and Play (UPnP), mit der eine auf einem PC laufende Anwendung beispielsweise Port-Forwarding aktivieren kann, um aus dem Internet erreichbar zu sein. Dass dies zu Sicherheitsproblemen führen kann, weil ein infizierter Client so die Firewall durchbohren kann, ist seit Längerem bekannt. Neu ist jedoch, dass auch JavaScript über XMLHttpRequests mit dem UPnP-Interface kommunizieren und darüber Einstellungen vornehmen kann. Dafür muss ein Angreifer nur seinen Code in Webseiten verstecken. Einen Haken hat die Sache jedoch: Da das JavaScript vom Server des Tunichtguts stammt, kann es eigentlich nicht mit dem Router verhandeln, weil die Same Origin Policy (SOP, siehe Kasten) den Zugriff nicht zulässt. Damit komplexere Modifikationen, die sich nicht über eine einzige statische URL durchführen lassen, trotzdem funktionieren, muss das JavaScript im Kontext des Routers laufen, also für den Browser so aussehen, als stamme es von diesem. Hier kommt wieder Cross-Site-Scripting ins Spiel, beispielsweise im Authentifizierungsdialog des Routers. Konkret wiesen die SpeedTouch-Produkte des Herstellers Thomson diese teuflische Mischung aus UPnP und XSS bis zu einem Firmware-Update auf [6].

Von Manipulationen mittels Cross Site Request Forgery sind nicht nur Router, sondern grundsätzlich alle Anwendungen mit einer Weboberfläche bedroht, also auch Content-Management-Systeme, Webportale, P2P-Clients und so weiter. Dort ist zudem die Wahrscheinlichkeit viel größer, dass ein Nutzer gerade eingeloggt ist und in einem zweiten Fenster etwa mit Google recherchiert. Für das verbreitete CM-System Joomla kursierte im Februar 2008 eine CSRF-Demo, die einen weiteren Super-Admin zur Nutzerdatenbank hinzufügte.

Sogar Online-Banking-Seiten haben unter Umständen mit dem Problem zu kämpfen, wenn bestimmte Aktionen wie Überweisungen nicht zusätzlich gesichert sind. Insbesondere bei ausländischen Banken, die oft keine Authentifizierung mit einer TAN für Transaktionen erfordern, könnte eine Zeile wie <img src=“http://unsichere-bank.eu/transfer?betrag=5000&konto=schmidt“> in einer unscheinbaren Webseite versteckt monetären Kahlschlag verursachen.