Die erste Stufe der Schadsoftware ist so gebaut, dass sie beim Aufruf einer WordPress-Seite gezielt Steam-Profile kontaktiert und Text aus harmlos wirkenden Kommentaren ausliest. In diesem Text stecken jedoch versteckte Unicode-Zeichen, die die schädliche Nutzlast verbergen – teils getarnt als ASCII-Grafik.

Laut dem Bericht von GoDaddy verwendet der Angreifer sechs unsichtbare Unicode-Zeichen für die kodierte Nutzlast. Der Decoder ignoriert alle sichtbaren Zeichen, ordnet den unsichtbaren jeweils eine Zahl zu, überführt diese in eine Binärdarstellung und setzt daraus die einzelnen Bytes zusammen. „Diese Kodierung erlaubt es, Binärdaten in normal wirkendem Text unterzubringen. Die sichtbaren Zeichen dienen als Tarnung, während die unsichtbaren Zeichen die eigentliche Nutzlast tragen", erklärt GoDaddy.

Die dekodierte Nutzlast baut den Forschern zufolge eine URL zu hello-mywordl[.]info auf, von der JavaScript-Code geladen und in jede sichtbare WordPress-Seite eingeschleust wird. Anhand der Dateinamen – etwa asahi-jquery-min-bundle und lodash.core.min.js – tarnt sich die nachgeladene Malware als legitime JavaScript-Bibliothek.

In der letzten Stufe installiert der Angriff eine Hintertür, die auf speziell gestaltete POST-Anfragen mit einem bestimmten Authentifizierungs-Cookie reagiert. Ist das Cookie „tEcaKKXEsb" vorhanden, nimmt die Hintertür laut den Forschern base64-kodierten PHP-Code über einen POST-Parameter entgegen.

GoDaddy beschreibt mehrere Tarnmechanismen der Schadsoftware: verschleierte Zeichenketten über oktale und hexadezimale Escape-Sequenzen, zufällig erzeugte Funktionsnamen, vorgetäuschten, deaktivierten Protokollierungscode sowie die Nutzung standardmäßiger WordPress-Schnittstellen, mit denen sich die Malware in den normalen Betrieb einfügt.

Betreiber können nach Verweisen auf Steam-Community-URLs suchen, nach verdächtigen Einschleusungen externer JavaScript-Dateien, nach ausgehenden Verbindungen von WordPress-Servern zu Steam sowie nach unerwarteten Skripten, die von Domains wie hello-mywordl[.]info geladen werden. Weitere Indikatoren sind unsichtbare Unicode-Zeichen, verdächtige Cache-Einträge des Typs transient_caption, deaktivierte SSL-Prüfung in cURL-Anfragen sowie POST-Anfragen mit dem Authentifizierungs-Cookie der Malware oder dem Parameter new_code.

Die Forscher raten Sicherheitsteams, vorrangig ein bekanntermaßen sauberes Backback von vor dem Infektionsdatum zurückzuspielen. Ist das nicht möglich, müsse die manuelle Bereinigung gründlich erfolgen, denn „Angreifer können entfernten Code über die Hintertür erneut installieren, solange irgendeine Komponente noch aktiv ist".