Demostrar cómo el acceso controlado a carpetas (CFA) bloquea el ransomware

Use un archivo de prueba de ransomware para ver cómo el acceso controlado a carpetas (CFA) protege las carpetas importantes de un proceso que no es de confianza que intenta cifrarlos.

El acceso controlado a carpetas (CFA) ayuda a proteger datos valiosos de aplicaciones malintencionadas y amenazas, como ransomware, al permitir que solo las aplicaciones de confianza cambien archivos en carpetas protegidas. Microsoft Defender Antivirus evalúa todas las aplicaciones (cualquier archivo ejecutable, incluidos los archivos .exe, .scr y .dll) y bloquea las que determina que son malintencionadas o sospechosas de cambiar archivos en carpetas protegidas.

Importante

El archivo de prueba de ransomware y los scripts de esta demostración no están firmados e se comportan intencionadamente como software malintencionado, por lo que SmartScreen de Microsoft Defender, su navegador o Microsoft Defender Antivirus puede advertirle o bloquear la descarga. Use estos archivos solo en un dispositivo de prueba. Al descargar los scripts de instalación o limpieza o el archivo de prueba de ransomware, es posible que tenga que elegir Mantener (o la opción de permitir equivalente) para completar la descarga.

Prerequisites

  • Windows 10, versión 1709 (octubre de 2017) o posterior.
  • Microsoft Defender Antivirus habilitado y en modo activo.

Para obtener la lista completa de los requisitos, los sistemas operativos admitidos y los modos de protección, consulte Información general sobre el acceso controlado a carpetas (CFA). Para conocer los métodos que puede usar para activar CFA y agregar carpetas protegidas, consulte Configuración del acceso controlado a carpetas (CFA).

Configuración de la demostración

Note

El script de instalación habilita CFA en modo de bloqueo. Para ver el modo CFA actual, ejecute el siguiente comando en una sesión de PowerShell con privilegios elevados (una ventana de PowerShell que abrió seleccionando Ejecutar como administrador):

Get-MpPreference | Format-List EnableControlledFolderAccess

Anote el valor del modo para que pueda volver a establecer CFA cuando haya terminado con la demostración.

  1. Descargue y extraiga el script WindowsDefender_CFA_SetupScript.ps1 de instalación de este archivo ZIP: https://demo.wd.microsoft.com/Content/CFA_SetupScript.zip. El script de instalación automatiza los pasos siguientes:

    • Restablece cualquier configuración de demostración existente desactivando CFA y quitando c:\demo de la lista de carpetas protegidas (sin afectar a las demás carpetas protegidas).
    • Crea la c:\demo carpeta y la agrega a la lista de exclusión de antivirus de Microsoft Defender (sin afectar a las demás exclusiones).
    • Descarga un archivo de prueba ransomware (ransomware_testfile_unsigned.exe) a c:\demo\CFATestFilesy un archivo de prueba limpio (testfile_safe.txt) a c:\demo.
    • Activa CFA en modo habilitado (bloquear) y agrega c:\demo a la lista de carpetas protegidas (sin afectar a las demás carpetas protegidas).

    Importante

    El script de instalación añade c:\demo a la lista de exclusiones de Microsoft Defender Antivirus. No ejecutes ransomware_testfile_unsigned.exe desde c:\demo ni desde ninguna de sus subcarpetas cuando realices pruebas de bloqueo o detección de CFA. Los procesos que se ejecutan desde una ruta excluida por el antivirus pueden considerarse de confianza y puede que no generen el bloqueo o la detección de CFA esperados. Antes de ejecutar la demostración, copia ransomware_testfile_unsigned.exe a una carpeta que no esté excluida de Microsoft Defender Antivirus.

    Dado que WindowsDefender_CFA_SetupScript.ps1 se comparte con el bloque de demostración de una aplicación no fiable, también descarga la herramienta de prueba CFA (CFAtool.exe). Esa herramienta no se usa en este escenario de ransomware.

  2. Antes de ejecutar el script, permita su ejecución estableciendo la directiva de ejecución en RemoteSigned para la sesión actual. Ejecute el siguiente comando en una sesión de PowerShell con privilegios elevados:

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
    

    RemoteSigned es más seguro que Unrestricted porque sigue bloqueando los scripts sin firmar que se descargan desde Internet y el Process ámbito revierte el cambio al cerrar la sesión.

    Tip

    Dado que el script de instalación no está firmado, RemoteSigned lo bloquea si el script sigue llevando la marca "descargada de Internet" (la marca de la web). Si esto sucede, confirme que el script procede de un origen de confianza y, a continuación, desbloquee antes de ejecutarlo:

    Unblock-File -Path "<path>\WindowsDefender_CFA_SetupScript.ps1"
    

