# 9100/tcp - PJL (Printer Job Language) {{#include ../banners/hacktricks-training.md}} ## Podstawowe informacje Z [tutaj](http://hacking-printers.net/wiki/index.php/Port_9100_printing): Drukowanie surowe to proces nawiązywania połączenia z portem 9100/tcp drukarki sieciowej. Jest to domyślny sposób używany przez CUPS i architekturę drukowania Windows do komunikacji z drukarkami sieciowymi, ponieważ jest uważany za ‘_najprostszy, najszybszy i ogólnie najbardziej niezawodny protokół sieciowy używany do drukarek_’. Surowe drukowanie na porcie 9100, znane również jako JetDirect, AppSocket lub PDL-datastream, w rzeczywistości **nie jest protokołem drukowania samym w sobie**. Zamiast tego **wszystkie dane wysyłane są bezpośrednio przetwarzane przez urządzenie drukujące**, tak jak w przypadku połączenia równoległego przez TCP. W przeciwieństwie do LPD, IPP i SMB, może to wysyłać bezpośrednie informacje zwrotne do klienta, w tym komunikaty o statusie i błędach. Taki **dwukierunkowy kanał** daje nam bezpośredni **dostęp** do **wyników** poleceń **PJL**, **PostScript** lub **PCL**. Dlatego surowe drukowanie na porcie 9100 – które jest obsługiwane przez prawie każdą drukarkę sieciową – jest używane jako kanał do analizy bezpieczeństwa z PRET i PFT. Jeśli chcesz dowiedzieć się więcej o [**hackingu drukarek, przeczytaj tę stronę**](http://hacking-printers.net/wiki/index.php/Main_Page). **Domyślny port:** 9100 ``` 9100/tcp open jetdirect ``` ## Enumeracja ### Ręczna ```bash nc -vn 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 ``` ### Automatyczny ```bash nmap -sV --script pjl-ready-message -p ``` ```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 ``` ## Narzędzie do hackowania drukarek To jest narzędzie, które chcesz użyć do nadużywania drukarek: {{#ref}} https://github.com/RUB-NDS/PRET {{#endref}} ## **Shodan** - `pjl port:9100` {{#include ../banners/hacktricks-training.md}}