Sunteți pe pagina 1din 14

Deshabilitar Drives USB utilizando el Gestor de Políticas

Atendiendo a una problemática común en las empresas es común que se encuentren


con la necesidad de bloquear los dispositivos de almacenamiento USB de manera que
no sean reconocidos por el equipo, ya sea por razones de seguridad, confidencialidad de
la información, entre otros. Sin embargo, dispositivos USB de distinta índole a la de
almacenamiento como teclados, ratones, impresoras y demás si deberían ser
detectados adecuadamente.

Después de realizar una investigación encontré una manera de realizarlo utilizando


para esto las directivas del equipo (gpedit.msc), en conjunto de un poco de batch y vbs .

1. Comenzamos por habilitar la visualización de archivos y carpetas ocultos (no voy a


entrar en detalle acerca de este punto).

2. Verificamos que exista un directorio llamado “GroupPolicy” dentro de la carpeta


System32, como lo muestra la siguiente imagen.

Nota. En caso de no encontrarse dicha carpeta, lo que podemos hacer para crearla es
ejecutar el comando “secpol.msc”, con lo cual nos abrirá la configuración de seguridad
local y la generará automáticamente una vez que hayamos cerrado dicha pantalla.

http://my.opera.com/Skorpyo
3. Abrimos un editor de texto como notepad y pegamos el siguiente código:

CLASS MACHINE
CATEGORY !!category
CATEGORY !!categoryname
POLICY !!policynameusb
KEYNAME "SYSTEM\CurrentControlSet\Services\USBSTOR"
EXPLAIN !!explaintextusb
PART !!labeltextusb DROPDOWNLIST REQUIRED

VALUENAME "Start"
ITEMLIST
NAME !!Disabled VALUE NUMERIC 3 DEFAULT
NAME !!Enabled VALUE NUMERIC 4
END ITEMLIST
END PART
END POLICY
POLICY !!policynamecd
KEYNAME "SYSTEM\CurrentControlSet\Services\Cdrom"
EXPLAIN !!explaintextcd
PART !!labeltextcd DROPDOWNLIST REQUIRED

VALUENAME "Start"
ITEMLIST
NAME !!Disabled VALUE NUMERIC 1 DEFAULT
NAME !!Enabled VALUE NUMERIC 4
END ITEMLIST
END PART
END POLICY
POLICY !!policynameflpy
KEYNAME "SYSTEM\CurrentControlSet\Services\Flpydisk"
EXPLAIN !!explaintextflpy
PART !!labeltextflpy DROPDOWNLIST REQUIRED

VALUENAME "Start"
ITEMLIST

http://my.opera.com/Skorpyo
NAME !!Disabled VALUE NUMERIC 3 DEFAULT
NAME !!Enabled VALUE NUMERIC 4
END ITEMLIST
END PART
END POLICY
POLICY !!policynamels120
KEYNAME "SYSTEM\CurrentControlSet\Services\Sfloppy"
EXPLAIN !!explaintextls120
PART !!labeltextls120 DROPDOWNLIST REQUIRED

VALUENAME "Start"
ITEMLIST
NAME !!Disabled VALUE NUMERIC 3 DEFAULT
NAME !!Enabled VALUE NUMERIC 4
END ITEMLIST
END PART
END POLICY
END CATEGORY
END CATEGORY

