¿Cómo funciona exactamente un gusano de Facebook?

27

Inicialmente supuse que una amiga mía de FB estaba difundiendo un enlace malicioso porque inocentemente aceptó una aplicación y le dio privilegios, pero dice que ese no es el caso. Ver el intercambio:

Amigo: "¡No hagas clic en el enlace que recibiste de mí! ¡Está infectado! ¡Lo obtuve de (nombre redactado) ! ¡Lo siento! ¡Tengo que parar ******!"
Yo: "Usted aceptó una aplicación FB. Todo lo que tiene que hacer es ir a Cuenta -> Configuración de privacidad -> Aplicaciones y sitios web y anular la aceptación de la aplicación ofensiva. Es por eso que no hago aplicaciones FB, punto".
Amigo: no es una aplicación. no en la lista ... es un gusano

¿Cómo funciona? Travesuras de JavaScript cuando la persona hace clic en el enlace?

JCCyC
fuente

Respuestas:

31

Sí, exactamente JavaScript. Acabo de encontrarme con un gusano y traté de descifrarlo.

Cuál es el problema real:

El reciente gusano de Facebook funciona haciendo que los usuarios visiten una página, lo que les hace insertar una cadena de JavaScript en su barra de direcciones y, por lo tanto, ejecutarla.

Entonces, NUNCA copie algún código JavaScript en su barra de direcciones. Ese es el problema principal. Y no haga clic en ningún enlace en el que no confíe. O al menos abra esos enlaces en una nueva ventana usando el modo de privacidad (Firefox) o el modo de incógnito (Chrome) para que no pueda acceder a su sesión de Facebook.


¿Qué hicieron nuestros hackers para que las personas no se dieran cuenta de lo que están haciendo?

Escapando del guión

La cadena que copia en la barra de URL está vinculada principalmente a otro JavaScript que se ejecuta. Esta secuencia de comandos está decodificada en entidades Entonces, en lugar de usar caracteres de cadena, todo el script se colocó en una cadena y escapó para que ningún humano pudiera leerlo en primer lugar.

Por ejemplo, si tuviera una función muy maliciosa, la escaparía y el usuario solo vería:

función% 20test% 28% 29% 20% 7B% 20alert% 20% 28% 22LOL% 22% 29% 3B% 20% 7D

y sin escapes sería

prueba de función () {alerta ("LOL"); }

El script, por lo tanto, desempaqueta "sí mismo" antes de que se ejecute.

Ofuscandolo

Ahora se está poniendo feo: antes de escapar, el malvado código JavaScript está ofuscado, con nombres de funciones como _____xy variables como aLDIWEJ. Esto todavía tiene sentido para JavaScript, pero es completamente ilegible para los humanos. Esto se hace, nuevamente, para enmascarar las intenciones de nuestros hackers de Facebook.

En este punto, el código podría haberse visto así:

ingrese la descripción de la imagen aquí

Lo que hace el guion

Bueno, lo que hace este script es tomar tu sesión actual de Facebook. Debido a que ha iniciado sesión en el sitio, puede hacer cualquier cosa a su nombre. Por ejemplo, las cosas que puede hacer a través de la API de Facebook son:

  • creando un evento como "¡Dios mío, puedo ver quién me acechó!"
  • chateando con gente
  • publicar actualizaciones de estado
  • etc.

Todo esto sucede llamando a algunas de las páginas de API de Facebook (algunas páginas PHP, olvidé cuáles).

slhck
fuente
5

En resumen ... es un virus ... como cualquier otro. El método que usa para replicarse es hacer publicaciones en su cuenta después de ser ejecutadas desde la página de otra persona. Dependiendo del navegador y / o sistema operativo que esté utilizando y las vulnerabilidades que tenga, todo es posible. Básicamente, una vez que el script se ejecuta dentro de su navegador (que puede comenzar con un simple clic), a su vez usa sus credenciales almacenadas en caché para hacer publicaciones en su página ... que contiene el mismo enlace / similar en el que hizo clic inicialmente.

A menos que deshabilite javascript / flash / y muchas otras cosas (lo cual es requerido por Facebook), no podrá protegerse de tales ataques.

Una solución rápida y sucia ... antes de hacer clic en los enlaces de las publicaciones de otros ... mira a dónde va. Evite los enlaces que terminen en una marca hash ("#") o que tengan algún tipo de referencia de JavaScript ... o que no tengan ningún enlace real. (es decir, no parece ir a ninguna URL)

O siempre podría tomar mi enfoque ... y evitar facebook / twitter / etc ... por completo. Todavía tengo que encontrar algo en cualquiera de esos servicios a los que asignaría cualquier valor o importancia. Amigos y familiares saben cómo enviar un correo electrónico ... o mejor aún ... levantar el teléfono. (Solo mi opinión sobre lo que vale)

TheCompWiz
fuente
1
no es realmente preciso ... hay muchas maneras de protegerse de esto. Puede usar un complemento como NoScript, por ejemplo, para no ejecutar el javascript. Puede abrir el enlace en una nueva ventana usando el modo de privacidad / modo de incógnito y la nueva ventana no tendrá acceso a su sesión de Facebook. Si su seguridad depende simplemente de evitar enlaces sospechosos, no es muy efectivo. Si en su lugar utiliza herramientas de navegación seguras correctamente, no tendrá que vivir con el miedo a lo que acecha más allá de cada clic en el enlace.
Brian Schroth
@Brian Schroth: Como dije en mi publicación, "a menos que deshabilite javascript / flash / ...." NoScript hace exactamente eso. Tienes razón en que solo mirar el objetivo del enlace no te salvará de muchas vulnerabilidades ... El modo de incógnito y tal no te protegerá de contraer un virus ... y también causa problemas al intentar seguir los enlaces entre sesiones. En verdad ... la gente debería vivir con miedo a lo que hay más allá de los enlaces. Deberían tomarse un momento para pensar en qué están haciendo clic.
TheCompWiz
1
NoScript no deshabilita Javascript. Proporciona un control preciso sobre lo que JavaScript hace y no ejecuta. Su respuesta implica que si "deshabilita Javascript", ya no podrá usar Facebook. Pero si usa NoScript, puede permitir los scripts de facebook.com sin dejar de estar protegido contra Javascript de algún sitio de malware aleatorio.
Brian Schroth