Se quiere hacer eco de la siguiente entrada en el
blog: Securityartwork.es
(30/01/2017), así como de la entrada original del blog Enigma0x3.net
(15/08/2016)
En dichas entradas se habla sobre la posibilidad de
saltarse (bypass) la UAC (User Account Control), implementada por los sistemas Microsoft
Windows para evitar la escalada de privilegios dentro del sistema.
El bypass se consigue mediante la creación/modificación
de la siguiente clave de registro usada por la aplicación: eventvwr.exe (Microsoft Management Console)
HKEY_CURRENT_USER\Software\Classes\mscfile\shell\open\command
Y sobre la que el usuario tiene permisos de
escritura.
Prueba de concepto
Se ha procedido a crear la estructura de claves de
registros en el hive: HKEY_Current_User, y sobre el valor por defecto se ha
introducido la ubicación de la aplicación: "powershell".
Tras lo cual se ha procedido a llamar a: eventvwr.exe.
El resultado ha sido este:
Claves de registro creadas
para la ejecución en este caso de la aplicación: powershell.exe
Tras la modificación del
registro de Windows se procede a realizar la prueba con los efectos que se
pueden apreciar en la foto.
Resultado final de la prueba
de concepto.
Conclusión
Con lo que me quedo de dicho uso no es tanto la
escala de privilegios como su posible
uso para obtener persistencia de cualquier tipo de malware dentro de nuestro
sistema, tal y como se comenta en el blog: Securityatwork.es
Por dicho motivo se debería considerar:
1.- Monitorización de la clave de registro
comentada frente a la creación y/o modificación
2.- Configurar el nivel de la UAC a: "Notificar siempre". Para ello en
la siguiente clave de registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
Las variables:
ConsentPromptBehaviorAdmin y PromptOnSecureDesktop, deben de tener
respectivamente los valores 2 y 1.
Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.
PD: Gracias por contactar DT
PD: Gracias por contactar DT
Buenas!!
ResponderEliminarNo logro entender el resultado final de la prueba de concepto, por mas que intento replicarlo la ventana de powershell no es interactiva, si bien es cierto que con ella puedo crear ficheros en la raíz del sistema (prueba suficiente de que ha realizado el bypass), puedo ver el proceso en Process Explorer pero no puedo darle a "Bring to front" debido a "No visible windows found for this process". He de decir que si utilizo powershell_ise.exe la ventana si es interactiva.
Me he limitado a seguir las instrucciones e invocar a "C:\windows\system32\WindowsPowerShell\v1.0\powershell.exe"
Gracias, genial trabajo!! y un saludo.
Buenas DT
ResponderEliminarAnte todo muchas gracias por contactarme y por leer.
Ten en cuenta que todo depende del entorno en el que hagas las pruebas. La gente de Enigma0x3 comenta que lo ha probado en entornos Windows 7 y 10, pero ya no sólo eso, en el script desarrollado en powershell por los mismos, la primera comprobación que hace es de la configuración de la UAC. Si encuentra que esta se encuentra en modo "Notificar siempre", el script indica que dicho entorno no puede ser "bypasseado".
https://github.com/enigma0x3/Misc-PowerShell-Stuff/blob/master/Invoke-EventVwrBypass.ps1
Contacto: 4null0@gmail.com
Correctisimo. He repetido la prueba en Windows 7 y trabaja justo como pusiste en la imagen.
ResponderEliminarHe logrado un efecto interactivo en windows 10 apuntando a:
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell_ise.exe"
Gracias por tu tiempo!
Gracias a ti.
ResponderEliminar