Die IoT-Sicherheitsexperten von Avira haben kürzlich eine neue Variante des Botnets Mirai entdeckt. Diese Variante wurde nach dem japanischen Schwert „Katana“ benannt.
Obwohl sich das Botnet noch in der Entwicklung befindet, hat es bereits unter anderem folgende Merkmale: DDoS-Angriffsmöglichkeiten über die Ebene 7 (DDoS; Distributed-Denial-of-Service), verschiedene Verschlüsselungsschlüssel für jede Quelle, eine schnelle Selbstvervielfältigung und eine sichere Verbindung zum Command-and-Control-Server, dem zentralen Befehls-Computer. Es gibt Hinweise darauf, dass sich Katana noch mit einem HTTP-Banking-Botnet verbinden könnte.
Wir haben bereits untersucht, wie sich das IoT-Botnet Mirai seit Bekanntwerden seines Quell-Codes entwickelt hat. Unsere aktuelle Analyse von IoT-Angriffen – also Angriffe auf Geräte innerhalb des Internet of Things bzw. Internet der Dinge – und Malware-Trends zeigt, dass Mirai sich stetig weiterentwickelt. Beispielsweise bieten YouTube-Kanäle Mirai-Varianten zum Kauf oder Download an. Im Fall von Katana wird man auf dem Kanal VegaSec fündig. Durch diese Entwicklung sowie weitere Änderungen können auch ungeübte Angreifer gefährliche Botnets erschaffen. Das wiederum dürfte dann zu einer noch höheren Anzahl von Angriffen führen.
Analyse
Durch das Ausführen von Remote-Code (Remote; aus der Ferne) und von beliebigen Befehlen (Command Injection) versucht das Katana-Botnet, Sicherheitslücken in LinkSys- und GPON-Routern auszunutzen. In den letzten Wochen haben wir mithilfe unseres Honeypots – einem speziellen Köder für Hacker – eine Flut von Malware-Binärdateien erfasst. Das hat uns dazu bewogen, uns die Sache einmal genauer anzusehen.
Obwohl Katana alte Exploits – d. h. alte Methoden – nutzt (wir vermuten, dass sich das Botnet noch in der Test- bzw. Entwicklungsphase befindet), ließ uns das aufhorchen. Und zwar aus folgenden Gründen:
- Das Botnet infiziert jeden Tag hunderte von Geräten.
- Das Botnet weist interessante Eigenschaften auf.
Das Botnet wird innerhalb eines bestimmten Zeitraums über unterschiedliche IP-Adressen heruntergeladen. Die Abbildungen unten zeigen die Download-Vorgehensweise.
05.10.2020
08.10.2020
12.10.2020
Unsere Analyse hat gezeigt, dass das Botnet als Einzelinstanz ausgeführt wird, indem es verschiedene Ports bindet, nämlich die Ports 53168, 57913, 59690, 62471 und 63749. Ein Beispiel hierfür sehen Sie hier:
Das Botnet versucht, den Watchdog (eine Funktion zur Überwachung von Geräten oder Verbindungen) zu manipulieren, und verhindert damit einen Neustart des Geräts. Die folgende Abbildung veranschaulicht das ganz deutlich:
Kurz gesagt: Katana besitzt mehrere Mirai-Funktionen. Dazu gehören das Ausführen als Einzelinstanz, ein zufälliger Prozessname, das Manipulieren des Watchdogs, um einen Neustart des Geräts zu verhindern, sowie DDoS-Befehle. Zudem konfiguriert das Botnet „iptables“ (Programm zur Konfiguration von Tabellen), um den Zugriff auf Port 37215 des infizierten Geräts zu sperren.
Ähnlich wie Mirai unterstützt das Botnet auch DDoS-Befehle.
attack_app_http |
attack_get_opt_int |
attack_get_opt_ip |
attack_get_opt_str |
attack_gre_eth |
attack_gre_ip |
attack_init |
attack_kill_all |
attack_method_http |
attack_method_std |
attack_method_tcpack |
attack_method_tcpstomp |
attack_method_udpgeneric |
attack_method_udpplain |
attack_method_udpvse |
attack_ongoing |
attack_parse |
attack_start |
attack_tcp_ack |
attack_tcp_stomp |
attack_tcp_syn |
attack_udp_dns |
attack_udp_generic |
attack_udp_ovhhex |
attack_udp_plain |
attack_udp_stdhex |
attack_udp_vse |
attack_app_http weist darauf hin, dass es sich bei Katana tatsächlich um ein HTTP-Botnet handelt. Die oben fett hervorgehobenen Funktionen sind offenbar neue Befehle, die das Botnet für seine Angriffe verwendet.
Netzwerk-Analyse
Wie Mirai greift auch Katana Heim-Router wie GPON und LinkSys an, indem eine Remote-Code-Ausführung und Command-Injection-Angriffe genutzt werden.
Bei unserer Analyse fanden wir heraus, dass wir die Authentifizierung umgehen können: Denn wir konnten einfach “?images” an jede URL des Geräts anhängen, das eine Authentifizierung verlangt. Auf diese Weise können Angreifer das Gerät verwalten. Die folgende Abbildung zeigt, wie das genau abläuft:
Im Rahmen unserer Analyse haben wir beobachtet, dass in einigen LinkSys-Routern eine binäre CGI-Ausführungsdatei (tmUnblock.cgi) vorhanden ist. Diese Datei hat mehrere Sicherheitslücken, die unterschiedlichste Angriffe auf den Router ermöglichen. Wie unten dargestellt, versucht die Malware, den Router über ein anfälliges CGI-Skript anzugreifen:
Die Authentifizierung ist in Base64 kodiert und wird als „login: password“ (Benutzername: Passwort) dekodiert.
Das Botnet greift außerdem verschiedene Geräte an, die das RealTek-SDK (Software Development Kit) mit der Komponente „miniigd deamon“ verwenden. Diese Komponente ist anfällig für das Einfügen von Betriebssystembefehlen (so genannte „OS Command Injection“) in der UPnP-SOAP-Schnittstelle. Ein Beispiel hierfür:
Das Katana-Botnet versucht außerdem, mit seinen beiden Command-and-Control-Servern zu kommunizieren:
- 100cnc[.]r4000[.]net
- 1280x1024cnc[.]r4000.net
Aktuell infiziert Katana jeden Tag hunderte von Geräten. Am häufigsten sind nach unseren aktuellen Erkenntnissen folgende Geräte betroffen:
- DSL-7740C DLink
- DOCSIS 3.1 Wireless Gateway
- Dell PowerConnect 6224 Switch
Fazit
Für IoT-Endpoints im Verbraucherumfeld – d. h. Endgeräte und Systeme – ist ein richtiger Schutz unverzichtbar. Es müssen branchenweite Standards zur Verbesserung der Gerätesicherheit eingeführt werden, um IoT-Geräte zu zuverlässigen Produkten zu machen, die regelmäßig gepatcht werden.
Das IoT-Experten-Team von Avira hat immer ein Auge auf die neuesten Malware-Familien und -Varianten, um eine entsprechende Erkennung bereitstellen zu können. Avira SafeThings und Anti-Malware-Technologien tragen dazu bei, Anwender vor solchen Angriffen zu schützen.
IoCs
Sha256 | Ziel-Architektur | Debug-Informationen |
1a8f57c659393b6153d1db58863e2ed99e4505ac89c3cdc5064fc0468a6af740 | Intel 80386 | stripped |
20e5d75056aad8120a3d5bd70910387c02f3bfad5ff7a2f414a223c632927be3 | Intel 80386 | stripped |
4625702c98b9db0fafa1f82647288ccb3afd1e640d3b74199a475e60298ccaba | Renesas SH | stripped |
4ecdc38a758773baa1813d8960bb5bf9d4b574526eb6ce09ff04041ad913632c | ARM | with debug_info |
607d0a502c0659f31640440fbde3c7ad0c73e208b8e961b0ec038514d0d0b555 | ARM | with debug_info |
738e80232501dcae0e5ff8dc50a30cc1350f555294b637167dfe1f88cb58b7c1 | Motorola m68k | statically linked |
8aa7c90ddbaa213f12d4e3bfe2c37cf2593e09008493024a609e5a55cd5abdef | PowerPC or cisco 4500 | stripped |
9751b5d280c6f7b4ee084ecd7ad51e3dc36cfecbfa837acc388d608d39885b12 | x86-64 | stripped |
be59eaf0ab86c8dd6cad03e772550edf4342fdb63762a8cb44dee3f421bd206c | ARM | with debug_info |
d8dd74cf72ff9ef46e2453f4da442a235493e95eb65ff0ff87c60b9dc93ad0d5 | ARM | with debug_info |
e18c367fe9fb480067173e557606ea7165a9347977311bebcb1d8e05a141f0ed | Intel 80386 | stripped |
fb6b1d45a0393d609c8d0de355717585ee32eac7495ecb65ddcf0eefcbae05d1 | ARM | with debug_info |
05666fef3489f9860b795493128da03eaea4d86f4bd6eef614e5ec575169ba20 | x86-64 | stripped |
17712da0934af383baa501ee6f23bea4489707b70d155c807f96e7acc0cbd003 | PowerPC or cisco 4500 | stripped |
203fed7435fb3f8428e57c798b17f30c4eba7b649c0ebf842cbba39499817739 | Renesas SH | stripped |
2e809192edf97c96eef0005d5fddbfe14ac1d1a4e9c868c29990849432190310 | ARM | with debug_info |
34ed813148775b3aa0d817fc383d77117972d3055fe813387f7371a50c2dc135 | Intel 80386 | stripped |
37336a15c1757b0f5ddc4ec9cb581e0d333968c5885169871d5b7d80b736cafd | ARM | with debug_info |
41e608eaa115b8a9bb326d208592b2657a5978b96ad83c44c66dd0062d589351 | ARM | with debug_info |
47eddc780e2378a48d5874b9b9e367284f78929dad1dc1a06daf6b99cc1c0466 | Renesas SH | stripped |
7691f6540c8fb964c5c6aeeee7bd7c8120654d27a474d74be03620164e70a7b7 | MIPS | stripped |
7af99a666c01aee840f86f89bf9e978553c2f104ba53b63099b3eb060068130c | x86-64 | stripped |
7f7630859e53161ee167b7ed7c23bc0367307638900dd5a1f9d495683047aa97 | Intel 80386 | stripped |
86ef3b56079c51266e90e1c139675a4e62005612275b97f61cee168a2e47b189 | Intel 80386 | stripped |
9c0c968f5a5277598bc7cfbfab419805c96a587d5a560492f02423f0567b9bae | Intel 80386 | stripped |
b06dc2342230b7ad67d9f18589bca482263c0a0ef4876cc141e3afcc09a47dc8 | Motorola m68k | statically linked |
cf168849329fdc05bebe2fc256de7c2afaf9a31c54696e47f2b42c42276acd2d | Intel 80386 | stripped |
e7bbc103496c541b25754d1e3d69dd61f5462c7a49243b65c3c2c12f8a9785f1 | PowerPC or cisco 4500 | stripped |
ef2f9458b49cf85cf9e807f6dca0c19c78923f71308b6dd61fff971c89cb0f34 | Intel 80386 | stripped |
f109945be0837375bf78a2cee25e20d1167c2add57d0f1aeb982375f672b4352 | MIPS | stripped |
ff4206109cdaa560eedfeec302616bfc5818ea16adb4e600b3c5007d3fe12501 | Motorola m68k | statically linked |
1adc1afc26772698e2d0894b25aa16dc3ce9dd70418acb65dda5d12d7e9da31c | Motorola m68k | statically linked |
289a20c1d4685c3080ef2c9154dc6340572e4475454e919364e756d1609fee17 | MIPS | stripped |
37f27fbbac1836d0289bc90bb56c32492b77a4af885e26f065211003ab0c60bd | ARM | with debug_info |
6240c85359cc9b97b6e8db08bf5ddab61a19c6ba04970bd3feb6b5792a6ee6c1 | MIPS | stripped |
7440ee28417403cd69d3e1489866330bcc96079c157bb737004ee0d54c81d254 | x86-64 | stripped |
96a4771ed0bf8802057e654e02d524acea5eb042c41287db5eb8acd4092b47c5 | PowerPC or cisco 4500 | stripped |
9b5be5ce331e1300b36b6929901d8bfccd2fdaa44382b9ef3695779d5fa21b06 | Intel 80386 | stripped |
b9c7a0d43e4d49393669392fdeab45da0991b690d5f03d73f27ce9e17463fb87 | Intel 80386 | stripped |
d18330c627f034226bfa2fcd5a38748496c3ae9b9877aadd763ead65a7c1bbd3 | Intel 80386 | stripped |
da308d1b3d8123ca2f3ebfe1115158a2e2c1a184aa608ff72c192fc333bb3d9c | Renesas SH | stripped |
e2a40a2b24850d78e694868f3cafb541374662501c37cac02888eebf98c128ed | ARM | with debug_info |