9100/tcp - PJL (Printer Job Language)
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovne informacije
From here: Raw printing definišemo kao proces uspostavljanja veze na port 9100/tcp mrežnog štampača. To je podrazumevana metoda koju koriste CUPS i Windows printing architecture za komunikaciju sa mrežnim štampačima, jer se smatra ‘najjednostavnijim, najbržim i generalno najpouzdanijim mrežnim protokolom koji se koristi za štampače’. Raw port 9100 printing, takođe poznato kao JetDirect, AppSocket ili PDL-datastream zapravo nije sam po sebi protokol za štampanje. Umesto toga svi poslati podaci se direktno obrađuju na uređaju za štampanje, slično paralelnoj vezi preko TCP. Za razliku od LPD, IPP i SMB, ovo može poslati direktne povratne informacije klijentu, uključujući status i poruke o greškama. Takav dvosmerni kanal nam daje direktan pristup rezultatima komandi PJL, PostScript ili PCL. Zbog toga se raw port 9100 printing – koji podržava gotovo svaki mrežni štampač – koristi kao kanal za bezbednosnu analizu sa PRET i PFT.
If you want to learn more about hacking printers read this page.
Podrazumevani port: 9100
9100/tcp open jetdirect
Enumeracija
Ručno
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
Automatski
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
Štampači Hacking alat
Ovo je alat koji želite da koristite za zloupotrebu štampača: PRET
XPS/TrueType VM exploitation (Canon ImageCLASS)
-
Pošaljite XPS preko PJL:
-
@PJL ENTER LANGUAGE = XPS -
Zatim pošaljite XPS ZIP bajtove na istoj TCP konekciji.
-
Minimalna XPS stranica koja referencira font napadača:
<Glyphs Fill="#ff000000" FontUri="/Resources/evil.ttf" FontRenderingEmSize="12" OriginX="10" OriginY="10"/>
-
Pregled RCE primitiva (TrueType hinting VM):
-
Hinting bytecode u TTF se izvršava na TrueType VM. Canon-ov VM nije imao stack bounds checks.
-
CINDEX: OOB stack read → info leak
-
DELTAP1: unchecked relative stack pivot → controlled writes with subsequent pushes
-
Kombinujte
WS/RS(VM storage write/read) da postavite vrednosti i izvedete precizan 32-bit write nakon pivot-a. -
Exploit outline:
- Create XPS with the page above and include
/Resources/evil.ttf. - In
fpgm/prep, useCINDEXto leak and computestack_cur. - Stage target value with
WS; pivot withDELTAP1to the destination; useRSto write it (e.g., to a function pointer) to gain PC control.
- Send over 9100/tcp:
{ printf "@PJL ENTER LANGUAGE = XPS\r\n"; cat exploit.xps; } | nc -q0 <PRINTER_IP> 9100
exploit.xpsje validan XPS ZIP koji sadržiDocuments/1/Pages/1.fpagei/Resources/evil.ttf.
Shodan
pjl port:9100
Izvori
- Hacking printers using fonts (Canon ImageCLASS TrueType VM bugs)
- Apple TrueType Reference Manual – Instruction Set and VM (26.6 fixed point)
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
HackTricks

