A security testing toolkit for exploiting printer languages (PostScript, PJL, PCL) to capture/manipulate print jobs, access filesystems, and cause physical damage.
PRET (Printer Exploitation Toolkit) is an open-source security tool designed to test and exploit vulnerabilities in printers. It connects to printers via network or USB and abuses supported page description languages (PostScript, PJL, PCL) to perform attacks like capturing print jobs, accessing filesystems, and causing physical damage. The tool translates user commands into printer language instructions, making complex security assessments more accessible.
Security researchers, penetration testers, and IT professionals focused on hardware security, particularly those assessing the security posture of networked or USB-connected printers in corporate or institutional environments.
PRET provides a specialized, unified interface for exploiting printer-specific vulnerabilities across multiple languages, with detailed attack documentation and automation capabilities not found in generic security tools.
Printer Exploitation Toolkit - The tool that made dumpster diving obsolete.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports PostScript, PJL, and PCL, covering most laser printers and enabling diverse attack vectors like filesystem access and job manipulation, as detailed in the command tables.
Offers a wide range of UNIX-like commands translated to printer languages, including ls, get, put, and destructive actions like destroy, making complex exploits accessible for security testing.
Includes built-in fuzzing modules for filesystem and protocol testing, and supports loading commands from files via --load option for scripted attacks and automated assessments.
Linked to the Hacking Printers Wiki and includes a cheat sheet, providing in-depth attack explanations and systematic testing guidance beyond the tool itself.
Requires Python2, an outdated interpreter that may cause compatibility issues and security risks in modern systems, as noted in the installation section.
Some commands are not supported by all printers, especially with non-standard clones like Br-Script or KPDL, limiting effectiveness on devices from Brother or Kyocera, as admitted in the README.
PCL support is minimal, with a virtual filesystem implemented mostly for proof-of-concept, reducing its utility for serious exploitation in PCL-only printers, as described in the PCL mode section.