Im November 2014 veröffentlichten die Experten der G DATA SecurityLabs einen Artikel über ComRAT, den Nachfolger von Agent.BTZ. Wie wir damals erläuterten, stand dieser Fall mit dem Uroburos-Rootkit in Verbindung. Wir gehen davon aus, dass der Entwickler, der hinter diesen Kampagnen steht, verschiedene Malware-Stämme nutzt, um die anzugreifende Infrastruktur zu kompromittieren: Uroburos, ein Rootkit; Agent.BTZ/ComRAT, Fernsteuerungstool oder Linux-Malware und vielleicht sogar noch mehr.
Wir entschlossen uns dazu, Agent.BTZ und ComRAT noch einmal genauer unter die Lupe zu nehmen. Deshalb haben wir die Entwicklung dieses Fernsteuerungstools über sieben Jahre untersucht. Die folgende Tabelle enthält minimale Informationen über 46 verschiedene Samples:
MD5|Version|Compilation Date | ||
b41fbdd02e4d54b4bc28eda99a8c1502|Ch 1.0|Wed Jun 13 07:31:32 2007 UTC | ||
93827a6c77e84ffdd9c793d485d3df6e|Ch 1.0|Wed Jun 13 07:31:32 2007 UTC | ||
3e9c7ef54ea3d55d5b53abab4c3e2385|Ch 1.0|Wed Jun 13 07:31:32 2007 UTC | ||
b9ed8876ef5a05ba364a9cdbdf4f184d|Ch 1.0|Tue Jun 19 12:41:21 2007 UTC | ||
d8f98f64687b05a62c81ce9e52dd808d|Ch 1.1|Tue Jun 26 08:46:11 2007 UTC | ||
2cf64ff9dad8d64ee9322e390d4f7283|Ch 1.1|Tue Jun 26 08:46:11 2007 UTC | ||
24e679155697bd31b34036a44d4346a7|Ch 1.2wcc|Tue Jul 24 12:57:37 2007 UTC | ||
53b8b9f779b1d1d298884d1c21313ab3|Ch 1.2wcc|Tue Jul 24 12:57:37 2007 UTC | ||
69ae46fedf3c18ff36fc850e0baa9365|Ch 1.2wcc|Tue Jul 24 12:57:37 2007 UTC | ||
e05511a84eb345954b94f1e05c78bf22|Ch 1.2|Thu Jul 26 07:20:17 2007 UTC | ||
f93ce76f6580d68a95260198b2d6feaa|Ch 1.3|Mon Dec 3 14:15:58 2007 UTC | ||
db5d1583704b0fb6d1cff0b62a512a7d|Ch 1.4|Tue Dec 11 17:36:03 2007 UTC | ||
2b348c225985679f62e50b28bdb74ac9|Ch 1.4|Tue Dec 11 17:36:03 2007 UTC | ||
af3f0efbd69905123f7df958cc88dff9|Ch 1.4|Tue Dec 11 17:36:03 2007 UTC | ||
e825c4961293ad45883cd52f38695283|Ch 1.5|Thu Mar 27 14:58:15 2008 UTC | ||
2a67b53b7ef7b70763658ca7f60e7005|Ch 1.5|Thu Mar 27 14:58:15 2008 UTC | ||
bbf569176ec7ec611d8a000b50cdb754|Ch 1.5|Thu Mar 27 14:58:15 2008 UTC | ||
e5c76e67128e48cb0f003c2beee47d1f|Ch 1.5|Thu Mar 27 14:58:15 2008 UTC | ||
8e5da63369d20e1d2c530bf806996285|Ch 2.02|Mon May 5 11:27:48 2008 UTC | ||
78d3f074b70788897ae7e20e5137bf47|Ch 2.03|Mon May 12 11:52:31 2008 UTC | ||
986f263ca2c529d5d28bce3c62f858ea|Ch 2.03|Thu May 22 10:24:55 2008 UTC | ||
4f732099caf5d21729572cec229f7614|Ch 2.04|Mon Jun 9 17:23:56 2008 UTC | ||
5336c24a3399f522f8e19d9c54a069c6|Ch 2.04|Mon Jun 9 17:23:56 2008 UTC | ||
dc1c54751f94b6fdf0b6ecdd64e67701|Ch 2.04|Mon Jun 9 17:23:56 2008 UTC | ||
40335fca60acd05f1428b13a9a3c1228|Ch 2.04|Mon Jun 9 17:23:56 2008 UTC | ||
72663ee9d3efaff959bff4ce25bd37a6|Ch 2.04|Mon Jun 9 17:23:56 2008 UTC | ||
5ef72904221aa4090a262a24714054f0|Ch 2.04|Mon Jun 9 17:23:56 2008 UTC | ||
331eca9c7d9fd9cbe7cd192af09880a3|Ch 2.05|Thu Nov 6 13:21:45 2008 UTC | ||
db1156b072d58acdac1aeab9af2160a2|Ch 2.05|Thu Nov 6 13:21:45 2008 UTC | ||
74dbea70bfb15db31bb9f757ed4bb1a0|Ch 2.07|Mon Dec 29 11:37:17 2008 UTC | ||
eb928bca5675722c7e9e2b09eec1158a|Ch 2.07|Mon Dec 29 11:37:17 2008 UTC | ||
162f415abad9708aa61db8e03bcf2f3c|Ch 2.11|Mon Sep 14 13:22:57 2009 UTC | ||
448524fd62dec1151c75b55b86587784|Ch 2.11|Mon Sep 14 15:28:07 2009 UTC | ||
29bb70a40689e9e665d15716519bacfd|Ch 2.12|Tue Sep 29 10:28:40 2009 UTC | ||
38d6719d6a266c6cefb8626c57378927|Ch 2.13|Mon Dec 7 14:25:12 2009 UTC | ||
02eda1effde92bdf8462abcf40c4f776|Ch 2.13|Mon Dec 7 14:27:53 2009 UTC | ||
5121ce1f96d74076df1c39748e019f42|Ch 2.14.1|Wed Feb 17 15:14:20 2010 UTC | ||
28dc1ca683d6a14d0d1794a68c477604|Ch 3.00|Tue Jan 31 16:12:25 2012 UTC | ||
40bd7846553550f38e458b8493824cb4|Ch 3.00|Tue Feb 14 10:28:06 2012 UTC | ||
ba0c777317461ed57a85ffae277044dc|Ch 3.02|Wed Apr 4 16:23:44 2012 UTC | ||
b86137fa5a232c614ec5405be4d13b37|Ch 3.10|Tue Dec 18 08:22:43 2012 UTC | ||
7872c1d88fe21d8a85f160a6666c76e8|Ch 3.20|Fri Jun 28 12:16:40 2013 UTC | ||
83a48760e92bf30961b4a943d3095b0a|Ch 3.20|Fri Jun 28 12:16:58 2013 UTC | ||
3d65c18d09f47547f85c631ebeeda482|Ch 3.20|Mon Jun 24 10:51:01 2013 UTC | ||
ec7e3cfaeaac0401316d66e964be684e|Ch 3.25|Thu Feb 6 12:37:44 2014 UTC | ||
b407b6e5b4046da226d6e189a67f62ca|Ch 3.26|Thu Jan 3 18:03:46 2013 UTC |
Aus den Versionsbezeichnungen können wir ableiten, dass die ermittelten Kompilierungsdaten korrekt sind, mit Ausnahme der letzten bekannten Version, bei der der Entwickler das Kompilierungsdatum modifiziert hat, um die Analyse zu erschweren. Wir sehen, dass diese Malware in den Jahren 2007 und 2008 sehr aktiv war. Weniger neue Versionen wurden im Jahr 2009 veröffentlicht; lediglich ein neues Sample wurde im Jahr 2010 erfasst. Ab dem Jahr 2011 fanden wir keine neuen Samples, aber die Malware tauchte im Jahr 2012 wieder mit einer neuen Hauptversion auf.
Um die Weiterentwicklung der Software zu beschreiben, haben wir zehn Hauptversionen verglichen:
Im folgenden Kapitel werden die wesentlichen Unterschiede zwischen den oben genannten Versionen dargelegt. Die folgende Tabelle zeigt die Ähnlichkeit der einzelnen Versionen in Prozent; verglichen werden jeweils nur die direkt aufeinanderfolgenden Versionen unter Verwendung von BinDiff:
Die analysierten Samples sind folgende:
Wir haben keine grundlegenden Unterschiede zwischen den beiden Samples feststellen können. Jedoch können wir Folgendes festhalten:
Die analysierten Muster sind folgende:
In Version 2.03 von Agent.BTZ haben die Entwickler Folgendes geändert:
Wir gehen davon aus, dass „CH“ dieselbe Bedeutung wie „Ch“ vor der Versionsnummer hat und „CMD“ eine Abkürzung für Command (Befehl) ist.
Laut einem Bericht wurde Version 1.5 für einen Angriff gegen das US-Verteidigungsministerium (Pentagon) eingesetzt. Wir gehen davon aus, dass die Zeichenfolgenverschlüsselung durchgeführt wurde, um Sicherheitsmaßnahmen zu umgehen, die Angriffe erkennen sollen.
Die analysierten Muster sind folgende:
Der Programmcode dieser beiden Versionen weist kaum Unterschiede auf. Wir konnten nur sehr geringe Unterschiede feststellen:
Die analysierten Muster sind folgende:
Auch bei diesen Versionen ist der Code sehr ähnlich. Wir konnten nur zwei Unterschiede feststellen:
Die vier exportierten Bibliotheken zeigen, dass die Malware erstmalig das OLE Component Object Model (COM) unterstützt. Diese Version ist die erste Version, die in der Lage ist, als COM-Objekt registriert zu werden. Drei der vier Funktionen haben keinen Inhalt. Die vierte Funktion führt die Malware aus.
Die analysierten Muster sind folgende:
Der Code dieser Versionen weist große Unterschiede auf, wenngleich einige Teile von Version 2.14.1 beibehalten wurden. Außerdem haben die Entwickler einen anderen Compiler benutzt; sie sind von Visual Studio 6.0 auf Visual Studio 9.0/10.0 umgestiegen, was ein bedeutender Indikator für die großen Unterschiede ist.
Version 3.00 ist die Version, die die Experten der G DATA SecurityLabs als „ComRAT“ bezeichnen. Damit ist Version 2.14.1 die letzte Version von Agent.BTZ. Hier die wichtigsten Unterschiede zwischen Agent.BTZ und ComRAT:
Bei mehreren Samples von Version 3.00 vergaß der Entwickler, den Kompilierungspfad zu entfernen. Hier einige Beispiele:
Aufgrund dieser Kompilierungspfade gehen wir davon aus, dass der ursprüngliche Name des Fernsteuerungstools „Chinch“ ist. Dies führt uns zu der Annahme, dass die Zeichenfolge „CH“ in der Versionsbezeichnung und im Flag „<CHCMD>“ für „Chinch“ steht. Das englische Wort „Chinch“ bezeichnet das kleine nordamerikanische Insekt mit der wissenschaftlichen Bezeichnung Blissus leucopterus. Dieses Wort leitet sich vom spanischen Wort „chinche“ ab, das Wanze bedeutet.
Die analysierten Muster sind folgende:
Der Code ist bei diesen Versionen ähnlich, doch die Entwickler haben einige neue Funktionen integriert:
Diese letztgenannte neue Funktion ist sehr interessant: Wenn die kompromittierten Zielcomputer einen bestimmten C&C-Server blockieren, funktioniert die Malware dennoch weiterhin über zwei alternative Command & Control Server.
Die analysierten Samples sind folgende:
Die wichtigste neue Funktion dieser Version ist die neue Exportfunktion InstallW(). Diese Exportfunktion wird vom Dropper dazu verwendet, dauerhafte Registry-Einträge zu erstellen und – wie in unserem letzten Artikel beschrieben – eine zweite Datei abzusetzen. Version 3.20 verwendet die folgende CLSID, um ein COM-Objekt zu manipulieren: B196B286-BAB4-101A-B69C-00AA00341D07. Dieses Objekt ist die Schnittstelle IConnectionPoint. Die CLSID wurde nur in dieser Version verwendet.
Wir gehen davon aus, dass die durchgeführte Manipulation des COM-Objekts einige Probleme auf dem infizierten System erzeugt. Deshalb hat der Entwickler damit im Zusammenhang stehende Aspekte in der nächsten Version geändert. Darüber hinaus wurde die CLSID im Sample in Klartext gespeichert.
Die analysierten Samples sind folgende:
In Version 3.25 ist der Entwickler auf folgende CLSID umgestiegen: 42aedc87-2188-41fd-b9a3-0c966feabec1. Dies wird in unserem Bericht "Die Akte Uroburos: neues, ausgeklügeltes RAT identifiziert" beschrieben. Zudem sind die Zeichenketten im Muster verschlüsselt. Die wichtigste Neuerung ist die Verschlüsselung – fast alle Zeichenketten sind verschlüsselt, und das XML-Muster ist nicht mehr in Klartext geschrieben.
Die analysierten Samples sind folgende:
Version 3.26 ist die jüngste bekannte Version. In dieser Version haben die Entwickler folgende Änderungen vorgenommen:
Diese Analyse zeigt uns die Entwicklung eines Fernsteuerungstools über sieben Jahre. Es wird von einer Gruppe genutzt, die Angriffe gegen sensible Organisationen wie etwa im Jahr 2008 gegen das US-Verteidigungsministerium (Pentagon) oder im Jahr 2014 gegen das belgische Außenministerium sowie gegen das finnische Außenministerium richtete.
Bis auf die Änderungen in Version 3.00 sind die vorgenommenen Änderungen eher marginal. Wir erkennen, dass die Entwickler Funktionen an die Windows-Versionen angepasst, Fehler gepatcht, Verschlüsselungstechniken integriert haben usw. Das größte Update auf Version 3.00 wurde nach zwei Jahren des Schweigens durchgeführt. Offenbar wurde dieses Fernsteuerungstool parallel zum Uroburos-Rootkit eingesetzt. Dennoch ist nicht völlig klar, wie und wann die Angreifer sich dazu entschieden haben, das Fernsteuerungstool oder das Rootkit einzusetzen oder ob beide Tools parallel genutzt werden.
Unter Berücksichtigung aller Aspekte sind die Experten der G DATA SecurityLabs davon überzeugt, dass die Gruppe, die hinter Uroburos/Agent.BTZ/ComRAT bzw. dem Linux-Tool steckt, auch weiterhin eine aktive Rolle im Bereich Malware und APT spielen wird. Aufgrund der neuesten Analyseergebnisse und der daraus gezogenen Schlussfolgerungen kommen wir zu der Ansicht, dass noch weitere Bedrohungen folgen werden.