Antes de que me aconseje sobre la opción de guardar mis archivos y formatear la unidad usando gparted , comprenda que podría haberlo hecho hace unas horas y que me habría llevado solo unos minutos. En realidad, quiero entender lo que realmente está sucediendo aquí. La situación está destrozando todas mis experiencias adquiridas a lo largo de los años.
Tenía la impresión de que si inserto una unidad flash infectada con virus en mi máquina Ubuntu, todo lo que necesito hacer es simplemente eliminar los archivos de virus y estoy listo para comenzar.
Hoy, recopilé algunos archivos en una unidad flash con formato NTFS de una máquina Windows sabiendo que la máquina está infectada con virus. Cuando inserté la unidad flash en mi máquina, descubrí que, de hecho, ha recopilado muchos archivos y carpetas. He eliminado la mayoría de ellos. El único que muestra resistencia dura es un directorio RECYCLER (y sus subdirectorios).
Los atributos de este directorio.
drwx------ 1 masroor masroor 4.0K May 7 16:01 RECYCLER/
Si ejecuto el rm
comando,
sudo rm -rvf RECYCLER/
Obtengo una salida larga en la línea de,
rm: cannot remove `RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/OagFrAIX.exe': Input/output error
rm: cannot remove `RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/viJbcvrJ.cpl': Input/output error
<rest snipped>
Lo que es interesante, el ls
comando muestra los archivos informados anteriormente con una miríada de atributos.
ls -l RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
ls: cannot access RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/OagFrAIX.exe: Input/output error
ls: cannot access RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/viJbcvrJ.cpl: Input/output error
total 0
-????????? ? ? ? ? ? OagFrAIX.exe
-????????? ? ? ? ? ? viJbcvrJ.cpl
Si intenta encontrar los atributos de esas carpetas ofensivas,
ls -dl RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
Yo obtengo,
drwx------ 1 masroor masroor 4096 May 7 15:58 RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
El comando chmod
para hacer que la carpeta RECYCLER sea editable mundial falla.
sudo chmod -vR ugo+w RECYCLER/
La salida está en la línea de.
mode of `RECYCLER/' changed from 0700 (rwx------) to 0722 (rwx-w--w-)
mode of `RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537' changed from 0700 (rwx------) to 0722 (rwx-w--w-)
chmod: cannot access `RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/OagFrAIX.exe': Input/output error
<snipped>
Estas carpetas contenían varios .exe
y otros archivos, la mayoría de los cuales ya he eliminado con éxito (excepto los mencionados anteriormente).
Si verifico los atributos de una de estas carpetas,
lsattr -ad RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
yo obtengo
lsattr: Inappropriate ioctl for device While reading flags on RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
He corrido clamtk
en este dispositivo como se sugiere aquí . Sin embargo, no puede encontrar una amenaza.
Entiendo que simplemente puedo guardar el contenido de mi unidad flash en algún lugar y luego formatearlo. Sin embargo, estoy más interesado en descubrir qué atributos se han establecido en estas carpetas que resisten cambios adicionales. (Y definitivamente, también querré desinfectar mi unidad flash).
ACTUALIZACIÓN 1
Además del comentario de Patro .
- Cuando se visitan las carpetas, esos archivos con una miríada de atributos no se muestran, incluso cuando trato de verlos como archivos ocultos.
- La eliminación de estos archivos falla. El comando
rm -rvf *
dentro del directorioS-2-4-27-3777257131-1806073332-421880436-8537
falla con un error de entrada / salida.
ACTUALIZACIÓN 2
Después de los comentarios de soulsource y girardengo , he tratado de correr
ntfsck
y ntfsfix
. Además, esta pregunta ayudó.
Aquí están las salidas.
ntfsck
sudo ntfsck /dev/sdc1
Unsupported: replay_log()
Unsupported: check_volume()
Checking 7796 MFT records.
Unsupported cases found.
ntfsfix
sudo ntfsfix -d /dev/sdc1
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
NTFS volume version is 3.1.
NTFS partition /dev/sdc1 was processed successfully.
Pero la situación inicial aún persiste. No ha habido ninguna mejora.
ACTUALIZACIÓN 3 (RESUELTO)
Como se aconseja en esta publicación , inserté mi unidad en una máquina con Windows y ejecuté (desde una terminal),
chkdsk <drive letter> /R
Hubo una avalancha de actividades sobre verificación y reparación. También hubo algunos mensajes sobre sectores defectuosos. La tarea se terminó en menos de un minuto. Luego descubrí que se han creado algunas carpetas nuevas para las áreas recuperadas.
Volví a insertar la unidad flash en una máquina Linux, y la carpeta RECYCLER podría eliminarse sin ningún problema.
Como paso adicional, ahora he formateado la unidad (usando gparted, a NTFS) ya que creo que he obtenido mi conocimiento.
Parece que el virus es capaz de causar un problema de hardware (temporal / suave) . Consulte la publicación mencionada anteriormente para obtener una explicación técnica detallada.
ntfsfix
para intentar corregir errores.Respuestas:
Ok, tengo que aclarar un par de cosas aquí:
La parte de ingeniería inversa sobre NTFS no se aplica aquí, especialmente para una unidad flash NTFS formateada. Incluso si lo hiciera, sería algo realmente fuera de lo normal. He trabajado con muchas unidades Flash con formato NTFS, formateadas en Windows XP, Vista, 7 y 8.
Entonces, un problema con Linux que no detecta NTFS correctamente no lo es. el proyecto NTFS-3G no es lento ni incompatible con ese nivel, incluso puede ver que la última actualización fue hace un par de meses este mismo año . Seguramente tiene un par de problemas de vez en cuando, como el soporte de almacenamiento en caché y el gran uso de la CPU, pero como dije, para una unidad Flash sería muy poco probable que ocurriera o tendría muy pocas posibilidades ...
He tenido problemas similares con las unidades flash que muestran ????? símbolos o simplemente símbolos incorrectos por completo (por ejemplo:! @ #% $ @% # @ en lugar del nombre del archivo). Algunos usuarios recomiendan usar
ntfsfix
o,ntfck
pero si no puede solucionarlos, ejecute chkdsk en Windows en la unidad. El registro de arranque / sistema de archivos puede tener algunos problemas.El propietario del archivo / carpeta no importa mientras lo use
sudo
. Podría ser cualquier usuario pero cuando usa elsudo
comandorm
lo eliminará independientemente de quién lo posea. Nuevamente, esto se aplica a esta unidad flash formateada NTFS.Cuando vi la pregunta por primera vez, iba a preguntar para ejecutar el comando,
sudo
pero leí que ya lo hizo. Luego iba a sugerir las herramientas de reparación de NTFS, pero ya lo hizo. entonces vi el error de entrada / salida al final. Eso y ver cómo el nombre de los archivos parecía todo desordenado simplemente me dijo que había un problema real del sistema de archivos que solo se puede corregir:Usando chkdsk en Windows. Ni
ntfsfix
tampocontfsck
solucionará un par de problemas que chkdsk solo puede solucionar.En este momento no parece un problema de hardware, más probablemente un problema del sistema de archivos. Si chkdsk no funciona, entonces la única solución es formatear la unidad flash nuevamente (sin necesidad de un nivel bajo). En el caso de que un formato simple no ayude (y probado en Windows y gparted), entonces estamos viendo un problema de nivel de hardware.
Si un virus realmente tuviera que hacer algo con este problema, sería porque afectó / adjuntó a la tabla del sistema de archivos (MFT). Esto crearía problemas como ver partes del sistema de archivos OK y otras MALAS. No ver archivos en un sistema y verlos en otro. Ver todos los archivos o algunos corruptos (por ejemplo:! @ #! #! LOL! @ #!) Y otras cosas extrañas que podrían suceder si la tabla del sistema de archivos está dañada. Puede ser tan simple como que el virus cambie uno de los campos en la tabla del sistema de archivos o puede ser tan horrible como que el virus cambie el tamaño de la MFT o varios archivos.
Dejando a un lado el virus, debe saber que si el problema es tan grave que no puede formatear la unidad (sistema de archivos nuevo), lo cual sería raro ver que un virus haga eso, entonces es más probable que tenga un problema de hardware de la unidad flash causado por calor, impacto, etc.
Para la corrupción de datos en la unidad flash, o en cualquier unidad de almacenamiento, pero especialmente en las unidades flash, la causa en muchos casos es quitar la unidad antes de que toda la información se haya guardado correctamente. Esto puede suceder tanto en Windows como en Linux si un usuario extrae la unidad flash sin asegurarse de que todo haya terminado de escribir y que la sesión para el dispositivo esté cerrada.
En el caso de Linux, comenzará a recibir advertencias sobre las operaciones de lectura / escritura no permitidas en toda la unidad flash o archivos (como películas) que faltan el 50% de más del tamaño completo (como una película de 1.2GB que pesa solo 500MB y todo lo que contiene) corrupto). fsck puede solucionar esto en la mayoría de los casos. En el caso de Windows, mostrará errores de entrada / salida y puede llegar a corromper toda la unidad porque la MFT no guardó correctamente la información. Por lo tanto, se recomienda esperar a que se cierre la sesión o utilizar una opción de "eliminación segura" cuando esté disponible.
fuente
Creo que el problema es que la implementación de NTFS en Linux tiene ingeniería inversa y no está completa --- solicite a Microsoft el código fuente ;-).
Tiene sugerencias con la advertencia "Caso no encontrado encontrado". Probablemente, el antivirus de la máquina Windows utilizó algunas características avanzadas / oscuras del sistema de archivos NTFS que el controlador de Linux no puede comprender.
Debería hacer una administración de bajo nivel de un sistema de archivos solo en el sistema nativo (busque aquí con qué frecuencia gparted redimensionó una partición NTFS solo para que el sistema no se pueda arrancar ...).
Consulte también la página principal de NTFS-3g , y especialmente estas preguntas y respuestas frecuentes .
fuente