He encontrado el código de ataque de JavaScript. ¿Cómo busco información sobre las características específicas del exploit?

11

Por lo tanto, hice clic en una invitación de LinkedIn de aspecto razonable, sin pensar en desplazarme por el enlace primero, ya que generalmente el cliente de correo electrónico me advierte sobre tales cosas.

Una vez que me di cuenta de que aterricé en una página de vulnerabilidad, copié rápidamente la fuente (que contenía un JavaScript evidentemente culpable), cerré la ventana y desenfocé el código de ataque propiamente dicho (codificado en el homebrew envuelto en un eval).

EDITAR: aquí está el pastebin del código sin enmascaramiento, seguido de la página de ataque HTML real.

Afortunadamente, parece que la carga útil no se implementó en mi caso: el ataque se dirige a los complementos de los navegadores Java y PDF, de los cuales no tenía ninguno (tengo Java instalado sin el complemento, pero la versión parece ser demasiado reciente para el ataque de todos modos).

Sin embargo, como no soy un experto en JS (y mucho menos un experto en explotar JS por inferencia), traté de buscar el código de ataque para asegurarme de que no estoy afectado. No hay resultados hasta ahora.

Por supuesto, esto tiene sentido: el código público puede atraer skiddies y cualquier otra persona que desee utilizarlo con fines maliciosos.

Sin embargo, dado el código de ataque de JavaScript, ¿cómo puedo encontrar información sobre la vulnerabilidad?

    
pregunta mikołak 07.09.2013 - 11:11
fuente

4 respuestas

10

Esto parece una bonita buen ejemplo de que este malware invirtió (y paso a paso cómo hacerlo) alguien más. Acabo de buscar lo siguiente en google .

Básicamente, parece que te atacaron con la nueva variante del infame kit de explotación de agujero negro .

Si realiza una búsqueda en el pastebin que ha vinculado para 'java' 'flash' y 'pdf', verá referencias que esencialmente se traducen en 'descargar y abrir esto' con la esperanza de que una de las muchas hazañas El presente en el kit funcionará. El primer enlace que he publicado muestra un buen desglose de esto.

Sin embargo, si los autores anteriores no realizaron ningún análisis, sugeriría seguir la ruta que Michael sugirió y cargar una imagen de máquina virtual. Dicho esto, todavía tiene sus propios riesgos. . Lo recomendaría, si quieres hacer esto de manera regular, tener una computadora portátil o computadora de escritorio vieja dedicada a hacer este tipo de investigación. Esta pregunta también puede ayudarlo en el futuro.

    
respondido por el NULLZ 12.09.2013 - 05:30
fuente
5

Además de usar la VM, si cree que el javascript en sí mismo es malicioso, puede usar herramientas como jsunpack para analizar su código . Además, si captura los paquetes con Wireshark y vuelve a crear el escenario, podría extraer la carga útil / el binario malicioso y subirlo a VirusTotal , Anubis y / o Malwr para un análisis más detallado. (Nota rápida: Malwr también te da el resultado del arenero de cuco ejecutando el binario en la máquina virtual)

    
respondido por el TheRookierLearner 10.09.2013 - 22:53
fuente
3

Si la búsqueda no revela nada útil, una opción estándar es intentarlo.

Ejecute una VM con versiones relativamente antiguas de los complementos de Adobe y Java (si sospecha que está dirigido a PDF y / o Java), tome una instantánea de la VM antes de visitar el sitio infectado, registre todo el tráfico que entra / sale de la VM cuando visite el sitio (y poco después).

Inspecciona el tráfico usando, por ejemplo, Comparta el contenido del sistema de archivos antes y después de la visita (puede encontrar algunos recursos útiles en enlace ).

    
respondido por el Michael 10.09.2013 - 13:12
fuente
2

El JS que publicaste es básicamente la primera etapa de implementación de un ataque a una víctima. Es una enumeración de todo lo que tiene instalado a través de javascript.

Uno de esos controles es

  if ((c.isIE && (c.verIE < 9 || !c.ActiveXEnabled))
                                                || (c.verGecko && 0 > c.compareNums(c.verGecko, c
                                                                .formatNum("2")))
                                                || (c.isSafari && (!c.verSafari || 0 > c.compareNums(
                                                                c.verSafari, c.formatNum("4"))))
                                                || (c.verOpera && c.verOpera < 10)) {
                                        b = [ 1, 1, 1 ]
                                }

Aquí está comprobando la versión de su navegador, si tiene IE < Versión 9, Firefox, Safari u Opera.

Otro de esos controles es

if (((javaver >= 500) && (javaver < 633))
                || ((javaver >= 700) && (javaver < 710))) {
        java1();
} else {
        if ((javaver > 709) && (javaver <= 717)) {
                java2();

Aquí se está comprobando tu versión de java. Y en función de su versión java, es decir, si está entre 5.0.0 y 6.3.3 o 7.0.0 y 7.1.0, implementará una función java1. Ahora, en la salida de pastebin no hay ninguna función java1. Lo que indica que hubo algún otro archivo .js referenciado en algún lugar que falta. Básicamente, la función java1 es donde realmente comienza la parte de explotación. Caso similar para la función java2 y muchos otros. Las comprobaciones de los complementos son básicamente para determinar si es posible cargar ese complemento en particular en su navegador.

Entonces, esta secuencia de comandos fue solo la primera etapa de la explotación real. La razón por la que se realizan tantas comprobaciones es porque la explotación se ha vuelto muy difícil y cada versión de un software requiere un conjunto diferente de carga útil. No solo la versión del software, sino también la versión del sistema operativo. Un exploit de Windows XP SP2 no tiene por qué ser el mismo que el de Windows XP SP3, y mucho menos Mac vs Linux vs Windows. Y usualmente tienes una oportunidad, para explotar a alguien que ha hecho clic en un enlace. (Un exploit fallido provocará que el navegador se bloquee en este caso) Por lo tanto, los atacantes deben elegir el exploit que deben implementar en un cliente con inteligencia:

Al mirar las versiones, si estaba ejecutando alguna aplicación obsoleta como el navegador, Java, Flash o Adobe Reader, debería analizar su sistema para detectar intrusiones.

    
respondido por el Omair . 12.09.2013 - 09:32
fuente

Lea otras preguntas en las etiquetas