Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
dinkleberry — Parchea tu dispositivo D-Link afectado por CVE-2024-3272 | Kitploit
Herramientas/GitHubGitHub/aliask/dinkleberry
Seguridad de Sistemas EmbebidosSeguridad IoTAnálisis de VulnerabilidadesExplotaciónPruebas de PenetraciónSeguridad de Hardware e IoTAnálisis de Binarios
GitHubaliask/dinkleberry

dinkleberry

Parchea tu dispositivo D-Link afectado por CVE-2024-3272

Ver Repositorio
3hace 1 añoAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Dinkleberry 🫐

¿Eres una de las más de 92 000 personas1 atrapadas con un NAS de D-Link vulnerable a CVE-2024-3272 y sin parche a la vista?

Esta herramienta usa el propio exploit para parchear un dispositivo vulnerable.

1: Consulta la divulgación original en referencias

Qué hace

Dinkleberry ejecutará un comando para reemplazar el archivo vulnerable nas_sharing.cgi con una versión parcheada, sobrescribiendo la llamada a system() con NOPs.

La carpeta /usr/local/modules (donde vive el archivo) es de solo lectura, así que en su lugar se crea una copia en /usr/local/config, y el enlace simbólico en /var/www/cgi-bin se actualiza para apuntar a la versión más segura.

He elegido solo aplicar NOP a la llamada a system para que el comando siga respondiendo como siempre, solo que sin ejecutar nada realmente.

[!NOTE] El sistema de archivos se recarga desde la flash al arrancar. Aplicar este parche solo funcionará hasta que reinicies el dispositivo. Si quieres una solución más permanente, tendrás que re-flashear el firmware, quizás con Debian

Uso

root@kitploit:~
aliask:~/git/dinkleberry$ python3 ./src/main.py -h                                                                                                                   10:01:02
usage: dinkleberry [-h] [--telnet] [--kill-telnet] [--test] [--verbose] target

positional arguments:
  target         Target NAS to patch

options:
  -h, --help     show this help message and exit
  --telnet       Start telnet server
  --kill-telnet  Stop telnet server
  --test         Test if device is vulnerable
  --verbose, -v  Set this to print debug messages

Si no se aplican banderas opcionales, el script realiza el parcheo.

Telnet

Si solo quieres curiosear en el dispositivo, usa el comando --telnet, que inicia una sesión telnet en el puerto 23.

Esto es ridículamente inseguro, pero tu dispositivo ya es ridículamente inseguro, así que más vale aprovechar la shell cómoda.

Aviso legal

[!CAUTION] Usa esta herramienta bajo tu propio riesgo. Está modificando el software real del dispositivo.

No soy responsable de:

  • Que tu dispositivo deje de funcionar
  • La pérdida de datos almacenados en el NAS
  • Provocar un incendio
  • Que el TA que estaba explotando felizmente tu dispositivo se enfade

Palabras finales

Durante el análisis de los binarios nas_sharing.cgi y libsmbif.so, quedó claro rápidamente que el software de este dispositivo es extremadamente vulnerable. Del tipo "no mantenible, reescríbelo desde cero".

Hay como 80 llamadas a system() solo en nas_sharing.cgi; muchas de ellas tienen una vía para la entrada del usuario. No me he molestado en analizarlas todas para buscar más agujeros que parchear, pero aquí tienes un ejemplo de categoría S:

root@kitploit:~
/*  ¿Por qué usar system() en lugar de fopen/fwrite de libc?
    ¿Y si quieres escribir una cadena larga o tu nombre de archivo es largo?
    Dolorosamente obvio patio de recreo de inyección de comandos 🤦 */
void append_to_file(const char* string, const char* file) {
  char s_cmd[1024];
  sprintf(s_cmd, "echo %s >> %s", string, file);
  system(s_cmd);
  return;
}

Además de todas estas llamadas a system insensatas, hay más desbordamientos de búfer de los que puedas sacudir un palo, y yo puedo sacudir muchos palos.

Este CVE está en la lista KEV de CISA - Si tienes uno de estos aparatos en internet, desconéctalo. Ya.

Quizás incluso sigas el consejo de D-Link y reemplaces el dispositivo EOL. Pero desde luego yo no compraría un producto de D-Link.

Referencias

  • Divulgación original: https://github.com/netsecfish/dlink
  • Página de NVD: https://nvd.nist.gov/vuln/detail/CVE-2024-3272
Descargar herramienta