hacktricks/network-services-pentesting/9100-pjl.md

85 lines
5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
# Informations de base
Depuis [ici](http://hacking-printers.net/wiki/index.php/Port\_9100\_printing): L'impression brute est ce que nous définissons comme le processus de connexion au port 9100/tcp d'une imprimante réseau. C'est la méthode par défaut utilisée par CUPS et l'architecture d'impression Windows pour communiquer avec les imprimantes réseau, car elle est considérée comme _le protocole réseau le plus simple, le plus rapide et généralement le plus fiable utilisé pour les imprimantes_. L'impression brute sur le port 9100, également appelée JetDirect, AppSocket ou PDL-datastream, **n'est en réalité pas un protocole d'impression en soi**. Au lieu de cela, **toutes les données envoyées sont directement traitées par le dispositif d'impression**, tout comme une connexion parallèle sur TCP. Contrairement à LPD, IPP et SMB, cela peut envoyer un retour direct au client, y compris des messages d'état et d'erreur. Un **canal bidirectionnel** nous donne un **accès** direct aux **résultats** des commandes **PJL**, **PostScript** ou **PCL**. Par conséquent, l'impression brute sur le port 9100 qui est supportée par presque toutes les imprimantes réseau est utilisée comme canal pour l'analyse de sécurité avec PRET et PFT.
Si vous souhaitez en savoir plus sur [**le hacking des imprimantes, lisez cette page**](http://hacking-printers.net/wiki/index.php/Main_Page).
**Port par défaut :** 9100
```
9100/tcp open jetdirect
```
# Énumération
## Manuel
```bash
nc -vn <IP> 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
```
## Automatique
```bash
nmap -sV --script pjl-ready-message -p <PORT> <IP>
```
```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
```
## Outil de hacking de printers
C'est l'outil que vous voulez utiliser pour abuser des imprimantes :
{% embed url="https://github.com/RUB-NDS/PRET" %}
# **Shodan**
* `pjl port:9100`
{% hint style="success" %}
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Soutenir HackTricks</summary>
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
</details>
{% endhint %}