A falta de que puedas recibir ayuda por parte de usuarios con experiencia profesional en cuestiones avanzadas de seguridad (ya que quiero dejar claro que mi experiencia es personal, yo no trabajo profesionalmente en ámbitos de seguridad), y habiendo dejado claro que no ves factible desactivar la tarjeta de red, te lanzo unas cuantas sugerencias para incrementar la eficacia de aislamiento, empezando por instalar el siguiente software gratuito (freeware y freemium respectivamente):
Cloudflare WARP (VPN):
- https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/download-warp/
Sandboxie Plus:
- https://sandboxie-plus.com/downloads/
Y, adicionalmente, podrías instalar un antivirus dedicado o utilizar el que viene integrado con Windows, en modo de escaneo en tiempo real.
En torno a la conectividad de red y, en caso de que no necesites mantener la conectividad activa durante todo el tiempo que dure la sesión de la VM, entonces podrías utilizar un script (mediante un archivo de acceso directo "*.lnk" para hacer la tarea más fácil) para deshabilitar los servicios de Windows de red y/o desactivar los adaptadores de red cuando no te sea realmente necesario mantener activa la conectividad.
Puedes usar, por ejemplo, estos scripts VBS para deshabilitar y rehabilitar los dispositivos de red en la VM:
Disable_Network_Adapters.vbs
Enable_Network_Adapters.vbs
También puedes utilizar programas gratuitos como Net Disabler, que residen en forma de icono en la bandeja del sistema (system tray) y sirven como atajo para llevar a cabo esa tarea de forma especializada:
- https://www.sordum.org/9660/net-disabler-v1-1/
Por último, y en caso de que tengas carpetas compartidas en la VM que apunten vulnerablemente a tu sistema operativo huésped (host), podrías utilizar un script (de nuevo mediante un archivo de acceso directo "*.lnk") para montar/desmontar la unidad virtual en la VM cuando no te sea realmente necesario mantener acceso a tu sistema operativo mediante esas carpetas compartidas, ya que son visibles para un malware.
Puedes usar, por ejemplo, estos scripts VBS para desconectar y reconectar la unidad de red en la VM:
Disconnect_Network_Drive.vbs
Reconnect_Network_Drive.vbs
Nota: Estos scripts requieren ser modificados, ya que logicamente la letra de unidad y la ruta UNC cambiarán dependiendo de tu configuración y si estás usando VMWare u otro software de virtualización.
EDITO: Una adaptación para hallar y desmontar todas las unidades de red:
Disconnect_All_Network_Drives.vbs
Cloudflare WARP (VPN):
- https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/download-warp/
Sandboxie Plus:
- https://sandboxie-plus.com/downloads/
Y, adicionalmente, podrías instalar un antivirus dedicado o utilizar el que viene integrado con Windows, en modo de escaneo en tiempo real.
En torno a la conectividad de red y, en caso de que no necesites mantener la conectividad activa durante todo el tiempo que dure la sesión de la VM, entonces podrías utilizar un script (mediante un archivo de acceso directo "*.lnk" para hacer la tarea más fácil) para deshabilitar los servicios de Windows de red y/o desactivar los adaptadores de red cuando no te sea realmente necesario mantener activa la conectividad.
Puedes usar, por ejemplo, estos scripts VBS para deshabilitar y rehabilitar los dispositivos de red en la VM:
Disable_Network_Adapters.vbs
Código
Set objShell = CreateObject("WScript.Shell") Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2" Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapter",,48) For Each objItem in colItems If objItem.NetConnectionStatus = 2 Then strInterfaceName = objItem.NetConnectionID objShell.Run "netsh interface set interface """ & strInterfaceName & """ admin=disable", 0, True End If Next
Enable_Network_Adapters.vbs
Código
Set objShell = CreateObject("WScript.Shell") Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapter",,48) For Each objItem in colItems If objItem.NetConnectionStatus = 0 Then strInterfaceName = objItem.NetConnectionID objShell.Run "netsh interface set interface """ & strInterfaceName & """ admin=enable", 0, True End If Next
También puedes utilizar programas gratuitos como Net Disabler, que residen en forma de icono en la bandeja del sistema (system tray) y sirven como atajo para llevar a cabo esa tarea de forma especializada:
- https://www.sordum.org/9660/net-disabler-v1-1/
Por último, y en caso de que tengas carpetas compartidas en la VM que apunten vulnerablemente a tu sistema operativo huésped (host), podrías utilizar un script (de nuevo mediante un archivo de acceso directo "*.lnk") para montar/desmontar la unidad virtual en la VM cuando no te sea realmente necesario mantener acceso a tu sistema operativo mediante esas carpetas compartidas, ya que son visibles para un malware.
Puedes usar, por ejemplo, estos scripts VBS para desconectar y reconectar la unidad de red en la VM:
Disconnect_Network_Drive.vbs
Código
Set objNetwork = CreateObject("WScript.Network") objNetwork.RemoveNetworkDrive "Z:", True, True
Reconnect_Network_Drive.vbs
Código
Set objNetwork = CreateObject("WScript.Network") objNetwork.MapNetworkDrive "Z:", "\\vmware-host\Shared Folders"
Nota: Estos scripts requieren ser modificados, ya que logicamente la letra de unidad y la ruta UNC cambiarán dependiendo de tu configuración y si estás usando VMWare u otro software de virtualización.
EDITO: Una adaptación para hallar y desmontar todas las unidades de red:
Disconnect_All_Network_Drives.vbs
Código
Option Explicit Dim objNetwork, objShell, unmountedDrives Dim colDrives, i, drive, path, msg Set unmountedDrives = CreateObject("System.Collections.ArrayList") Set objNetwork = CreateObject("WScript.Network") Set colDrives = objNetwork.EnumNetworkDrives For i = 0 to colDrives.Count - 1 Step 2 drive = colDrives.Item(i) path = colDrives.Item(i+1) objNetwork.RemoveNetworkDrive drive, True, True unmountedDrives.Add drive & vbTab & """" & path & """" Next Set objShell = CreateObject("WScript.Shell") If unmountedDrives.Count = 0 Then msg = "No active network drives were found." objShell.Popup msg, 0, "Warning: Network Drives", 48 Else msg = "The following network drives were unmounted:" & vbCrLf & vbCrLf For Each drive In unmountedDrives msg = msg & drive & vbCrLf & vbCrLf Next objShell.Popup msg, 0, "Info: Network Drives", 64 unmountedDrives.Clear() End If
Muchísimas gracias por tu respuesta, gran trabajazo.
He estado echándole un vistazo a todo, me ha llamado mucho la atención Sandboxie, aunque por lo que he visto, lo óptimo sería ejecutarlo en una máquina virtual (quizás es eso lo que me querías decir) porque si quieres ejecutar un software en Sanboxie, tienes que instalarlo previamente en el SO anfitrión, al menos es lo que he visto en varios vídeos. Corrígeme si no es así por favor.
Muchas gracias.