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

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Informazioni di base

Da qui: La stampa raw è ciò che definiamo come il processo di connessione alla porta 9100/tcp di una stampante di rete. È il metodo predefinito utilizzato da CUPS e dall'architettura di stampa di Windows per comunicare con le stampanti di rete in quanto è considerato come "il protocollo di rete più semplice, veloce e generalmente affidabile utilizzato per le stampanti". La stampa raw sulla porta 9100, anche chiamata JetDirect, AppSocket o PDL-datastream, non è in realtà un protocollo di stampa di per sé. Invece, tutti i dati inviati vengono elaborati direttamente dal dispositivo di stampa, proprio come una connessione parallela su TCP. A differenza di LPD, IPP e SMB, questo può inviare un feedback diretto al client, inclusi messaggi di stato e di errore. Un tale canale bidirezionale ci offre un accesso diretto ai risultati dei comandi PJL, PostScript o PCL. Pertanto, la stampa raw sulla porta 9100 - supportata da quasi tutte le stampanti di rete - viene utilizzata come canale per l'analisi della sicurezza con PRET e PFT.

Se vuoi saperne di più sull'hacking delle stampanti leggi questa pagina.

Porta predefinita: 9100

9100/tcp open  jetdirect

Enumerazione

Manuale

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

Automatico

PJL (Printer Job Language) è un linguaggio di controllo delle stampanti utilizzato per inviare comandi e configurazioni alle stampanti. Può essere utilizzato per automatizzare alcune operazioni di stampa, come l'invio di file di stampa, la configurazione delle impostazioni di stampa e il recupero di informazioni sulla stampante.

Durante un test di penetrazione, è possibile utilizzare PJL per eseguire operazioni automatiche sulle stampanti di rete. Ad esempio, è possibile inviare comandi PJL per ottenere informazioni sulla stampante, come il modello, il numero di serie e le impostazioni di configurazione. Queste informazioni possono essere utilizzate per identificare le vulnerabilità della stampante e pianificare ulteriori attacchi.

Inoltre, è possibile utilizzare PJL per inviare file di stampa alle stampanti di rete. Questo può essere utile per testare la sicurezza delle stampanti, ad esempio inviando file di stampa contenenti payload dannosi o exploit. Tuttavia, è importante esercitare cautela durante l'invio di file di stampa, in quanto potrebbero causare danni alle stampanti o alla rete.

Per automatizzare l'utilizzo di PJL durante un test di penetrazione, è possibile utilizzare script o strumenti di automazione. Questi strumenti consentono di inviare comandi PJL in modo rapido e efficiente, consentendo di eseguire operazioni automatiche su più stampanti contemporaneamente.

In conclusione, l'utilizzo di PJL durante un test di penetrazione può essere un modo efficace per identificare vulnerabilità e testare la sicurezza delle stampanti di rete. Tuttavia, è importante esercitare cautela e utilizzare strumenti di automazione appropriati per evitare danni alle stampanti o alla rete.

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

Strumento di hacking per stampanti

Questo è lo strumento che desideri utilizzare per abusare delle stampanti:

Shodan

  • pjl port:9100

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated