Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2017-9822 — Análisis técnico en profundidad y prueba de concepto para CVE-2017-9822, una vulnerabilidad de deserialización insegura en DotNetNuke que conduce a ejecución remota de código mediante cookies manipuladas. | Kitploit
Herramientas/GitHubGitHub/tnot123/cve-2017-9822
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónIngeniería InversaExplotación de Aplicaciones WebDepuradoresPruebas de PenetraciónAprendizaje y EducaciónDesarrollo de PayloadsExplotación de BinariosLabs y Práctica
65hace 1 añoAún no revisado
GitHubtnot123/cve-2017-9822

cve-2017-9822

Análisis técnico en profundidad y prueba de concepto para CVE-2017-9822, una vulnerabilidad de deserialización insegura en DotNetNuke que conduce a ejecución remota de código mediante cookies manipuladas.

Ver Repositorio

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
  • CVE-2017-9822
    • Información principal
    • Configuración del entorno
    • Configuración de depuración
    • Análisis
    • Depuración
      • XmlSerializer
      • Gadget de ataque
      • ObjectDataProvider
      • ResourceDictionary
      • De deserialización XML insegura a RCE

CVE-2017-9822

DNN (también conocido como DotNetNuke) anterior a la versión 9.1.1 tiene capacidad de ejecución remota de código a través de cookies, también conocido como "2017-08 (Importante) Posible ejecución remota de código en sitios web DNN".

Información principal

  • Producto afectado: DotNetNuke (DNN Platform) – un CMS/portal .NET popular.
  • Fecha de divulgación: Julio de 2017.
  • Gravedad: Crítica (CVSS ~9.8).
  • Tipo de vulnerabilidad: XML External Entity (XXE) / Deserialización insegura → Ejecución remota de código (RCE).
  • Afecta: versiones anteriores a la 9.1.1 tienen capacidad de ejecución remota de código a través de cookies.

alt

¿Qué es DotNetNuke?
DotNetNuke es un CMS (sistema de gestión de contenidos) web gratuito y de código abierto escrito en C# y basado en la plataforma .NET. DotNetNuke es muy popular y se usa ampliamente en Internet porque puede implementar una versión web de DNN en minutos sin necesidad de muchos conocimientos técnicos. Otra función importante de DotNetNuke es la capacidad de crear o importar módulos personalizados de terceros creados en VB.NET o C#.
Se puede instalar DNN en un stack que incluya Windows Server, IIS, ASP.NET y SQL Server para Windows. DNN también admite el registro de verificación de nuevos usuarios por correo electrónico, pero necesita configurar un servidor SMTP válido para que esta función de seguridad funcione.
Características principales de DNN:
• Arquitectura modular: DNN permite una fácil expansión instalando módulos adicionales (módulos funcionales) desarrollados por la comunidad. Los administradores pueden cargar nuevos módulos a través de la interfaz de administración (cargar un paquete .zip) o descomprimirlos directamente en el directorio del servidor.
• Administración de usuarios: El sistema proporciona funciones de seguridad y permisos detallados (roles/permisos) para portales y módulos. Las cuentas de usuario, roles y permisos se gestionan de forma centralizada en DNN.
• Gestión de contenido: Soporta edición WYSIWYG, gestión de artículos, imágenes, documentos, etc. Tiene un sistema de flujo de trabajo/publicación (publicación con proceso de revisión) y versionado de contenido. El contenido se almacena en una base de datos (SQL Server) común.
• API e integración extensible: DNN proporciona una API .NET para que los desarrolladores creen módulos personalizados (WebForms, MVC, Razor) e integren servicios externos. Hay disponibles muchas bibliotecas de terceros (temas de interfaz, módulos de comercio electrónico, foros, etc.) para ampliar la funcionalidad.
• Interfaz y temas: El sistema de skins (temas) separa el contenido de la interfaz, lo que permite un diseño web flexible. Los sitios web creados con DNN pueden cambiar su apariencia cambiando de skin.
• Mecanismo de instalación de módulos: Los módulos de DNN se empaquetan en archivos ZIP y se pueden instalar a través de la interfaz de administración o descomprimiéndolos manualmente. DNN admite tanto módulos compilados (DLL .NET) como módulos Razor dinámicos; todos los módulos pueden otorgar o revocar acceso mediante la configuración de permisos en cada página.

Configuración del entorno

Sistemas operativos: Windows 10
.NET Framework: 4.5.1+
Servidor web: Microsoft IIS 10
Servidor de base de datos: Microsoft® SQL Server® 2019 Express, SQL Server Management Studio
Versión de DotNetNuke: 9.1.0
Se pueden usar los siguientes Google dorks para encontrar versiones de DotNetNuke implementadas disponibles en Internet y verificarlas según el sitio web:
inurl:dnn.js
inurl:dnn.modalpopup.js
inurl:dnn.servicesframework.js
inurl:dnn.xml.js
inurl:dnncore.js
inurl:/Portals/0/
inurl:/DesktopModules/
inurl:/DNNCorp/
inurl:/DotNetNuke
inurl:/tabid//Default.aspx
inurl:/tabid/
/language/*/Default.aspx
intext:"by DNN Corp "
Se puede seguir este artículo para construir el entorno:

Configuración de depuración

Cambiar las propiedades del ensamblado a atributos "depurables", esto es muy necesario porque en tiempo de ejecución se aplican algunas optimizaciones que pueden obstaculizar la depuración; algunos puntos de interrupción podrían no alcanzarse o algunas variables podrían no existir.
Cargar DotNetNuke.dll en dnSpy (32 bits) y luego seleccionar Edit Assembly Attributes (C#).

alt

Cambiar la línea de:
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
a:
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]

alt

Luego seleccionar Compile y guardar este módulo en la ubicación original.
A continuación, iniciar dnSpy con permisos de administrador y seleccionar Debug -> Attach to Process.

alt

Seleccionar el proceso w3wp.exe.

alt

La razón por la que debemos adjuntar este proceso es que las aplicaciones web en IIS suelen usar procesos de trabajo (worker processes). Estos se encargan de procesar las solicitudes web que llegan al servidor web IIS para cada grupo de aplicaciones. Puede haber varios procesos de trabajo en una máquina y todos comparten el mismo nombre: w3wp.exe. Una nota: a veces no hay ningún proceso w3wp en ejecución; IIS no iniciará los procesos de trabajo hasta que reciba la primera solicitud web.

alt

Volviendo a la depuración, después de adjuntar el proceso, seleccionar: Debug -> Windows -> Modules.

alt

Hacer clic en un módulo y seleccionar Open All Modules.

alt

En la ventana Assembly ahora podemos ver todos los módulos relacionados.

alt

Descargar herramienta