9100 - Pentesting Raw Printing (JetDirect, AppSocket, PDL-datastream)

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Grundlegende Informationen

Von hier: Raw Printing ist das, was wir als den Prozess definieren, eine Verbindung zum Port 9100/tcp eines Netzwerkdruckers herzustellen. Es ist die Standardmethode, die von CUPS und der Windows-Druckarchitektur verwendet wird, um mit Netzwerkdruckern zu kommunizieren, da sie als "das einfachste, schnellste und im Allgemeinen zuverlässigste Netzwerkprotokoll für Drucker" gilt. Raw Port 9100 Printing, auch als JetDirect, AppSocket oder PDL-Datenstrom bezeichnet, ist eigentlich kein eigenes Druckprotokoll. Stattdessen wird alle gesendete Daten direkt vom Druckgerät verarbeitet, ähnlich wie bei einer parallelen Verbindung über TCP. Im Gegensatz zu LPD, IPP und SMB kann dies direktes Feedback an den Client senden, einschließlich Status- und Fehlermeldungen. Ein solcher bidirektionaler Kanal gibt uns direkten Zugriff auf Ergebnisse von PJL-, PostScript- oder PCL-Befehlen. Daher wird Raw Port 9100 Printing - das von fast jedem Netzwerkdrucker unterstützt wird - als Kanal für Sicherheitsanalysen mit PRET und PFT verwendet.

Wenn Sie mehr über Hacking-Drucker erfahren möchten, lesen Sie diese Seite.

Standardport: 9100

9100/tcp open  jetdirect

Enumeration

Manuell

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

Automatisch

PJL (Printer Job Language) ist eine Befehlssprache, die von Druckern verwendet wird, um Druckaufträge zu steuern. Es ermöglicht die Kommunikation zwischen dem Drucker und dem Hostsystem. PJL-Befehle können verwendet werden, um verschiedene Funktionen des Druckers zu steuern, wie z.B. das Drucken von Konfigurationsseiten, das Ändern von Einstellungen und das Ausführen von Diagnosetests.

Einige der gängigsten PJL-Befehle sind:

  • @PJL INFO - Gibt Informationen über den Drucker zurück.

  • @PJL USTATUS - Gibt den Status des Druckers zurück.

  • @PJL JOB NAME - Legt den Namen des Druckauftrags fest.

  • @PJL SET - Ändert die Einstellungen des Druckers.

  • @PJL EOJ - Beendet den aktuellen Druckauftrag.

PJL kann auch für Angriffe auf Drucker verwendet werden. Einige mögliche Angriffe sind:

  • Den Drucker zum Drucken von unerwünschten Dokumenten zwingen.

  • Den Drucker zum Ausführen von schädlichem Code bringen.

  • Den Drucker zum Offenlegen von vertraulichen Informationen zwingen.

Um PJL-Befehle automatisch auszuführen, können Skripte oder Tools wie netcat oder telnet verwendet werden. Diese ermöglichen die Kommunikation mit dem Drucker über das Netzwerk und das Senden von PJL-Befehlen.

Es ist wichtig zu beachten, dass das Ausführen von PJL-Befehlen auf Druckern ohne Berechtigung illegal ist und zu rechtlichen Konsequenzen führen kann. Es sollte nur im Rahmen von legitimen Tests oder mit ausdrücklicher Genehmigung des Druckereigentümers durchgeführt werden.

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

Drucker-Hacking-Tool

Dies ist das Tool, das Sie verwenden möchten, um Drucker zu missbrauchen:

Shodan

  • pjl port:9100

Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated