„Der Cereal-Werkzeugkasten ist ein sorgfältig konstruiertes Instrument für langfristige, verdeckte Cyberspionage“, erklärte ESET. „Er hinterlässt kaum Spuren auf der Festplatte, verzichtet auf externe Infrastruktur, die entdeckt und blockiert werden könnte, und versteckt sich in legitimen Exchange-Prozessen.“ Für Turla seien Exchange-Server nicht bloß Mailserver, sondern dauerhafte Sammelpunkte, interne Ausführungszentralen und eine geeignete Umgebung, um ausgefeilte .NET-Techniken zu verbergen.

Die Komponenten greifen ineinander: Sie laufen auf Exchange-Servern, nehmen Befehle entgegen, führen sie im Arbeitsspeicher aus, kartieren das infizierte Netzwerk und sammeln gezielt E-Mails. Wie die Schadsoftware ursprünglich auf die Systeme gelangt, ist unbekannt. Turla ist jedoch für Spear-Phishing, Watering-Hole-Angriffe und Adversary-in-the-Middle-Angriffe auf Ebene von Internetanbietern bekannt. Den Namen verdankt Cereal der intensiven Nutzung von Serialisierung, also der Umwandlung von Datenstrukturen oder Objektzuständen in ein Format, das sich leicht speichern, übertragen und wiederherstellen lässt.

Nach Einschätzung von ESET heben sich vor allem drei Merkmale ab:

  • Es gibt keine externe Command-and-Control-Infrastruktur; stattdessen dient ein kompromittierter Exchange-Server als Steuerzentrale.
  • Befehle werden als eigenständige, kompilierte .NET-Programme übermittelt.
  • Ein automatisiertes Modul zum Sammeln von E-Mails wird in legitime Exchange-Prozesse eingeschleust und manipuliert die Transportpipeline für E-Mails.

Das zeige, dass die Angreifer die inneren Abläufe von Microsoft Exchange genau kennen. Das Framework besteht aus acht Komponenten:

  • CerealRunner wird vom Operator platziert und dient zum Nachladen weiterer Bausteine, darunter CerealLoader, CerealSprinter, CerealIron und CerealMoth.
  • CerealLoader lädt eine .NET-Assembly aus einer verschlüsselten Datei und startet so CerealSprinter.
  • CerealSprinter arbeitet ähnlich wie CerealRunner und entschlüsselt und startet CerealNeuron, CerealHermit und CerealBox.
  • CerealIron ist ein Injektor, mit dem sich .NET-Assemblies aus Nicht-.NET-Prozessen heraus laden und ausführen lassen.
  • CerealMoth erhält eine Assembly und einen Methodennamen, lädt die Assembly und führt die angegebene Methode aus.
  • CerealNeuron ist eine passive Hintertür, die auf dem Exchange-Server auf eingehende Webanfragen an Pfaden lauscht, die wie gewöhnlicher Exchange-Verkehr aussehen, und in CerealRunner-Binärdateien enthaltene Assemblies ausführt.
  • CerealHermit ist eine Variante von CerealNeuron ohne eigene Netzwerkfunktion, die Befehle aus verschlüsselten Dateien liest.
  • CerealBox ist das Sammelmodul, das sich in den Exchange-Transportdienst „EdgeTransport.exe“ einschleust und E-Mails verarbeitet, filtert und sammelt.

CerealBox sucht nach Nachrichten mit DOC-, DOCX- oder PDF-Anhängen, die mindestens zu einer von vielen fest einprogrammierten Listen mit Absender- und Empfängeradressen, Betreffzeilen oder Anhangsnamen passen. Passende E-Mails werden komprimiert, verschlüsselt und in Dateien zwischengespeichert, anschließend per CerealNeuron-Befehl ausgeleitet und gelöscht. Bei der rumänischen Regierungsorganisation war CerealBox darauf eingestellt, E-Mails mit Adressen von NATO- und EU-Institutionen abzugreifen – ein Muster, das zu den strategischen Prioritäten Russlands passt.

Die als kompilierte .NET-Programme gelieferten Befehle verarbeitet CerealRunner: Es entpackt die Nutzlasten, führt sie im Arbeitsspeicher aus und gibt die Ergebnisse an CerealNeuron zurück, das sie verschlüsselt an die Angreifer weiterleitet. Die Befehle können Postfächer oder einzelne Nachrichten abrufen, Active Directory nach Computern, Benutzern, Gruppen und DNS-Einträgen abfragen, WMI-Abfragen ausführen, LSA-Secrets auslesen, Volume-Snapshots auflisten und Dateioperationen durchführen.

„Die schiere Menge nahezu identischer Binärdateien, jede für eine bestimmte Aufgabe kompiliert, deutet stark darauf hin, dass die Betreiber ein internes Framework besitzen, das das Kompilieren und Verpacken von Befehlen automatisiert“, sagte ESET-Forscher Matías Porolli. „Zusammen mit einer Codebasis aus modularen, austauschbaren Komponenten entsteht der Eindruck einer ausgereiften, gut durchdachten Plattform – und nicht einer losen Sammlung von Skripten.“