hacktricks/network-services-pentesting/9100-pjl.md

94 lines
6.6 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
2024-02-10 13:03:23 +00:00
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT**](https://opensea.io/collection/the-peass-family) esclusivi
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 13:03:23 +00:00
# Informazioni di base
2024-02-10 13:03:23 +00:00
Da [qui](http://hacking-printers.net/wiki/index.php/Port\_9100\_printing): 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.
2024-02-10 13:03:23 +00:00
Se vuoi saperne di più sull'[**hacking delle stampanti leggi questa pagina**](http://hacking-printers.net/wiki/index.php/Main_Page).
2024-02-10 13:03:23 +00:00
**Porta predefinita:** 9100
```
9100/tcp open jetdirect
```
2024-02-10 13:03:23 +00:00
# Enumerazione
2024-02-10 13:03:23 +00:00
## Manuale
```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
2024-02-10 13:03:23 +00:00
@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
```
2024-02-10 13:03:23 +00:00
## 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.
2024-02-10 13:03:23 +00:00
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.
2024-02-10 13:03:23 +00:00
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.
```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
```
2024-02-10 13:03:23 +00:00
## Strumento di hacking per stampanti
2024-02-10 13:03:23 +00:00
Questo è lo strumento che desideri utilizzare per abusare delle stampanti:
{% embed url="https://github.com/RUB-NDS/PRET" %}
2022-05-01 12:49:36 +00:00
# **Shodan**
2020-09-22 21:18:17 +00:00
* `pjl port:9100`
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 13:03:23 +00:00
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF**, controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai repository di** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github.
2022-04-28 16:01:33 +00:00
</details>