[strings]
category="RemovableDrivers PS"
categoryname="Restrict Drives"
policynameusb="Disable USB Drives"
policynamecd="Disable CD-ROM"
policynameflpy="Disable Floppy"
policynamels120="Disable High Capacity Floppy"
explaintextusb="Disables the USB Removable Drives capability by disabling the usbstor.sys driver.
\n\nSelect the ENABLED radiobox, then select STOPPED for the usbstor.sys driver status in the drop-down
list. \n\nNote that this will only prevent usage of newly plugged-in USB Removable Drives or Flash Drives,
devices that were plugged-in while this option was not configured will continue to function normally.
Also, devices that use the same device or hardware ID will still function if one of them was plugged-in
prior to the configuration of this setting. In order to successfully block them you will need to make sure no
USB Removable Drive is plugged-in while you set this option. \n\nIn order to re-enable the usage of USB
Removable Drives select STARTED for the usbstor.sys driver status in the drop-down list.\n\nAdapted By
Sk0rpy0"
explaintextcd="Disables the CD-ROM Drive by disabling the cdrom.sys driver. \n\nSelect the ENABLED
radiobox, then select STOPPED for the cdrom.sys driver status in the drop-down list. \n\nIn order to re-
enable the usage of USB Removable Drives select STARTED for the cdrom.sys driver status in the drop-
down list.\n\nAdapted By Ivan Ramos"
explaintextflpy="Disables the Floppy Drive by disabling the flpydisk.sys driver. \n\nSelect the ENABLED
radiobox, then select STOPPED for the flpydisk.sys driver status in the drop-down list. \n\nIn order to re-
enable the usage of USB Removable Drives select STARTED for the flpydisk.sys driver status in the drop-
down list.\n\nAdapted By Sk0rpy0"
explaintextls120="Disables the High Capacity Floppy Drive by disabling the sfloppy.sys driver. \n\nSelect
the ENABLED radiobox, then select STOPPED for the sfloppy.sys driver status in the drop-down list. \n\nIn
order to re-enable the usage of USB Removable Drives select STARTED for the sfloppy.sys driver status in
the drop-down list.\n\nAdapted By Sk0rpy0"
labeltextusb="Status usbstor.sys"
labeltextcd="Status cdrom.sys"
labeltextflpy="Status flpydisk.sys"
labeltextls120="Status sfloppy.sys"

http://my.opera.com/Skorpyo
Enabled="Stopped"
Disabled="Started"

Guardamos el archivo como “removable_storage.adm” o el nombre que ustedes


gusten. Recuerden utilizar la extensión “.adm” para que pueda ser reconocido como
una plantilla administrativa a través del gpedit.msc.

4. Ejecutamos “gpedit.msc”, buscamos la carpeta “Plantillas administrativas” dentro


de configuración del equipo, damos clic derecho y seleccionamos la opción “Agregar o
quitar plantillas …”

5. Pulsamos el botón “Agregar…” y navegamos hacia la ruta en donde guardamos la


plantilla creada anteriormente, la seleccionamos y la abrimos para que nos aparezca
cargada dentro de las plantillas de directiva actuales.

http://my.opera.com/Skorpyo
6. Cerramos la ventana y entonces podremos visualizar como se nos ha cargado la
plantilla adecuadamente.

Si nos fijamos bien, del lado derecho no nos muestra ningún tipo de elementos. Vamos a
solucionarlo pulsando el menú “Ver” y seleccionando la opción “Filtrado…”

http://my.opera.com/Skorpyo
Nos abrirá a continuación una pantalla con todas las opciones de filtro. Lo que nos
interesa es en este caso, es desmarcar la opción “Mostrar sólo valores de directivas que
pueden ser totalmente administrados”

http://my.opera.com/Skorpyo
Y entonces ya podremos visualizar los elementos contenidos en la plantilla

Los elementos ya vienen con una descripción detallada. En sí lo que realizan cuando
están habilitados es comenzar o parar el archivo .sys encargado de manejar al
dispositivo. Por ejemplo, para el caso de los dispositivos usb, tenemos que el encargado
de efectuar esta acción es el archivo “usbstor.sys”.

7. Lo que vamos a realizar es parar el archivo encargado de los dispositivos usb de


manera que no puedan ser reconocidos al introducirlos al equipo. Para esto habilitamos
la opción “Disable USB Drives” y establecemos el Status de usbstor.sys como “Stopped”

Nota: Esta opción va a “bloquear” todos los dispositivos que hayan sido
introducidos con anterioridad en el equipo. Pero si llegáramos a
introducir un dispositivo usb “nuevo” en el equipo lo podríamos
visualizar sin ningún problema la primera vez, más no la siguiente
ocasión que se apliquen las políticas al equipo.

http://my.opera.com/Skorpyo
8. Para evitar esta pequeña “fuga”, busqué información al respecto y encontré que hay
dos archivos encargados de instalar a los nuevos dispositivos usb que conectamos, estos
son Usbstor.inf y Usbstor.pnf. dentro de la ruta %systemroot%\Windows\inf

Estos archivos se manejan a través de permisos para los usuarios SYSTEM y USERS. Lo
que vamos a hacer es simplemente quitarle todos los permisos a ambos usuarios para
que no puedan realizar instalaciones posteriores. Una manera en que lo podemos
efectuar es abriendo de nuevo un editor de texto y pegando el siguiente código vbs:

Option Explicit
Dim WSHShell

Set WSHShell = WScript.CreateObject("WScript.Shell")


WshShell.Run "cacls c:\windows\inf\Usbstor.inf /E /D ""Users""", 0 , True
WshShell.Run "cacls c:\windows\inf\Usbstor.pnf /E /D ""Users""", 0 , True
WshShell.Run "cacls c:\windows\inf\Usbstor.inf /E /D SYSTEM", 0 , True
WshShell.Run "cacls c:\windows\inf\Usbstor.pnf /E /D SYSTEM", 0 ,
True

http://my.opera.com/Skorpyo
En sí lo que estaríamos efectuando es quitar los permisos a los archivos mediante el
comando “cacls” tanto para Users como para SYSTEM

http://my.opera.com/Skorpyo
9. Una vez efectuado lo anterior, cuando se introduzca un nuevo dispositivo usb nos
saldrá la pantalla de nuevo hardware encontrado, y al intentar instalarlo
automáticamente nos mostrará la pantalla en donde nos informa que no ha podido
instalar el controlador inclusive si intentamos instalarlo desde una ubicación específica.

http://my.opera.com/Skorpyo
Nota: El dejar marcada la opción “No volver a pedirme que instale este software” va a
ocasionar que sin importar si posteriormente habilitamos los permisos de lectura de
dispositivos usb, éste no va a reconocerse ya que aparecerá como “Otros Dispositivos”
en el equipo.

¿Qué hacer en estos casos?

Solo hay que desinstalar el dispositivo desde el menu “Acción” y la siguiente vez que lo
conectemos volverá a configurarse (en caso que tengamos habilitados los dispositivos
usb)

http://my.opera.com/Skorpyo
10. Para que los dispositivos usb vuelvan a ser reconocidos en el equipo se tienen que
hacer las acciones “inversas”; es decir, volver a iniciar el archivo usbstor.sys y reasignar
los permisos necesarios a los arhivos Usbstor.inf y Usbstor.pnf.

Lo primero lo hacemos abriendo nuestro gpedit.msc iniciando el archivo usbstor.sys


(Started) en las propiedades de USB Drives (recuerden buscar la ruta donde tenemos
nuestra plantilla y desmarcar la opción que les comenté anteriormente en “Filtrado”
para que puedan visualizar los elementos).

http://my.opera.com/Skorpyo
Ahora solo restaría volver a establecer los permisos a Usbstor.inf y Usbstor.pnf para
SYSTEM y Users como se muestra en las siguientes imágenes.

http://my.opera.com/Skorpyo
Mejoras que pueden realizarse

Como siempre todas las cosas son perfectibles, así que podemos “automatizar” un poco
este proceso. Por ejemplo, si contamos con Active Directory, podríamos aplicar esta
plantilla administrativa a ciertos grupos en particular.

Otra opción, para los que siguieron mi tuto de IE URL Lock, sería extraer el archivo
Registry.pol ya con las modificaciones previas y a partir de un batch realizar la copia en
los demás equipos en conjunto con la plantilla administrativa; todo a partir de un
archivo sfx que ejecute posteriormente nuestro archivo vbs que restringa los permisos a
SYSTEM y Users

Ejemplo batch…
@echo off
title Disable USB Sticks ..:: By Ivan Ramos ::..
color e
:menu
echo ***************************************
echo ***************************************
echo º Deshabilitar USB Sticks º
echo º by Sk0rpy0 º
echo º http://my.opera.com/Skorpyo º
echo ***************************************
echo ***************************************

copy removable_storage.adm %SYSTEMROOT%\system32\GroupPolicy\Adm\


copy Registry.pol %SYSTEMROOT%\system32\GroupPolicy\Machine
echo _= Copia de archivos realizada con exito =_

echo _= Intentando actualizar politicas del equipo ... =_


gpupdate /force
echo ... politicas actualizadas con exito ;)
echo º
echo º
echo Es preciso que reinicie el sistema para que los cambios
echo surtan efecto y puedan visualizarse en el equipo.
echo ...
echo presione una tecla para terminar
pause

http://my.opera.com/Skorpyo

S-ar putea să vă placă și