O bien, si prefiere no ejecutar el script, realice los pasos mínimos siguientes en su lugar:

  1. Cree una carpeta denominada demo en c:, como en c:\demo.

  2. Descargue el archivo de prueba limpio (testfile_safe.txt) de https://demo.wd.microsoft.com/Content/testfile_safe.txt y guárdelo en c:\demo. La prueba necesita un archivo para intentar cifrar.

Independientemente del método que utilice, el script de configuración no cambia las reglas de reducción de la superficie de ataque (ASR), así que compruebe la regla ASR Usar protección avanzada contra el ransomware y desactívela durante esta prueba si está activada. De lo contrario, podría bloquear el archivo de prueba de ransomware antes de que CFA lo haga. Para comprobar el estado de la regla, ejecute el siguiente comando en una sesión de PowerShell con privilegios elevados:

$idx = $(Get-MpPreference).AttackSurfaceReductionRules_Ids.IndexOf("C1DB55AB-C21A-4637-BB3F-A12568109D35")
if ($idx -ge 0) {Write-Host "Rule Status: " $(Get-MpPreference).AttackSurfaceReductionRules_Actions[$idx]} else {Write-Host "Rule does not exist on this machine"}

Si la regla existe y el estado es 1 (Enabled) o 6 (Warn), anote el valor actual para que pueda restaurarlo durante la limpieza y, a continuación, deshabilite (0) para ejecutar esta prueba:

Add-MpPreference -AttackSurfaceReductionRules_Ids C1DB55AB-C21A-4637-BB3F-A12568109D35 -AttackSurfaceReductionRules_Actions Disabled

Cualquier otro estado, como 2 (Audit), solo registra la actividad y no bloquea, por lo que la regla no interfiere con esta prueba. Déjelo sin cambios.

Ejecución de la demostración

Escenario 1: CFA bloquea el archivo de prueba de ransomware

Si ejecutó el script de instalación, el archivo de prueba de ransomware ya está descargado en c:\demo\CFATestFilesy CFA ya protege c:\demo:

  1. En el Explorador de archivos, ve a c:\demo\CFATestFiles, y copia ransomware_testfile_unsigned.exe a una carpeta que no esté excluida de Microsoft Defender Antivirus. No ejecutes el archivo de prueba desde c:\demo ni desde ninguna de sus subcarpetas.
  2. Ejecuta ransomware_testfile_unsigned.exe desde la carpeta que no esté excluida de Microsoft Defender Antivirus. No es ransomware real; solo intenta cifrar los archivos en c:\demo.

Si no ejecutó el script de instalación, se requieren los siguientes pasos manuales:

  1. Active CFA en modo habilitado (bloquear) ejecutando el siguiente comando en una sesión de PowerShell con privilegios elevados:

    Set-MpPreference -EnableControlledFolderAccess Enabled
    
  2. Agregue la c:\demo carpeta a la lista de carpetas protegidas ejecutando el siguiente comando en una sesión de PowerShell con privilegios elevados:

    Add-MpPreference -ControlledFolderAccessProtectedFolders C:\demo\
    
  3. Agregue c:\demo a la lista de exclusión de antivirus de Microsoft Defender para que la protección en tiempo real no ponga en cuarentena el archivo de prueba de ransomware antes de poder ejecutarlo. Ejecute el siguiente comando en una sesión de PowerShell con privilegios elevados:

    Add-MpPreference -ExclusionPath C:\demo
    
  4. Descargue el archivo de prueba ransomware (ransomware_testfile_unsigned.exe) de https://demo.wd.microsoft.com/Content/ransomware_testfile_unsigned.exe y guárdelo en c:\demo.

  5. Copia ransomware_testfile_unsigned.exe a una carpeta que no esté excluida del antivirus Microsoft Defender. No ejecutes el archivo de prueba desde c:\demo ni desde ninguna de sus subcarpetas.

  6. Ejecuta ransomware_testfile_unsigned.exe desde la carpeta que no esté excluida de Microsoft Defender Antivirus. No es ransomware real; solo intenta cifrar los archivos en c:\demo.

En cualquier caso, aproximadamente cinco segundos después de ejecutar el archivo de prueba de ransomware, aparece una notificación que CFA bloqueó el intento de cifrado. Para ver los eventos resultantes de bloqueo y auditoría, consulte Supervisar la actividad de acceso controlado a carpetas (CFA).

Escenario 2: Sin CFA, el archivo de prueba de ransomware cifra los archivos

  1. Para desactivar CFA, ejecute el siguiente comando en una sesión de PowerShell con privilegios elevados:

    Set-MpPreference -EnableControlledFolderAccess Disabled
    
  2. Ejecuta el archivo original de prueba de ransomware desde la carpeta excluida del antivirus:

    • Si ejecutaste el script de configuración, ejecuta c:\demo\CFATestFiles\ransomware_testfile_unsigned.exe.
    • Si usaste los pasos manuales, ejecuta c:\demo\ransomware_testfile_unsigned.exe.

Con CFA desactivado, el archivo de prueba cifra los archivos en c:\demo y recibe un mensaje de advertencia. Ejecute el archivo de prueba una vez más para descifrar los archivos.

Limpieza de la demostración

Si ejecutó el script de instalación, deshaga la demostración ejecutando el script de limpieza:

Importante

El script de limpieza desactiva CFA y deshabilita las reglas de ASR indicadas en el script, aunque haya activado CFA o esas reglas por otros motivos. Antes de ejecutar el script, compruebe los estados de la regla de ASR actuales para que pueda volver a habilitar las reglas que quiera mantener:

$p = Get-MpPreference;0..([math]::Min($p.AttackSurfaceReductionRules_Ids.Count,$p.AttackSurfaceReductionRules_Actions.Count)-1) | % {[pscustomobject]@{Id=$p.AttackSurfaceReductionRules_Ids[$_];Action=$p.AttackSurfaceReductionRules_Actions[$_]}} | Format-Table -AutoSize

El script establece CFA en Deshabilitado. Para establecer CFA en un modo distinto de Deshabilitado, siga los pasos manuales que se indican más adelante en esta sección.

  1. Descargue y extraiga el script WindowsDefender_ASR_CFA_CleanupScript.ps1 de limpieza de este archivo ZIP: https://demo.wd.microsoft.com/Content/ASR_CFA_CleanupScript.zip. El script de limpieza hace lo siguiente:

  2. El script de limpieza no está firmado, así que establezca la directiva de ejecución y desbloquee el script como se describe en Configuración de la demostración. A continuación, ejecute el script de limpieza en una sesión de PowerShell con privilegios elevados.

O bien, si ha usado los pasos manuales mínimos, haga lo siguiente:

  1. Vuelva a establecer CFA en el modo original que anotó en Configuración de la demostración ejecutando el siguiente comando en una sesión de PowerShell con privilegios elevados, donde <Mode> es uno de los modos de CFA disponibles:

    Set-MpPreference -EnableControlledFolderAccess <Mode>
    

    Por ejemplo, para desactivar CFA de nuevo (el estado predeterminado), ejecute el siguiente comando:

    Set-MpPreference -EnableControlledFolderAccess Disabled
    
  2. Si el escenario 2 cifró los archivos en c:\demo, descifralos mediante la herramienta de descifrado (ransomware_cleanup_encrypt_decrypt.exe).

  3. Si deshabilitó la regla Usar protección avanzada contra ransomware ASR al principio de la prueba, establézcalo de nuevo en el valor que anotó ejecutando el siguiente comando en una sesión de PowerShell con privilegios elevados, donde <Mode> es el valorEnabled del modo o Warn:

    Add-MpPreference -AttackSurfaceReductionRules_Ids C1DB55AB-C21A-4637-BB3F-A12568109D35 -AttackSurfaceReductionRules_Actions <Mode>
    

Independientemente del método que haya utilizado, el script de limpieza no elimina la exclusión de c:\demo Microsoft Defender Antivirus que añadió el script de instalación (o los pasos manuales). Para revertir completamente los cambios, siga estos pasos:

  1. Borra cualquier copia de ransomware_testfile_unsigned.exe que hayas hecho fuera de c:\demo.

  2. Elimine la c:\demo carpeta y los archivos de prueba que contiene. Realice este paso antes de quitar la exclusión en el paso siguiente. De lo contrario, cuando se reanuda la protección en tiempo real para la carpeta, Microsoft Defender Antivirus detecta los archivos de prueba restantes (como el archivo de prueba ransomware y la herramienta de descifrado) y los pone en cuarentena. Ejecute el siguiente comando en una sesión de PowerShell con privilegios elevados:

    Remove-Item -Path C:\demo -Recurse -Force
    
  3. Quite la c:\demo exclusión de antivirus de Microsoft Defender ejecutando el siguiente comando en una sesión de PowerShell con privilegios elevados:

    Remove-MpPreference -ExclusionPath C:\demo