Удалить директорию RECYCLER с зараженной вирусом флешки

15

Прежде чем вы посоветуете мне возможность сохранить мои файлы и отформатировать диск с помощью 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

В дополнение к комментарию от Патро .

  1. Когда папки посещаются, эти файлы с множеством атрибутов не отображаются, даже когда я пытаюсь просмотреть их как скрытые файлы.
  2. Удалить эти файлы не удается. Команда 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), так как я думаю, что получил свое понимание.

Похоже, что вирус действительно способен вызвать (временную / программную) проблему с оборудованием. Пожалуйста, смотрите вышеупомянутый пост для подробного технического объяснения.

Масрур
источник
drwx ------ 1 masroor masroor 4096 7 мая 15:58 RECYCLER / S-2-4-27-3777257131-1806073332-421880436-8537 /; Каталог указывает только владельца файла (в данном случае владельца, который его создал), который может удалить его. Попробуйте щелкнуть правой кнопкой мыши папку и выберите «Свойства», затем проверьте вкладку «Разрешения».
user220402
@ user220402 Я попытался удалить папку как пользователь root с помощью sudo, если вы заметили. Я попытался использовать sudo, когда удаление пользователя не удалось.
Масрур
Попробуйте просмотреть папку и удалить каждый файл по отдельности и посмотреть, работает ли это. Затем попробуйте удалить саму папку.
Парто
3
Ошибки ввода / вывода обычно действительно означают, что что-то не так на аппаратном уровне. Конечно, возможно, что они появляются только в одной папке или файле (если соответствующие иноды хранятся в плохих ячейках памяти, но все остальные ячейки памяти исправны). Тем не менее, я думаю, что файловая система была повреждена вирусом, и эти файлы оказались вне диапазона памяти дисков. Поэтому я бы попытался запустить ntfsck в файловой системе. Если у вас есть установка Windows, которую вы можете переустановить в худшем случае (при заражении), вы также можете попробовать использовать chkdsk.
soulsource
1
как предложено попытаться сделать сканирование устройства. Вы можете использовать команду, ntfsfixчтобы попытаться исправить ошибки.
Girardengo

Ответы:

6

Хорошо, я должен прояснить пару вещей здесь:

  1. Часть обратного инжиниринга о NTFS здесь не применима, особенно для отформатированной флешки NTFS. Даже если бы это было так, это было бы что-то действительно необычное. Я работал со многими флешками в формате NTFS, отформатированными в Windows XP, Vista, 7 и 8.

    Так что проблема в том, что Linux неправильно определяет NTFS, не в этом. Проект NTFS-3G не медленный и не несовместимый с этим уровнем, вы даже можете видеть, что последнее обновление было пару месяцев назад в этом же году . Конечно, время от времени у него есть пара проблем, таких как поддержка кэширования и огромная загрузка ЦП, но, как я уже сказал, для флэш-накопителя это вряд ли произойдет или будет с очень малой вероятностью.

  2. У меня были похожие проблемы с флешками, показывающими либо ????? символы или просто неправильные символы в целом (EG:! @ #% $ @% # @ вместо имени файла). Некоторые пользователи рекомендуют использовать ntfsfixили, ntfckно если вы не можете их исправить, запустите chkdsk в Windows на диске. Загрузочная запись / файловая система может иметь некоторые проблемы.

  3. Владелец файла / папки не имеет значения, пока он использует sudo. Это может быть любой пользователь, но при использовании sudoкоманды он rmбудет удален независимо от того, кому она принадлежит. Опять же, это относится и к этой флешке в формате NTFS.

  4. Когда я впервые увидел вопрос, я собирался задать команду, как, 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 не сохранил правильно информацию. Поэтому рекомендуется либо дождаться закрытия сессии, либо использовать опцию «безопасно удалить», если она доступна.

Луис Альварадо
источник
Пожалуйста, смотрите мое ОБНОВЛЕНИЕ 3. Похоже, я получил свой ответ. Но я подожду еще несколько дней, прежде чем наградить его лучшим ответом. :-)
Масрур
@ ММА Отличная работа. Chkdsk создает эти папки, потому что это были части файловой системы (файлы или папки), которые не были назначены чему-либо, поэтому он создает эти временные папки, чтобы вы могли выбрать, куда поместить восстановленные файлы. Я добавлю несколько советов, которые могут создать эту проблему помимо вируса.
Луис Альварадо
5

Я думаю, что проблема в том, что реализация NTFS в Linux перепроектирована и не завершена - спросите у Microsoft исходный код ;-).

У вас есть подсказки с предупреждением "Обнаружен неподдерживаемый случай". Вероятно, машинный антивирус Windows использовал некоторые расширенные / неясные характеристики файловой системы NTFS, которые драйвер Linux не в состоянии понять.

Вы должны выполнять низкоуровневое управление файловой системой только на собственной системе (посмотрите, как часто gparted изменял размер раздела NTFS только для того, чтобы система не загружалась ...).

См. Также главную страницу NTFS-3g , и особенно это часто задаваемые вопросы и ответы .

Rmano
источник