miércoles, 31 de mayo de 2017

PRET - The Printer Exploitation Toolkit



A finales de Enero de este año, unos estudiantes de la universidad Ruhr de Bochum (Jens Müller, Juraj Somorovsky y Vladislav Mladenov) publicaron su tésis en la que describían ataques basados en impresoras de red (SoK: Exploiting Network Printers), además, publicaron una herramienta llamada PRET con la que se realiza la explotación del lenguaje que utilizado por la mayoría de impresoras láser: PostScript, PJL y PCL.

Hoy vamos a probar esta herramienta y veremos qué podemos hacer con ella.


 ¿Qué es y cómo funciona?
 
The Printer Exploitation Toolkit (PRET) es una herramienta desarrollada en python que sirve para automatizar ataques a impresoras que utilizan los siguientes lenguajes: PostScript, PJL y PCL.
 
¿Cómo funciona? Después de introducir los comandos disponibles (similares a UNIX), PRET lo traduce a PostScript, PJL o PCL, lo envía a la impresora, evalúa el resultado y lo traduce de nuevo a un formato fácil de usar.





 ¿Qué ataques nos permite realizar? 

- Ataques de denegación de servicio temporales y físicos
- Restablecimiento del dispositivo a los valores predeterminados de fábrica
- Manipulación y retención de trabajos de impresión 
- Acceso a la memoria de una impresora y el sistema de archivos 
- Cracking de contraseñas.

 

Instalación

Uno de los requisitos para su uso, es tener instalado el interprete Python2. Una vez instalado, procedemos a instalar PRET:

pip install colorama pysnmp
pip install win_unicode_console
apt-get install imagemagick ghostscript
git clone https://github.com/RUB-NDS/PRET
 
 
 
Uso

Como es habitual podemos obtener todos los comandos disponibles de la herramienta con el argumento -h.


Según se puede observar, los ejemplos de uso serían los siguientes:

./pret.py laserjet.lan ps
./pret.py /dev/usb/lp0 pjl

También podemos ejecutar ./pret.py y realizará una búsqueda rápida de todas las impresoras de red en nuestra subred utilizando la transmisión SNMP:




PoC
 
 Veamos un ejemplo de ataque mediante PJL en el que subiremos un inocente archivo (esta vez sí) a la unidad de disco de la impresora:



Ahora veamos como enviar un documento a la impresora para que lo imprima directamente saltando así cualquier filtro, es decir, aun estando configurada la impresora mediante tarjeta de identificación o usuario y contraseña para poder imprimir. 
 



 
 Evidentemente sobra decir que a partir de aquí cada uno debe dejarse llevar por su imaginación ya que las posibilidades que permite esta herramienta son bastante amplias. Además, teniendo en cuenta que las impresoras de un entorno empresarial suelen pasar desapercibidas en cuanto a seguridad se refiere, éstas acaban siendo el foco de infección de muchos ataques como ya alertó Andrew Auernheimer enviando un flyer con mensaje neo-nazi a cerca de 20.000 impresoras que estaban disponibles desde internet.




http://web-in-security.blogspot.com.es/2017/01/printer-security.html 


 **No me hago responsable del mal uso que se de a la información presentada. Esta información es de carácter didáctico.**