Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)! Inne sposoby wsparcia HackTricks: * Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)! * Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com) * Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family) * **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
# Podstawowe informacje Z [tej](http://hacking-printers.net/wiki/index.php/Port\_9100\_printing) strony: Drukowanie bezpośrednie to proces nawiązania połączenia z portem 9100/tcp drukarki sieciowej. Jest to domyślna metoda używana przez CUPS i architekturę drukowania systemu Windows do komunikacji z drukarkami sieciowymi, ponieważ jest uważana za „najprostszą, najszybszą i ogólnie najbardziej niezawodną protokół sieciowy używany do drukarek”. Drukowanie bezpośrednie na porcie 9100, zwane również JetDirect, AppSocket lub strumieniem danych PDL, **nie jest protokołem drukowania samym w sobie**. Zamiast tego **wszystkie wysyłane dane 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 przesyłać bezpośrednie informacje zwrotne do klienta, w tym status i komunikaty o błędach. Taki **dwukierunkowy kanał** daje nam bezpośredni **dostęp** do **wyników** poleceń **PJL**, **PostScript** lub **PCL**. Dlatego drukowanie bezpośrednie na porcie 9100 - obsługiwane przez prawie każdą drukarkę sieciową - jest używane jako kanał do analizy zabezpieczeń za pomocą PRET i PFT. Jeśli chcesz dowiedzieć się więcej na temat [**hakowania drukarek, przeczytaj tę stronę**](http://hacking-printers.net/wiki/index.php/Main_Page). **Domyślny port:** 9100 ``` 9100/tcp open jetdirect ``` # Wyliczanie ## Ręczne wyliczanie ```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 ``` ## Automatyczne ### PJL (Printer Job Language) PJL (Printer Job Language) to język sterujący drukarkami laserowymi, który umożliwia zarządzanie różnymi aspektami drukowania, takimi jak konfiguracja, monitorowanie i kontrola zadań drukowania. PJL jest używany przez drukarki laserowe HP i niektóre inne modele drukarek. ### Słabe punkty 1. **Brak uwierzytelnienia**: Wiele drukarek HP obsługuje PJL bez wymagania uwierzytelnienia, co oznacza, że ​​osoba zdalnie podłączona do sieci może uzyskać dostęp do funkcji zarządzania drukarką bez konieczności podawania hasła. 2. **Wrażliwe komendy**: PJL zawiera wiele komend, które mogą być wykorzystane do wykonania nieautoryzowanych działań, takich jak resetowanie drukarki, zmiana konfiguracji, wydrukowanie poufnych dokumentów itp. ### Ataki 1. **Zmiana konfiguracji**: Atakujący może wykorzystać komendy PJL, aby zmienić konfigurację drukarki, taką jak adres IP, maskę podsieci, bramę domyślną itp. Może to prowadzić do dezorganizacji sieci i utraty dostępu do drukarki. 2. **Wykonanie poleceń**: Atakujący może wykorzystać komendy PJL do wykonania poleceń na drukarce. Może to obejmować resetowanie drukarki, wydrukowanie poufnych dokumentów, zmianę ustawień fabrycznych itp. 3. **Przechwytywanie danych**: Atakujący może wykorzystać komendy PJL do przechwycenia danych drukowanych przez drukarkę. Może to obejmować przechwytywanie poufnych dokumentów, haseł, informacji o sieci itp. ### Zabezpieczenia Aby zabezpieczyć drukarkę przed atakami PJL, należy podjąć następujące kroki: 1. **Włącz uwierzytelnianie**: Skonfiguruj drukarkę tak, aby wymagała uwierzytelnienia przed udostępnieniem dostępu do funkcji zarządzania drukarką. 2. **Ogranicz dostęp do sieci**: Skonfiguruj drukarkę tak, aby ograniczyć dostęp do niej tylko do zaufanych adresów IP lub podsieci. 3. **Zaktualizuj oprogramowanie**: Regularnie aktualizuj oprogramowanie drukarki, aby zapewnić najnowsze poprawki zabezpieczeń. 4. **Monitoruj logi**: Regularnie monitoruj logi drukarki w celu wykrywania podejrzanej aktywności. 5. **Wyłącz niepotrzebne usługi**: Wyłącz niepotrzebne usługi drukarki, które mogą być potencjalnymi punktami ataku. ### Narzędzia Poniżej znajdują się niektóre narzędzia, które mogą być przydatne podczas testowania penetracyjnego drukarek obsługujących PJL: - **PJLTester**: Narzędzie do testowania penetracyjnego drukarek obsługujących PJL. Pozwala na wysyłanie komend PJL i analizowanie odpowiedzi drukarki. - **PJLScan**: Narzędzie do skanowania sieci w poszukiwaniu drukarek obsługujących PJL. Pozwala na identyfikację drukarek i przeprowadzenie testów penetracyjnych. - **PJLExploit**: Narzędzie do wykorzystywania słabych punktów w drukarkach obsługujących PJL. Pozwala na automatyczne wykonywanie ataków, takich jak zmiana konfiguracji, wykonanie poleceń itp. ```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 hakowania drukarek To jest narzędzie, które chcesz użyć do nadużywania drukarek: {% embed url="https://github.com/RUB-NDS/PRET" %} # **Shodan** * `pjl port:9100`
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)! Inne sposoby wsparcia HackTricks: * Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)! * Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com) * Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family) * **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.