Proteger - Vacunar - USB - Llave USB - Pendrive - USB Vaccine:
Seguramente habréis visto diversas herramientas para proteger las llaves usb o pendrive, de la propagación de virus y troyanos empleando el sistema autorun.inf en windows.
Una llave usb se puede proteger de muchas formas, una posible solución consistiría en diseñar un sistema residente que supervisase el estado del contenido de la llave y permitiese o no operaciones sobre ficheros y carpetas (en cualquier buscador podéis encontrar un montón de referencias sobre el tema). Pero lo que a primera vista parece una ventaja y mayor protección, puede terminar siendo un quebradero de cabeza para los usuarios: Conflictos con el sistema, varias versiones windows, problema de permisos, denegación total de escritura en la llave, etc.
Otra solución que además se observa con frecuencia, consiste en crear una carpeta llamada autorun.inf con diversos permisos: oculto, sistema, sólo lectura. Al existir una carpeta con el mismo nombre no permitirá generar el fichero autorun.inf y ahí quedaría la cosa al menos en teoría. La única pega a este sistema es que dicha carpeta puede ser eliminada sin mayor problema.
Una tercera consistiría (según suelen contar en algunos foros y webs de la red), en formatear vuestra llave a NTFS, empleando alguna herramienta que os lo permita, combinada con la solución anterior (crear carpeta autorun.inf con los permisos correspondientes). Tampoco estaríamos protegidos completamente porque es relativamente sencillo detectar una partición NTFS, explorarla, y hacer posteriormente cualquier tipo de operación sobre ella (mirando en los buscadores se puede encontrar mucho código y ejemplos de esto).
Y entonces es cuando surge el ingenio y se acude a lo más sencillo (que por el momento resulta ser lo más eficiente): ¿Y si dejamos inactivo un fichero en algún tipo de FAT impidiendo que se lea, escriba o ejecute?, esto debería funcionar en cualquier versión windows sin problema y solucionaríamos todo el engorro de cara a los usuarios y no necesitaríamos añadir nada residente que pudiera desestabilizar el pc o ralentizarlo. Posiblemente esta idea le suene de algo a gente que haya estudiado ensamblador.
Lo que se hace es generar un archivo de texto llamado autorun.inf en la llave usb o pendrive, y después se cambia un valor hexadecimal (como veremos a continuación), en la lista de archivos contenidos en la FAT, para que resulte inaccesible y así no se pueda editar, eliminar, ejecutar, o modificar. Este fichero es el que interpretará el sistema operativo ejecutando el contenido de sus instrucciones. Por eso es usado por virus y troyanos para infectar.
Leyendo la wikipedia podemos encontrar alguna de las especificaciones FAT, concretamente encontramos lo siguiente:

Cuando un fichero es accesible contiene al final de su nombre corto MsDos, el caracter hexadecimal 20 de archivo. Y 40 cuando es sólo de uso interno o no se encontró en el disco (por cierto este caracter 40 hexadecimal se corresponde con el símbolo @, 64 en decimal).
Vamos a ver todo lo anterior con un ejemplo práctico:
Información Previa:
0) Lo primero, es saber que os vais a encontrar en un disco duro. Aquí os dejo algunos enlaces con información: 1 2 3 4 5 6
Varios: 1
Atención:
Antes de tocar nada hay que saber lo que se toca y hacerlo con mucha precaución, ya que cualquier error en la FAT podría dejar ficheros y otros elementos contenidos, completamente inservibles. En este ejemplo lo que se muestra es únicamente una FAT de una llave USB o pendrive, no de un disco duro, revisa cuidadosamente todo lo que hagas.
Lo que hagas lo harás siempre en todo momento bajo tu propia responsabilidad y riesgo, no asumo de ninguna forma (directa o indirectamente), la culpa de lo que pueda pasar o suceda.
Por tanto, aunque sea pesado y cansino; repito e insisto: “Si no sabes lo que tocas, mejor ni lo toques.”
Empezamos:
1) Tengo un pendrive conectado e identificado como unidad K:\, con el label o etiquetado: LLAVE-USB, tiene x GB de capacidad y está formateado en FAT. En tu caso deberás mirar que unidad tiene asignada tu llave usb o pendrive y cambiar K:\ por la que corresponda.
2) He copiado el fichero logon.exe (una utilidad nuestra) dentro de él, haciendo clic se abre con normalidad.

3) Mediante otra utilidad nuestra que será gratuita y está todavía en fase de desarrollo (securerun), accederemos al contenido de la fat (pero podéis usar cualquier otro editor hexadecimal que permita el acceso a unidades, por ejemplo los más nostálgicos recordarán pctools y los menos winhex y similares, hay cientos de herramientas parecidas y algunas de ellas son gratuitas, sólo tenéis que buscarlas en internet).

Accedemos entonces a la unidad K:\ mediante el editor de disco, y en el cluster correspondiente (en función del tipo de FAT que sea), encontraremos la lista de ficheros y carpetas contenidos en el pendrive.

En nuestro ejemplo buscaremos LOGON EXE, siempre el nombre corto MSDOS para el archivo y NO el largo en caso de que aparezcan dos cadenas o nombres similares de archivo en la FAT.
Aclaración sobre nombre corto MSDOS para el archivo:
El sistema MSDOS dispone de 8 caracteres para el nombre del fichero, uno más para el punto, y otros tres más para la extensión.
Por tanto, un fichero de nombre largo visto desde MSDOS quedaría abreviado empleando el carácter ~ , seguido de un número (1, 2, 3, …)
Si el fichero se llamase por ejemplo Qonqawankimanchu.exe (excede claramente de 8 + 1 + 3 caracteres), quedaría representado como: Qonqaw~1.exe . Eso es lo que veríais en la FAT también. Siempre hay que buscar y mirar los nombres de los ficheros en la FAT en este formato de MSDOS corto.
Programa que lee la FAT


Y vemos que aparece en hexadecimal su equivalencia:
4C4F 474F 4E20 2020 4558 4520 00
Delante del 00 es donde aparece el famoso 20 mencionado anteriormente, que nos indica que es un archivo.
4) Ahora procederemos a cambiar ese 20 por un 40, y guardaremos el cambio. Ahora se puede observar una @

Fijaos en lo que sucede ahora cuando tratamos de ejecutar el archivo o fichero contenido en la unidad K:\

No permite su borrado, ejecución, modificación, escritura, copia, reemplazo, etc.
En las siguientes imágenes podéis ver algunos ejemplos de como sería para diferentes archivos: Logic.exe, Naranjit.exe, Qonqawankimanchu.exe, Rams.exe, Ray.exe, Sudokin.exe, Peluch-vol.exe.



Y aquí, para el fichero que más nos interesa autorun.inf que es el que impedirá que nos entre porquería en la llave USB o pendrive.


Para volverlo a su estado normal, sólo hay que volver a cambiar el código hexadecimal 40 por el 20 y volverá a ser un archivo funcional sin mayor problema (podréis acceder a su contenido, editarlo, borrarlo, ejecutarlo, copiar, etc).



A modo de anécdota he llegado a leer en alguna parte, de la propia gente que ha hecho algún tipo de utilidad que emplea este truco (y sólo para FAT porque en NTFS este de momento no sirve), que no se podía revertir la vacunación y que la solución pasaba por formatear nuevamente la llave.
Por lo menos vosotros ya no necesitaréis formatear vuestro pendrive
![]()
Os dejo también el truco de la supuesta vacunación, que se hace por registro en windows para evitar que el pc se infecte.














