Come funziona esattamente un worm di Facebook?


27

Inizialmente avevo supposto che un mio amico di FB stesse diffondendo un link dannoso perché aveva accettato innocentemente un'app e gli aveva dato i privilegi, ma dice che non è così. Vedi lo scambio:

Amico: "Non fare clic sul collegamento che hai ricevuto da me! È infetto! L'ho preso da (nome redatto) !!! Mi dispiace! Devo fermarmi ******!"
Io: "Hai accettato un'applicazione FB. Tutto quello che devi fare è andare su Account -> Impostazioni privacy -> App e siti Web e non accettare l'applicazione offensiva. Ecco perché non faccio app FB, punto".
Amico: non è un'app. non nella lista ... è un worm

Come funziona? Shenanigans JavaScript quando la persona fa clic sul collegamento?

Risposte:


31

Sì, esattamente JavaScript. Ho appena incontrato un tale worm e ho provato a decodificarlo.

Qual è il problema reale:

Il recente worm Facebook funziona facendo in modo che gli utenti visitino una pagina, il che li fa inserire una stringa JavaScript nella barra degli indirizzi e quindi eseguirla.

Quindi, NON copiare MAI del codice JavaScript nella barra degli indirizzi. Questo è il problema principale. E non fare clic su alcun link di cui non ti fidi. O almeno apri quei link in una nuova finestra usando la modalità Privacy (Firefox) o la modalità di navigazione in incognito (Chrome) in modo che non sia in grado di accedere alla tua sessione di Facebook.


Cosa hanno fatto i nostri hacker per impedire alle persone di rendersi conto di ciò che stanno facendo?

Sfuggire alla sceneggiatura

La stringa che copi nella barra degli URL si collega principalmente a un altro JavaScript che viene eseguito. Questo script è in realtà decodificato in entità. Quindi, invece di usare i caratteri stringa, l'intero script è stato inserito in una stringa ed è fuggito in modo che nessun essere umano potesse leggerlo in primo luogo.

Ad esempio, se avessi una funzione molto dannosa, la sfuggirei e l'utente vedrebbe solo:

funzione% 20Test% 28% 29% 20% 7B% 20alert% 20% 28% 22LOL% 22% 29% 3B% 20% 7D

e senza escape sarebbe

test funzionale () {alert ("LOL"); }

Pertanto, lo script annulla "se stesso" prima di essere eseguito.

Offuscandolo

Ora sta diventando brutto: prima di fuggire, il codice JavaScript malvagio viene offuscato, con nomi di funzioni simili _____xe variabili come aLDIWEJ. Questo ha ancora senso per JavaScript, ma è del tutto illeggibile per l'uomo. Questo viene fatto, ancora una volta, per mascherare le intenzioni dei nostri hacker di Facebook.

A questo punto, il codice potrebbe essere simile a questo:

inserisci qui la descrizione dell'immagine

Cosa fa la sceneggiatura

Bene, quello che fa questo script è prendere la tua attuale sessione di Facebook. Poiché hai effettuato l'accesso al sito, può fare qualsiasi cosa a tuo nome. Ad esempio, le cose che può fare tramite l'API di Facebook sono:

  • creando un evento come "OMG, posso vedere chi mi ha pedinato!"
  • chiacchierando con le persone
  • invio di aggiornamenti di stato
  • eccetera.

Tutto questo accade chiamando alcune delle pagine API di Facebook (alcune pagine PHP, ho dimenticato quale).


5

In breve ... è un virus ... come tutti gli altri. Il metodo che utilizza per replicarsi è creare post sul tuo account dopo essere stato eseguito dalla pagina di qualcun altro. A seconda del browser e / o del sistema operativo in uso e delle vulnerabilità che presenta, tutto è possibile. Fondamentalmente, una volta che lo script è in esecuzione nel tuo browser (che può iniziare da un semplice clic) a sua volta utilizza le tue credenziali memorizzate nella cache per creare post sulla tua pagina ... che contiene lo stesso link / simile su cui hai cliccato inizialmente.

A parte disabilitare javascript / flash / e un sacco di altre cose (che è richiesto da Facebook) non sarai in grado di proteggerti da tali exploit.

Una soluzione rapida e sporca ... prima di fare clic su qualsiasi link nei post degli altri ... guarda dove sta andando. Evita i collegamenti che finiscono con un segno di hash ("#") o hanno una sorta di riferimento javascript ... o non hanno alcun collegamento reale ad esso. (cioè non sembra andare a nessun URL)

Oppure potresti sempre adottare il mio approccio ... ed evitare completamente facebook / twitter / etc ... Devo ancora trovare qualcosa su uno di quei servizi a cui assegnarei valore o importatori. Amici e parenti sanno come inviare e-mail ... o meglio ancora ... rispondi al telefono. (solo la mia opinione per quello che vale)


1
non proprio accurato ... ci sono molti modi per proteggerti da questo. È possibile utilizzare un plug-in come NoScript, ad esempio, per non eseguire il javascript. Puoi aprire il link in una nuova finestra usando la modalità privacy / incognito e la nuova finestra non avrà accesso alla tua sessione di Facebook. Se la tua sicurezza dipende semplicemente dall'evitare collegamenti sospetti, non è molto efficace. Se invece usi correttamente gli strumenti di navigazione sicura, non dovrai vivere nel timore di ciò che si nasconde oltre ogni clic del link.
Brian Schroth,

@Brian Schroth: Come ho detto nel mio post, "a corto di disabilitare javascript / flash / ...." NoScript fa esattamente questo. Hai ragione sul fatto che solo guardare l'obiettivo del link non ti salverà da molti exploit ... La modalità di navigazione in incognito e simili non ti proteggeranno dall'ottenere un virus ... e causeranno anche problemi nel tentativo di seguire i collegamenti tra le sessioni. In verità ... le persone dovrebbero vivere nella paura di ciò che sta al di là dei collegamenti. Dovrebbero prendersi un momento per pensare a cosa stanno facendo clic.
TheCompWiz

1
NoScript non disabilita Javascript. Fornisce un controllo approfondito su ciò che javascript fa e non esegue. La tua risposta implica che se "disabiliti Javascript", non puoi più usare Facebook. Ma se usi NoScript, puoi consentire gli script di facebook.com pur essendo protetto dal Javascript di alcuni siti di malware casuali.
Brian Schroth,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.