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 Ver más