Удалить директорию RECYCLER с зараженной вирусом флешки
Прежде чем вы посоветуете мне возможность сохранить мои файлы и отформатировать диск с помощью gparted, пожалуйста, поймите, что я мог бы сделать это несколько часов назад, и это заняло бы всего несколько минут. На самом деле, я хочу понять, что на самом деле здесь происходит. Ситуация разрушает весь мой опыт, накопленный за эти годы.
У меня сложилось впечатление, что, если я вставлю зараженную вирусом флешку на мою машину с Ubuntu, все, что мне нужно сделать, это просто удалить файлы вируса, и я готов идти.
Сегодня я собрал некоторые файлы на флэш-накопителе в формате NTFS с машины Windows, полностью зная, что машина заражена вирусом. Вставив флешку в мою машину, я обнаружил, что в ней собрано много файлов и папок. Я удалил большинство из них. Единственное, что демонстрирует жесткое сопротивление - это каталог RECYCLER (и его подкаталоги).
Атрибуты этого каталога.
drwx------ 1 masroor masroor 4.0K May 7 16:01 RECYCLER/
Если я выполню rm
команда,
sudo rm -rvf RECYCLER/
Я получаю длинный вывод в строке,
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>
Что интересно, указанные выше файлы показываются ls
Команда с множеством множества атрибутов.
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
Если попытаться найти атрибуты этих оскорбительных папок,
ls -dl RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
Я получил,
drwx------ 1 masroor masroor 4096 May 7 15:58 RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
команда chmod
сделать папку RECYCLER доступной для записи в мире не удастся.
sudo chmod -vR ugo+w RECYCLER/
Выход находится в строке.
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>
Эти папки содержали ряд .exe
и другие файлы, большинство из которых я уже успешно удалил (кроме указанных выше).
Если я проверю атрибуты одной из этих папок,
lsattr -ad RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
я получил
lsattr: Inappropriate ioctl for device While reading flags on RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
Я бегал clamtk
на этом устройстве, как предложено здесь. Тем не менее, он не может найти угрозу.
Я понимаю, что могу просто сохранить содержимое своего флэш-накопителя где-нибудь, а затем отформатировать его. Однако меня больше интересует выяснение, какие атрибуты были установлены в этих папках, которые противостоят дальнейшим изменениям. (И, безусловно, я тоже захочу вылечить мою флешку.)
ОБНОВЛЕНИЕ 1
В дополнение к комментарию от Parto.
- Когда папки посещаются, эти файлы с множеством атрибутов не отображаются, даже когда я пытаюсь просмотреть их как скрытые файлы.
- Удалить эти файлы не удается. Команда
rm -rvf *
внутри каталогаS-2-4-27-3777257131-1806073332-421880436-8537
не удается с ошибкой ввода / вывода.
ОБНОВЛЕНИЕ 2
После комментариев от soulsource и girardengo я попытался запустить ntfsck
а также ntfsfix
, Также этот вопрос помог.
Вот результаты.
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.
Но первоначальная ситуация все еще сохраняется. Там не было никаких улучшений.
ОБНОВЛЕНИЕ 3 (решено)
Как советовали в этом посте, я вставил свой диск в машину с Windows и выполнил (из терминала),
chkdsk <drive letter> /R
Был целый ряд мероприятий по проверке и ремонту. Были также сообщения о плохих секторах. Задание было выполнено менее чем за минуту. Затем я обнаружил, что для восстановленных областей были созданы новые папки.
Я вставил флешку в компьютер с Linux, и папку RECYCLER можно было удалить без каких-либо проблем.
В качестве дополнительного шага, теперь я отформатировал диск (используя gparted, для NTFS), так как я думаю, что получил свое понимание.
Похоже, что вирус действительно способен вызвать (временную / программную) проблему с оборудованием. Пожалуйста, смотрите вышеупомянутый пост для подробного технического объяснения.
2 ответа
Хорошо, я должен прояснить пару вещей здесь:
Часть обратного инжиниринга о NTFS здесь не применима, особенно для отформатированной флешки NTFS. Даже если бы это было так, это было бы что-то действительно необычное. Я работал со многими флешками в формате NTFS, отформатированными в Windows XP, Vista, 7 и 8.
Так что проблема в том, что Linux неправильно определяет NTFS, не в этом. Проект NTFS-3G не медленный и не несовместимый с этим уровнем, вы даже можете видеть, что последнее обновление было пару месяцев назад в этом же году. Конечно, время от времени у него возникает пара проблем, таких как поддержка кэширования и огромная загрузка ЦП, но, как я уже сказал, для флэш-накопителя это вряд ли произойдет или будет с очень малой вероятностью.
У меня были похожие проблемы с флешками, показывающими либо????? символы или просто неправильные символы вообще (EG:!@#%$@%#@ вместо имени файла). Некоторые пользователи рекомендуют использовать
ntfsfix
или жеntfck
но если вы не можете их исправить, запустите chkdsk в Windows на диске. Загрузочная запись / файловая система может иметь некоторые проблемы.Владелец файла / папки не имеет значения, пока он использует
sudo
, Это может быть любой пользователь, но когда он используетsudo
командаrm
удалит его независимо от того, кому он принадлежит. Опять же, это относится и к этой флешке в формате NTFS.Когда я впервые увидел вопрос, я собирался задать команду как
sudo
но я читал, ты уже сделал. Тогда собирался предложить инструменты для ремонта ntfs, но вы уже сделали. затем я увидел ошибку ввода / вывода в конце. То, что имена файлов выглядят испорченными, просто говорит мне, что существует настоящая проблема с файловой системой, которую можно исправить только:Использование chkdsk в Windows. ни
ntfsfix
ниntfsck
исправит пару проблем, которые может исправить только chkdsk.На данный момент это не похоже на аппаратную проблему, скорее на проблему с файловой системой. Если chkdsk не работает, то единственное решение - снова отформатировать флешку (нет необходимости в низком уровне). В случае, если простой формат не помогает (и проверен в Windows и gparted), тогда мы смотрим на проблему аппаратного уровня.
Если вирус действительно должен был что-то делать с этой проблемой, это произошло бы потому, что он затронул / присоединился к таблице файловой системы (MFT). Это может создать проблемы, такие как видение частей файловой системы в порядке и других ПЛОХО. Не видеть файлы в одной системе и не видеть их в другой. Просмотр всех файлов или каких-либо поврежденных (например:!@#!#!LOL!@#!) И других странных вещей, которые могут произойти, если таблица файловой системы повреждена. Это может быть так же просто, как вирус, изменяющий одно из полей в таблице файловой системы, или так же ужасно, как вирус, изменяющий размер MFT или нескольких файлов.
Помимо вируса, вы должны знать, что если проблема настолько серьезна, что вы не можете отформатировать диск (Fresh filesystem), из-за которого вирус редко может это сделать, то более вероятно, что у вас возникла аппаратная проблема флешки, вызванная тепло, удар и т.д..
При повреждении данных на флэш-накопителе или в любом устройстве хранения, особенно на флэш-накопителях, причиной во многих случаях является извлечение устройства до того, как вся информация была правильно сохранена. Это может происходить как в Windows, так и в Linux, если пользователь удаляет флэш-накопитель, не убедившись, что все закончено, и сеанс для устройства закрыт.
В случае Linux вы начнете получать предупреждения о недопустимых операциях чтения / записи на всей флешке или в файлах (например, в фильмах), пропускающих 50% от общего размера (например, фильм объемом 1,2 ГБ, весом всего 500 МБ и все в нем) поврежден). fsck может исправить это в большинстве случаев. В случае Windows это покажет ошибки ввода / вывода и может привести к повреждению всего устройства, потому что MFT неправильно сохранил информацию. Поэтому рекомендуется либо дождаться закрытия сессии, либо использовать опцию "безопасно удалить", если она доступна.
Я думаю, что проблема в том, что реализация NTFS в Linux перепроектирована и не завершена - спросите у Microsoft исходный код;-).
У вас есть подсказки с предупреждением "Обнаружен неподдерживаемый случай". Вероятно, машинный антивирус Windows использовал некоторые расширенные / неясные характеристики файловой системы NTFS, которые драйвер Linux не в состоянии понять.
Вы должны выполнять низкоуровневое управление файловой системой только на собственной системе (посмотрите, как часто gparted изменял размер раздела NTFS только для того, чтобы система не загружалась...).
См. Также главную страницу NTFS-3g, и особенно это часто задаваемые вопросы и ответы.