Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)! Outras formas de apoiar o HackTricks: * Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos * **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.** * **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
**Resetar** um dispositivo para as configurações de fábrica é uma funcionalidade crítica de segurança, pois **sobrescreve mecanismos de proteção** como senhas definidas pelo usuário. Isso geralmente pode ser feito pressionando uma **combinação especial de teclas** no **painel de controle** da impressora. Realizar tal reset a frio leva apenas segundos e, portanto, é um cenário realista para atacantes locais ou pentesters, que podem, por exemplo, entrar sorrateiramente na sala de cópias na hora do almoço. No entanto, o **acesso físico** ao dispositivo **nem sempre é uma opção**. ### SNMP O Printer-MIB define o Objeto **prtGeneralReset** (**OID 1.3.6.1.2.1.43.5.1.1.3.1**) que permite a um atacante reiniciar o dispositivo (powerCycleReset(4)), resetar as configurações do NVRAM (resetToNVRAM(5)) ou restaurar as configurações de fábrica (resetToFactoryDefaults(6)) usando SNMP. Esse recurso/ataque é **suportado por uma grande variedade de impressoras** e remove todos os mecanismos de proteção como senhas definidas pelo usuário para o servidor web embutido. Embora os mecanismos de proteção possam ser eficientemente contornados, uma desvantagem prática dessa abordagem é que toda a configuração de **endereço IP estático será perdida**. **Se não houver** serviço DHCP disponível, o atacante **não** será capaz de **reconectar** ao dispositivo após resetá-lo para as configurações de fábrica. **Resetar o dispositivo para as configurações de fábrica padrão** pode ser realizado usando o comando `snmpset` como mostrado abaixo (você precisa conhecer a **string da comunidade**, que na maioria dos casos é `public` por padrão): ```bash snmpset -v1 -c public printer 1.3.6.1.2.1.43.5.1.1.3.1 i 6 ``` ### [PML](./#pml)/[PJL](./#pjl) Em muitos cenários, um atacante não tem a capacidade de realizar solicitações SNMP devido a firewalls ou strings de comunidade SNMP desconhecidas. No entanto, em **dispositivos HP**, o **SNMP** pode ser transformado em sua **representação PML** e incorporar a solicitação dentro de um trabalho de impressão legítimo. Isso permite que um atacante **reinicie e/ou redefina o dispositivo** para as configurações de fábrica dentro de trabalhos de impressão comuns, conforme mostrado abaixo: ```bash @PJL DMCMD ASCIIHEX="040006020501010301040106" ``` Qualquer pessoa pode reproduzir este ataque em impressoras HP, reiniciando ou redefinindo o dispositivo pode facilmente ser reproduzido usando [**PRET**](https://github.com/RUB-NDS/PRET): ```bash ./pret.py -q printer pjl Connection to printer established Welcome to the pret shell. Type help or ? to list commands. printer:/> reset printer:/> restart ``` ### PostScript PostScript oferece um recurso similar: O parâmetro do sistema **FactoryDefaults**, 'uma flag que, se **definida como true** **imediatamente antes** da **impressora ser desligada**, faz com que todos os parâmetros não voláteis revertam para seus valores **padrão de fábrica** na próxima vez que for ligada'. Deve-se notar que o próprio **PostScript** também tem a capacidade de **reiniciar** seu **ambiente**, mas requer uma **senha válida**. \ No entanto, o interpretador PostScript pode ser colocado em um **loop infinito**, conforme discutido em ataques de DoS de [processamento de documentos](http://hacking-printers.net/wiki/index.php/Document\_processing), o que obriga o usuário a **reiniciar manualmente** o dispositivo e, assim, redefinir a senha do PostScript. Redefinir os parâmetros do sistema PostScript para os padrões de fábrica: ```bash << /FactoryDefaults true >> setsystemparams ``` Reinicie o interpretador PostScript e a memória virtual: ```bash true 0 startjob systemdict /quit get exec ``` Qualquer pessoa pode reiniciar ou redefinir o interpretador PostScript de uma impressora, o que **pode ser facilmente reproduzido usando** [**PRET**](https://github.com/RUB-NDS/PRET): ```bash ./pret.py -q printer ps Connection to printer established Welcome to the pret shell. Type help or ? to list commands. printer:/> reset printer:/> restart ``` ### PRESCRIBE Para **dispositivos Kyocera**, as linguagens de descrição de página **PRESCRIBE** podem ser usadas para **redefinir o dispositivo** para as configurações de fábrica a partir de trabalhos de impressão comuns usando um dos comandos mostrados abaixo: ```bash !R! KSUS "AUIO", "CUSTOM:Admin Password = 'admin00'"; CMMT "Drop the security level, reset password"; !R! ACNT "REST"; CMMT "Reset account code admin password"; !R! EGRE; CMMT "Reset the engine board to factory defaults"; !R! SIOP0,"RESET:0"; CMMT "Reset configuration settings"; ``` Para reproduzir este ataque, abra uma conexão de rede crua com a porta 9100/tcp da impressora e **envie os comandos documentados acima**.
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)! Outras formas de apoiar o HackTricks: * Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos * **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga**-me no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.** * **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).