Windows PowerShell es la interfaz de consola (CLI) del sistema operativo de Microsoft que nos permite llevar a cabo ciertas tareas, generalmente administrativas, mediante scripts y comandos de forma parecida a la Terminal de Linux. Evita (por seguridad) que los usuarios ejecuten Powershell a través de GPO u otras maneras. Muy a menudo, los agentes malintencionados utilizan PowerShell para difundir malware en toda la red. PowerShell está habilitado de forma predeterminada en Windows 10 para todos los usuarios, los atacantes suelen utilizar esta herramienta para ejecutar comandos maliciosos, acceder al sistema de archivos, registro, para exfiltrar y demás. El ransomware a menudo se distribuye por la red a través de PowerShell. También son muy utilizados los scripts Powershell en troyanos bancarios como Dridex (previa descarga documento malicioso con macros)
¿Cómo evitar o prevenir infección de cualquier Ransomware?
- Habilitar el acceso controlado a las carpetas Windows Defender
- Herramientas específicas Anti-ransomware
- Desactivar Windows Script Host
- Desactivar macros Microsoft Office
- Evitar que los usuarios ejecuten Powershell a través de GPO
Windows 10 instala por defecto PowerShell para todos los usuarios, concretamente la versión 5.0 de esta consola, la última versión hasta la fecha. Sin embargo, además de instalar esta versión, el sistema operativo de Microsoft también deja habilitadas otras versiones de la misma, como PowerShell 2.0
- Uno de sus principales vectores de ataque es PowerShell
Cómo deshabilitar PowerShell 2.0 en Windows 10
Disable-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2Root
¿Por qué deshabilitar PowerShell?
A menudo, los agentes malintencionados utilizan PowerShell para difundir malware en toda la red. PowerShell está habilitado de forma predeterminada en Windows 10 para todos los usuarios, los atacantes pueden utilizar esta herramienta para ejecutar comandos maliciosos, acceder al sistema de archivos, registro y más. El ransomware a menudo se distribuye por la red a través de PowerShell.¿Por qué documentos Word?
Podría mostrar una larga lista de argumentos, pero uno de los principales es
por su
facilidad de insertar macros
(un script de código) que permite ejecutar acciones sin intervención del
usuario.
Word ha ido cambiando con los años, y con ello también ha
variado el formato de los archivos que genera por defecto. Las versiones
anteriores hasta Word 2003 utilizaban la extensión ".doc" que era un
formato binario que también fue cambiando y evolucionando con los años.
Las versiones actuales, desde Word 2016, utilizan la extensión ".docx" y por lo tanto un formato diferente al binario anterior. En realidad, es un conjunto de archivos y carpetas en formato "xml".
Emotet en documentos de ofimática
El desencadenante es una macro de Office, pero que el paso "delicado" es la llamada al servidor remoto porque es donde se inicia el ataque.
Cómo deshabilitar scripts PowerShell
Abrir ventana ‘cmd’ en modo administrador y teclee lo siguiente:
powershell Set-ExecutionPolicy -ExecutionPolicy Restricted
Para volver a habilitar la función, y dependiendo del ‘nivel’ de funcionalidad, suponiendo que no queremos ninguna restricción:
powershell Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Lo dicho, si no lo usas, desactívalo.
Evitar que los usuarios ejecuten Powershell a través de GPO
Mitigarlo sería subir las restricciones de todas las máquinas que tengas en dominio a, por ejemplo, "AllSigned". La buena noticia es que no hay que hacerlo a mano, que se puede hacer mediante política de grupo.
Editor de directivas de Grupo Local --> Directiva Equipo Local
gpedit.msc
Navega hasta
Configuración del equipo --> Plantillas administrativas --> Componentes de Windows --> Windows PowerShell
Elige la opción
Activar la ejecución de scripts
Elige Habilitar y una opción de Directiva de ejecución:
- Permitir solo scripts firmados
- Permitir scripts locales y scripts remotos firmados
- Permitir todos los scripts
- La configuración de directiva "Permitir solo scripts firmados" permite que se ejecuten solo los scripts que estén firmados por un anunciante de confianza.
- La configuración de directiva "Permitir scripts locales y scripts remotos firmados" permite la ejecución de cualquier script local; los scripts que provienen de Internet deben estar firmados por un anunciante de confianza.
- La opción "Permitir todos los scripts" permite ejecutar todos los scripts.
Restringir completamente el acceso a PowerShell
La alternativa es restringir completamente el acceso a PowerShell, aunque pierdes la capacidad de automatizar procesos en máquinas del dominio.
No ejecutar aplicaciones de Windows especificadas
Hacer click en "Habilitada"
Lista de aplicaciones no permitidas
Mostrar --> Valor --> powershell.exe
Otra forma es deshabilitar el ejecutable PowerShell.exe, la ruta por defecto es:
C:\Windows\System32\WindowsPowerShell\v1.0
Ruta completa ejecutable
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
o bien:
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
Añade también
powershell_ise.exe
y
pwsh.exe
Haz lo mismo para bitsadmin.exe
Debería quedar así:
Deshabilita SMB v1
Set-SmbServerConfiguration -EnableSMB1Protocol $false
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Registry entry: SMB1
REG_DWORD = “0” (Disabled)
Clientes:
HKLM\SYSTEM\CurrentControlSet\services\mrxsmb10
Registry entry: Start
REG_DWORD = “4” (Disabled)
HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation
Registry entry: DependOnService
REG_MULTI_SZ: “Bowser”,“MRxSmb20”,“NSI”
Deshabilita Windows Remote Management (WinRM)
Disable-PSRemoting -Force
Stop-Service WinRM -PassThruSet-Service WinRM -StartupType Disabled
Regla Firewall Windows:
netsh advfirewall firewall set rule group=”Windows Remote Management” new enable=no




No hay comentarios:
Publicar un comentario