9100/tcp - PJL (Printer Job Language)

Reading time: 3 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks

Основна інформація

З тут: Сировинний друк - це те, що ми визначаємо як процес встановлення з'єднання з портом 9100/tcp мережевого принтера. Це стандартний метод, який використовується CUPS та архітектурою друку Windows для зв'язку з мережевими принтерами, оскільки вважається «найпростішим, найшвидшим і, загалом, найнадійнішим мережевим протоколом, що використовується для принтерів». Сировинний друк на порту 9100, також відомий як JetDirect, AppSocket або PDL-datastream, насправді не є протоколом друку сам по собі. Натомість всі дані, що надсилаються, безпосередньо обробляються друкуючим пристроєм, так само, як і паралельне з'єднання через TCP. На відміну від LPD, IPP та SMB, це може надсилати прямий зворотний зв'язок клієнту, включаючи статус і повідомлення про помилки. Такий двосторонній канал надає нам прямий доступ до результатів команд PJL, PostScript або PCL. Тому сировинний друк на порту 9100 – який підтримується майже будь-яким мережевим принтером – використовується як канал для аналізу безпеки з PRET та PFT.

Якщо ви хочете дізнатися більше про зламування принтерів, прочитайте цю сторінку.

Стандартний порт: 9100

9100/tcp open  jetdirect

Перерахування

Вручну

bash
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

Автоматичний

bash
nmap -sV --script pjl-ready-message -p <PORT> <IP>
bash
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

Інструмент для зламу принтерів

Це інструмент, який ви хочете використовувати для зловживання принтерами:

GitHub - RUB-NDS/PRET: Printer Exploitation Toolkit - The tool that made dumpster diving obsolete.

Shodan

  • pjl port:9100

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks