

│ rename │ ✓ │ │ │ Rename remote file: rename │ │ delete │ ✓ │ ✓ │ ✓ │ Delete remote file: delete │ │ append │ ✓ │ ✓ │ │ Append to file: append │ │ ls │ ✓ │ ✓ │ ✓ │ List contents of remote directory. │ Command │ PS │ PJL │ PCL │ Description │
#SERIAL CROSSFONT OFFLINE#
Type help or ? to list commands.Īppend debug edit free id ls open restart timeoutĬat delete env fuzz info mirror printenv selftest touchĬd df exit get load mkdir put set traversalĬhvol disable find help lock nvram pwd site unlockĬlose display format hold loop offline reset status versionĪ list of generic PRET commands is given below: _/_//|| PRET | Printer Exploitation Toolkit v0.25 Generic CommandsĪfter connecting to a printer device, you will see the PRET shell and can execute various commands: This can be useful to build a malicious print job file which can be deployed on another printer not directly reachable, for example by printing it from USB drive. log filename writes a copy of the raw datastream sent to the printer into a file. Command files can also be invoked later within a PRET session via the load command. load filename reads and executes PRET commands from a text file. Debugging can also be switched on/off within a PRET session using the debug command The see the whole traffic, use wireshark. Note that header data and other overhead is filtered. debug shows the datastream actually sent to the device and the feedback received. quit suppresses printer model determination, intro message and some other chit-chat. On non-networked printers (USB, parallel cable) this test will fail. safe tries to check via IPP, HTTP and SNMP if the selected printing language (PS/PJL/PCL) is actually supported by the device before connecting. Each printer language is mapped to a different set of PRET commands and has different capabilities to exploit. Not all languages are supported by every printer, so you may wan't to switch languages if you don't receive any feedback.

The printer language to be abused must be one of ps, pjl or pcl. No target given, discovering local printers For colored output and SNMP support however, third party modules need to be installed: PRET only requires a Python2 interpreter. PRET offers a whole bunch of commands useful for printer attacks and fuzzing. Thus, after entering a UNIX-like command, PRET translates it to PostScript, PJL or PCL, sends it to the printer, evaluates the result and translates it back to a user-friendly format. The main idea of PRET is to facilitate the communication between the end-user and the printer. All attacks are documented in detail in the Hacking Printers Wiki. This allows cool stuff like capturing or manipulating print jobs, accessing the printer's file system and memory or even causing physical damage to the device. Currently PostScript, PJL and PCL are supported which are spoken by most laser printers. It connects to a device via network or USB and exploits the features of a given printer language. PRET is a new tool for printer security testing developed in the scope of a Master's Thesis at Ruhr University Bochum. Is your printer secure? Check before someone else does.
