Alguien usó mi unidad USB y, cuando me la devolvió, encontré una autorun.inf
que no se puede recuperar. Intenté cambiar su atributo de archivo que es solo H (ni siquiera configurado como un archivo de sistema) pero sigue diciendo Acceso denegado.
El USB está configurado en FAT32, al preguntarle a mi amigo, él me dijo que usa la Vacuna Panda USB
¿Cómo lo hacen? Estoy tratando de usar un editor de sector de disco, pero no tengo idea de qué archivo hexadecimal cambian para hacer este tipo de archivo y volver a eliminarlo. Formatear el disco lo elimina, pero tengo curiosidad sobre cómo poder establecer ese tipo de atributo de archivo.
windows
filesystems
fat32
file-attributes
MegaNairda
fuente
fuente
Respuestas:
Método de prueba
Panda no parece revelar el mecanismo exacto de su "vacuna", lo cual es comprensible, ya que es básicamente seguridad a través de la oscuridad . Si sabe cómo funciona, puede revertir los efectos y la "vacuna" se vuelve inútil.
Descargué e instalé Panda USB Vaccine y "vacuné" mi unidad flash, descargué la partición de la unidad flash con dd para Windows usando los comandos
donde
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
está el GUID proporcionado por el primer comando, abiertoc:\vaccinated.img
en un editor hexadecimal y buscadoAUTORUN
.¿Qué hace la vacuna USB?
La entrada para
AUTORUN.INF
comienza con los siguientes doce bytes:Los primeros once bytes son solo el nombre de archivo 8.3 con espacio :
AUTORUN INF
El último byte especifica los atributos del archivo y su representación binaria es:
De acuerdo con la especificación del sistema de archivos EFI FAT32 de Microsoft , este último byte es un campo de bits que toma la siguiente forma:
donde los bits
A
,D
,V
,S
,H
yR
son1
si y sólo si el archivo está archivado, un directorio, el identificador de volumen 1 , un archivo de sistema, oculto o de sólo lectura.AUTORUN.INF
está oculto, ya queH
está establecido en1
.Los bits
X
yY
están reservados y ambos deberían estarlo0
. Sin embargo, USB Vaccine se estableceY
en1
.Lo que dice la especificación
Además, recomienda para la validación del contenido del directorio:
Lo que realmente pasa
CHKDSK ciertamente sigue la especificación e ignora la
AUTORUN.INF
entrada que el controlador FAT32 no entiende, pero el propio Windows no parece cumplir con el requisito de la especificación de no volver a mirar nunca los bits reservados : Cualquier tipo de acceso (que no sea enumerar el archivo y sus atributos) es denegado.Por ejemplo, el comando
afirma que el dueño de
AUTORUN.INF
es...
. Como FAT32 no admite la propiedad de archivos, debería indicarlo\All
.La razón de este comportamiento inesperado es que, de acuerdo con FAT32 - Wikipedia # Entrada de directorio , Windows usa el bit
Y
internamente para señalar un nombre de dispositivo de caracteres (CON, PRN, AUX, CLOCK $, NUL, LPT1, COM1, etc.), y No debería estar presente en los dispositivos de almacenamiento. 2En una forma de hablar, USB Vaccine engaña a Windows para que asuma que
AUTORUN.INF
no es un archivo real, sino un dispositivo, del cual no puede leer ni escribir.Cómo borrar el archivo
Si usted tiene acceso directo al sistema de archivos, basta conjunto
Y
a0
(cambiar el byte42
a02
) para hacer que el archivo de nuevo eliminable. También puede establecer el primer byte de la entrada del directorio enE5
, marcando directamente el archivo como eliminado. 3Otra opción sería usar un controlador diferente. Ubuntu 12.04, por ejemplo, puede eliminar el archivo sin problemas. En realidad, automáticamente "arregla" la entrada del directorio cuando la lee. 4 4
1 Este atributo se utiliza, por ejemplo, para la etiqueta de volumen o la carpeta Información del volumen del sistema .
2 Ciertamente lo suficiente, el establecimiento
X
a1
no parece tener ningún efecto.3 Verifiqué esto cambiando los bytes correspondientes de
C:\vaccinated.img
con un editor hexadecimal y escribiendo la imagen modificada en la unidad flash usando el siguiente comando:4 Si bien es una desviación evidente de la especificación, parece estar pensada. Ubuntu deja
X
intacto si está configurado en1
, ya que no hace daño. Configurar elY
bit1
fácilmente podría ser maltratado por una aplicación maliciosa, por ejemplo, creando un archivo indeleble que ocupe todo el espacio libre de la unidad.fuente
Este es un truco inteligente del sistema de archivos que explota un nombre reservado en el espacio de nombres Win32. Los detalles de cómo Panda USB Vaccine hace esto se describen aquí .
Esencialmente, el software crea una carpeta llamada
autorun.inf
(que evita que se cree un archivo con el mismo nombre allí), y luego en esa carpeta,LTP1
se crea un archivo llamado . En DOS, seLPT1
refiere al puerto de la impresora, y Windows lo admite para la compatibilidad con versiones anteriores. Entonces, cuando solicita un archivo con el nombreLPT1
, Windows intenta abrir el puerto de la impresora, y de alguna manera esto evita que la carpeta se elimine normalmente.En cuanto a cómo eliminar la carpeta / archivo sin formatear la unidad, este artículo de Microsoft Knowledgebase ofrece algunos consejos:
fuente
AUTORUN.INF
(con la misma cadena "caacaa ..." mencionada en el artículo) en la unidad y luego rápidamente se congela No tengo ningún problema para eliminar el archivo de ejecución automática en absoluto ...I:\autorun.inf\bdsanitize#\bdsanitize#...
donde#
está "1" o "2". El archivo de registro también agregó el archivo / nombre de directorio de cada nivel con.dir
o.file
pero eso solo puede mostrarse para fines de registro / depuración.autorun.inf
pero después de eso, sería reemplazado por unautorun.inf
archivo . La diferencia conautorun.inf
Panda USB Vaccine es que el archivo está vacío y no contienecacaca
el que creó Panda.