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
CVE-2022-37017 — Bypass para la contraseña de la interfaz de usuario del cliente de Symantec Endpoint Protection | Kitploit
Herramientas/GitHubGitHub/apeppels/cve-2022-37017
Autenticación y AutorizaciónEscalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónIngeniería InversaPruebas de PenetraciónExplotación de Binarios
GitHubapeppels/cve-2022-37017

CVE-2022-37017

Bypass para la contraseña de la interfaz de usuario del cliente de Symantec Endpoint Protection

Ver Repositorio
hace 2 añosAú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

CVE-2022-37017

Omisión de autenticación para la contraseña de la interfaz de usuario del cliente de Symantec Endpoint Protection 14.3.5351

Symantec Endpoint Protection permite establecer una protección por contraseña en su interfaz de usuario para evitar cambios de configuración. Esta comprobación de contraseña está implementada por una lógica que no se encuentra ni en un Protected Process Light (PPL) ni en un controlador de kernel; cambiar un valor de retorno en memoria o parchear el binario permite a un atacante omitir la contraseña. Esto funciona incluso si Tamper Protection está habilitada.

Si el atacante puede ejecutar código con privilegios de administrador, puede importar un XML de directiva malicioso y/o ajustes de conexión para la gestión central de SEP. Con ello, prácticamente obtiene el control total del cliente. Usando la importación de directivas, puede agregar exclusiones, desbloquear opciones de la interfaz, deshabilitar o cambiar la contraseña de administrador, deshabilitar permanentemente la protección y/o desinstalar el cliente.

Si el atacante no tiene privilegios de administrador, se puede usar para exportar información de solución de problemas, leer registros y ver los ajustes del cliente. En 14.0 se puede exportar la directiva y deshabilitar tamper protection sin permisos de administrador. Esto no era posible en 14.3.5413.3000.

en 14.3.5351 lo siguiente comprueba si la contraseña coincide:

root@kitploit:~
.text:00438021 loc_438021:                             ; CODE XREF: sub_437FA0+73↑j
.text:00438021                 mov     ecx, offset ServiceName ; "SepMasterService"
.text:00438026                 call    sub_43DDF0
.text:0043802B                 test    eax, eax
.text:0043802D                 jnz     short loc_4380A5
.text:0043802F                 push    ecx             ; Src
.text:00438030                 lea     eax, [ebp+var_14]
.text:00438033                 mov     ecx, esp
.text:00438035                 push    eax
.text:00438036                 call    ds:??0?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>> const &)
.text:0043803C                 call    sub_4380F0
.text:00438041                 test    al, al
.text:00438043                 jz      short loc_43804F
.text:00438045                 mov     ecx, esi
.text:00438047                 call    ds:__imp_?OnOK@CDialog@@MAEXXZ ; CDialog::OnOK(void)
.text:0043804D                 jmp     short loc_4380AD

El salto que parece controlar el éxito de todos los intentos de contraseña en SymCorpUI.exe es la instrucción JZ mostrada en .text:00438043. Cambiarla a JNZ (instrucción 0x74 -> 0x75) invierte el salto, permitiendo que se acepte cualquier contraseña.

El script de Python encuentra la carpeta de instalación de SEP, lee SymCorpUI.exe, escribe una copia parcheada en la carpeta junto al script y ejecuta la versión parcheada en el directorio de trabajo original. Ejecútalo con privilegios y generará una interfaz de SEP que aceptará cualquier contraseña incorrecta que se introduzca.

Ahora un atacante puede exportar el XML de la directiva en Help -> Troubleshooting. Este contendrá la configuración, incluidos los hash de la contraseña de administrador. El atacante puede entonces editar el XML para cambiar cualquier ajuste del cliente, por ejemplo reemplazando el hash de la contraseña o deshabilitando el requisito de contraseña. Este XML de directiva malicioso se puede importar de nuevo usando el botón junto a Export.

El script realiza algunas comprobaciones para ver si está elevado; si no lo está, fuerza a que el binario parcheado se ejecute sin privilegios de administrador. Para ejecutar la interfaz como administrador, ejecuta el script de Python como administrador o fija la variable as_admin a True.

Para evitar tener que almacenar offsets específicos para cada compilación, el script realiza una búsqueda/reemplazo general de una secuencia de instrucciones que encontré única en las tres versiones que he probado. Es posible que una versión diferente tenga múltiples coincidencias que puedan romper el PoC. En ese caso, revisa las coincidencias para encontrar un bloque que comience con mov ecx, offset ServiceName ; "SepMasterService" para localizar la instrucción JZ relevante que parchear cerca del final.

Para probar la funcionalidad de la contraseña, se puede agregar lo siguiente en el XML de la directiva (al mismo nivel que GlobalGroups) para habilitar la protección. El hash es un MD5 de la cadena "test".

root@kitploit:~
<AdminPassword ExitNeedPassword="1" UINeedPassword="1" ImportExportNeedPassword="1" UninstallNeedPassword="1">098f6bcd4621d373cade4e832627b4f6</AdminPassword>

Symantec respondió rápidamente al problema; el CVE fue registrado por ellos y se publicó una corrección como 14.3 RU6.

https://support.broadcom.com/external/content/SecurityAdvisories/0/21014

Descargar herramienta