IoT Reaper: Botnet greift nach smarten Geräten
Erneut geht eine Malware um, die es auf Smarte und andere IoT-Geräte abgesehen hat. Der IoT Reaper sucht gezielt nach Routern und Kameras, die auf Linux setzen. Klingt bekannt? Kein Wunder, denn IoT Reaper baut teilweise auf den Quelltext des Mirai Botnets auf, das vor knapp 11 Monaten durchs Internet geisterte und mit dessen Hilfe massive DDoS-Attacken gestartet wurden. Ein großer Unterschied: Statt auf hart einprogrammierte Admin-Zugangsdaten zielt IoT Reaper auf HTTP-Schnittstellen zur Kontrolle der Geräte.
Aktuell nutzt die Schadsoftware zehn verschiedene Schwachstellen aus den Jahren 2013 bis 2017. Eigentlich wurden diese alle behoben, dennoch gibt es genügend Ziele, die nicht gepatcht wurden. Erste Berichte sprechen von mehreren Millionen (!) infizierten Geräten.
Unsere Sicherheitsforscher in den F-Secure Labs haben sich Reaper vorgenommen und die Beiträge von NetLab 360, CheckPoint, Radware und anderen weiter ergänzt.
Erste Schritte
Viele Linux-basierten Geräte bieten verschiedene Funktionen zur Überwachung. Mit diesen kann man seltsamen Verhalten auf die Schliche kommen – und der IoT Reaper dreht die Funktionen brutal ab. Nach einer Infektion löscht er den Ordner „/var/log“ mittels rm -rf. Parallel dazu deaktiviert die Malware den watchdog deamon in Linux, dazu nutzt sie einen speziellen IOCTL System Call.
Sobald die Infektion abgeschlossen ist, führt IoT Reaper eine ganze Reihe von Funktionen aus:
- Verbindung zum Command and Control (C2)-Server, um neue Anweisungen zu empfangen
- Start eines einfachen Status Report Servers, der auf Port 23 (Telnet) auf Anfragen lauscht
- Start eines Dienstes, der auf Port 48099 lauscht, aber derzeit nicht genutzt wird
- Start eines Scans, um weitere verwundbare Geräte zu finden.
Die Child-Prozesse der Malware erhalten dabei einen Zufallsnamen, etwa “6rtr2aur1qtrb”.
Versteckspiele
Damit die Child-Prozesse der Malware nicht einfach entdeckt werden, bedient sie sich der sogenannten „String Obfuscation.“ Dabei wird der Quelltext verschlüsselt oder unleserlich gemacht, um eine Analyse zu erschweren. Glücklicherweise ist die von IoT Reaper genutzte Funktion nicht besonders ausgefeilt. Es handelt sich um eine Singly-Byte XOR (0x22) Obfuscation. „Allerdings macht es die Art, in der Daten im Speicher abgelegt werden, etwas schwierig, die Daten mit dem Code zu verbinden“, sagt Jarko Turkulainen, Lead Researcher bei F-Secure.
Kommando-Server
IoT Reaper frägt ein festes Set an C2-Servern auf neue Anweisungen ab. Es handelt sich um diese Adressen: weruuoqweiur.com, e.hl852.com, e.ha859.com und 27.102.101.121.
Anfragen an diese Server werden im Klartext per http übertragen, sie haben folgendes Format:
- /rx/hx.php?mac=%s%s&type=%s&port=%s&ver=%s&act=%d
Das Protokoll selbst ist sehr simple. Im Grunde hat es zwei Funktionen: Abschalten der Malware oder Ausführen einer bestimmten Payload über die auf dem Gerät integrierte Shell.
Port Scans
Einer der Prozesse sucht nach weiteren verwundbaren Systemen. IoT Reaper erzeugt dazu zufällige IP-Adressen, prüft aber aus aktuell noch unbekannten Gründen neun, fest in den Code eingebettete Adressen. Die jeweilige Adresse wird zunächst auf zufällig aussehende Ports überprüft, anschließend werden folgende Ports abgefragt:
80, 81, 82, 83, 84, 88, 1080, 3000, 3749, 8001, 8060, 8080, 8081, 8090, 8443, 8880, 10000
Diese sollten IT-Profis bekannt vorkommen, es sind größtenteils Ports von Web-Servern oder von HTTP-Schnittstellen zur Kontrolle der Geräte. Die anfangs gewählten Zufall-Ports werden tatsächlich aus dieser Liste durch einen Byte-Swap generiert. Zum Beispiel entspricht 8880 gleich 0x22b0. Werden diese Bytes auf 0xb022 geändert, so wird daraus der Port 4590, den IoT Reaper anschließend scannt.
Warum sich die Malware so verhält ist noch unbekannt. Möglicherweise handelt es sich um eine Fehler oder der Autor war einfach etwas faul und ließ bestimmte Code-Segmente in der Malware.
Bei den betroffenen eingebetteten Adressen handelt es sich um folgende:
- 217.155.58.226
- 85.229.43.75
- 213.185.228.42
- 218.186.0.186
- 103.56.233.78
- 103.245.77.113
- 116.58.254.40
- 201.242.171.137
- 36.85.177.3
Schwachstellensuche
Findet IoT Reaper ein System, startet die Malware eine Attacke darauf. Dazu versucht sie eine http-basiertes Exploit, aktuell sind zehn Schwachstellen bekannt, die sich IoT Reaper vornimmt. Es handelt sich um folgende Lücken, wir listen die dazugehörigen http Anfragen mit auf:
1 – Unerlaubte Remote Codeausführung für D-Link DIR-600 und DIR-300
- Exploit URI: POST /command.php HTTP/1.1
2 – CVE-2017-8225: Ausnutzug des angepassten GoAhead HTTP Server in verschiedenen IP Kameras
- GET /system.ini?loginuse&loginpas HTTP/1.1
3 – Attacke der Netgear ReadyNAS Surveillance durch eine unerlaubte Remote Command Execution Schwachstelle
- GET /upgrade_handle.php?cmd=writeuploaddir&uploaddir=%%27echo+nuuo+123456;%%27 HTTP/1.1
4 – Ausnutzung einer Remote Command Execution in Vacron NVR
- GET /board.cgi?cmd=cat%%20/etc/passwd HTTP/1.1
5 – Ausnutzung einer unerlaubten Remote Code Ausführung um Nutzer-Accounts und ihre Klartext-Passwörter in einem D-Link 850L Wireless Router aufzulisten
- POST /hedwig.cgi HTTP/1.1
6 – Ausnutzung einer Schwachstelle im a Linksys E1500/E2500
- POST /apply.cgi HTTP/1.1
7 – Attacke auf Netgear DGN DSL Modems und Router, indem eine unerlaubte Remote Command Execution ausgeführt wird
- GET /setup.cgi?next_file=netgear.cfg&todo=syscmd&curpath=/¤tsetting.htm=1cmd=echo+dgn+123456 HTTP/1.1
8 – Ausnutzung von Fehlern in AVTech IP Kameras, DVRs und NVRs, indem Daten ausgelesen und Zugangsbeschränkungen umgangen werden
- GET /cgi-bin/user/Config.cgi?.cab&action=get&category=Account.* HTTP/1.1
9 – Attacke von DVRs, die einen angepasten Web-Server mit dem HTTP-Header ‘JAWS/1.0’ nutzen
- GET /shell?echo+jaws+123456;cat+/proc/cpuinfo HTTP/1.1
10 – Unerlaubter Remote-Zugriff auf D-Link DIR-645 Geräte
- POST /getcfg.php HTTP/1.1
Wie bereits eingangs erwähnt wurden die Lücken eigentlich bereits geschlossen. Wer ein Gerät in dieser Liste nutzt, sollte schnellstmöglich die Firmware aktualisieren.
Weitere Details und der „RickRoll“
Der IoT Reaper checkt, ob eine aktive Internetverbindung besteht. Dazu nutzt die Malware den Google-DNS an der Adresse 8.8.8.8. Ist diese Adresse nicht erreichbar, wird die Malware nicht aktiv. Es lohnt sich also, diese Adresse in der Firewall zu blocken, falls sie nicht genutzt wird (kleiner Tipp: Google bietet einen weitere DNS auf 8.8.4.4).
In dieser Variante gibt es keine hart eingebetteten Funktionen. Der Bot zieht sich alle Anweisungen von seinem C2-Server.
Der Code enthält einen RickRoll-Link (und ja, unsere Forscher klickten darauf).
Fazit
Botnets wie IoT Reaper werden immer wieder auftauchen. Der Grund ist: Es gibt zu viele Opfer. Es wird immer leichter, Geräte mit einem Internet-Zugang auszustatten und sie so vermeintlich „smart“ zu machen. IP-Kameras sind ein gutes Beispiel. Sie verkaufen sich gut, aber Hersteller nehmen es mit der Sicherheit der Produkte nicht immer ernst.
Erst im Juni 2017 hat unser Sicherheitsforscher Harry Sintonen 18 Schwachstellen in IP-Kameras von Foscam gefunden. Angreifer konnten sich dadurch Zugang zu den Geräten verschaffen und sie für eigene Zwecke missbrauchen.
Wie soll man sich also schützen? Es ist essentiell, alle Geräte auf dem aktuellsten Stand zu halten. Wenn es Updates gibt, sollten diese installiert werden, wenn keine Updates kommen, dann sollten Sie den Hersteller wechseln. Noch mehr Sicherheit bietet F-Secure SENSE, ein Router, der speziell für das Internet of Things und den Schutz von smarten Endgeräten entwickelt wurde.
Kategorien