Founder of MalwareIntelligence, a site dedicated to research on all matters relating to anti-malware security, criminology computing and information security in general, always from a perspective closely related to the field of intelligence.

lunes, 14 de enero de 2008

CROSS SITE PRINTING: ATACANDO A LAS IMPRESORAS DE RED

Basándose en un trabajo de Adrian Crenshaw, Aaron Weaver ha publicado un artículo en el cual detalla una técnica que nos permitiría tomar cierto control de las impresoras de red y haciendo uso de un poco de código JavaScript en una web maliciosa o vulnerable, podríamos iniciar trabajos de impresión, enviar comandos PostScript y en algunos casos enviar hasta faxes, pudiendo así utilizarlas entre otras cosas para realizar SPAM, Phishing y todo lo que a uno se le pueda ocurrir.

El problema

Muchas impresoras de red quedan a la escucha en el puerto 9100 por trabajos de impresión. Para probarlo basta con conectarse vía telnet a la misma, escribir algo y desconectarse, luego del cierre de la conexión la impresora comenzara a realizar el trabajo. Cabe aclarar que las impresoras locales no resultan afectadas (aun) por esta clase de ataques.

Ataque

Una forma simple de comprobar esta técnica es escribiendo en nuestro navegador la siguiente dirección:

http://ip-impresora:9100/

el navegador establecerá la conexión con la impresora, pero al no tratarse de un servidor web no verá nada en la pantalla, y cuando presione detener o pase el tiempo de espera, la conexión se cerrara y comenzara el trabajo de impresión. El equipo imprimirá las cabeceras de la petición realizada por el navegador, las mismas pueden variar de uno a otro.

Firefox:

GET / HTTP/1.1
Host: impresora-red:9100
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: es-es,es;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

Internet Explorer

GET / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: es-es
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: impresora-red:9100
Connection: Keep-Alive

Si lo que queremos es realizar una impresión desde un web sin que el visitante lo note, podemos insertar una etiqueta de imagen con la ruta apuntando hacia la impresora de red, el navegador intentara cargar la misma pero luego de unos segundos cerrara la conexión al sobrepasar el tiempo de espera, iniciando así la impresión.

Seguir leyendo

0 comentarios:

Publicar un comentario en la entrada