web-dev-qa-db-ja.com

ウイルスに感染したフラッシュドライブからRECYCLERディレクトリを削除する

gparted を使用してファイルを保存し、ドライブをフォーマットするオプションについてアドバイスする前に、その数時間前に実行できたので、数分しかかからなかったことを理解してください。実際、ここで実際に何が起こっているのかを理解したいと思います。この状況は、長年にわたって得た私の経験をすべて破壊しています。


ウイルスに感染したフラッシュドライブをUbuntuマシンに挿入したら、ウイルスファイルを削除するだけでいいという印象を受けました。

今日、私は、マシンがウイルスに感染していることを完全に知っているWindowsマシンからNTFS形式のフラッシュドライブにいくつかのファイルを収集しました。フラッシュドライブをマシンに挿入すると、実際に多くのファイルとフォルダーが収集されていることがわかりました。それらのほとんどを削除しました。ハードレジスタンスを示すのは、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/

RECYCLERフォルダーを書き込み可能にするコマンドchmodは失敗します。

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/

here のように、このデバイスでclamtkを実行しました。ただし、脅威を見つけることができません。

フラッシュドライブの内容をどこかに保存し、フォーマットするだけで済むことを理解しています。ただし、これらのフォルダにどの属性が設定されており、それ以上の変更に抵抗しているのかを調べることにもっと興味があります。 (そして間違いなく、私はフラッシュドライブも消毒したいと思うでしょう。)


更新1

Patro からのコメントに加えて。

  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

チェックと修復に関する活動が急増しました。不良セクタに関するメッセージもいくつかありました。タスクは1分未満で終了しました。その後、回復した領域用にいくつかの新しいフォルダーが作成されていることがわかりました。

フラッシュドライブをLinuxマシンに再挿入しましたが、RECYCLERフォルダーは問題なく削除できました。

追加の手順として、洞察を得たと思うので、ドライブをフォーマットしました(gpartedを使用して、NTFSに)。

ウイルスは実際に(temporary/soft)ハードウェアの問題を引き起こす可能性があるようです。詳細な技術的説明については 上記の投稿 をご覧ください。

15
Masroor

ここでいくつかのことを明確にしなければなりません。

  1. NTFSに関するリバースエンジニアリングの部分は、特にフォーマットされたNTFSフラッシュドライブには適用されません。たとえそれが行われたとしても、それは本当に普通のことではないでしょう。私は、Windows XP、Vista、7、および8でフォーマットされた多くのNTFSフォーマットのフラッシュドライブを使用しました。

    したがって、LinuxがNTFSを正しく検出しないという問題はそうではありません。 NTFS-3Gのプロジェクトは遅くなく、そのレベルとの互換性もありません。最後の更新は数か月前 この同じ年 であったこともわかります。キャッシュのサポートや大量のCPU使用など、時々いくつかの問題が発生しますが、前述したように、フラッシュドライブの場合、発生する可能性は非常に低いか、非常に小さい可能性があります。

  2. フラッシュドライブで同様の問題が発生しました。シンボルまたは単に間違ったシンボル(例:ファイル名の代わりに!@#%$ @%#@)。一部のユーザーは、ntfsfixまたはntfckの使用を推奨していますが、それで修正できない場合は、ドライブ上のWindowsでchkdskを実行します。ブートレコード/ファイルシステムに問題がある可能性があります。

  3. ファイル/フォルダーの所有者は、Sudoを使用している限り重要ではありません。どのユーザーでもかまいませんが、Sudoコマンドを使用すると、rmはだれに関係なく削除されます。繰り返しますが、これはこのNTFSフォーマットのフラッシュドライブに適用されます。

  4. 最初に質問を見たとき、コマンドをSudoとして実行するように依頼するつもりでしたが、すでに読んだことがあります。その後、NTFS修復ツールを提案するつもりでしたが、あなたはすでにやっていました。その後、最後にInput/output errorが表示されました。それと、ファイルの名前がす​​べてめちゃくちゃになっているように見えるのを見ると、実際にファイルシステムの問題があり、それを修正できるのは次の方法だけであることがわかりました。

    • Windowsでchkdskを使用します。 ntfsfixntfsckも、chkdskでしか修正できない問題をいくつか修正しません。

    • 現時点では、ハードウェアの問題ではなく、ファイルシステムの問題のようです。 chkdskが機能しない場合、唯一の解決策はフラッシュドライブを再度フォーマットすることです(低レベルの必要はありません)。単純な形式では解決できない場合(およびWindowsでテストされ、gparted)、ハードウェアレベルの問題を調べています。

ウイルスが実際にこの問題で何かをしなければならなかった場合、それはファイルシステムテーブル(MFT)に影響を与えた/アタッチされたためです。これにより、ファイルシステムの一部が正常に表示され、その他が不良であるなどの問題が発生します。あるシステムでファイルを表示せず、別のシステムでそれらを表示しない。すべてのファイルまたはいくつかの破損(例:!@#!#!LOL!@#!)およびファイルシステムテーブルが破損した場合に発生する可能性のあるその他の奇妙な現象を確認します。ウイルスがファイルシステムテーブルのフィールドの1つを変更するのと同じくらい簡単な場合もあれば、MFTまたは複数のファイルのサイズを変更するウイルスのように恐ろしい場合もあります。

ウイルスは別として、問題があまりにもひどいためドライブをフォーマットできない場合(Freshファイルシステム)、ウイルスがそれを行うことはほとんどないことを知っておく必要があります。熱、衝撃など。

フラッシュドライブ、またはストレージユニット、特にフラッシュドライブのデータが破損した場合、多くの場合、原因はすべての情報が正しく保存される前にユニットを削除することです。これは、すべてが書き込みを終了し、デバイスのセッションが閉じられていることを確認せずにユーザーがフラッシュドライブを取り外した場合、WindowsとLinuxの両方で発生する可能性があります。

Linuxの場合は、フラッシュドライブ全体またはファイル(映画など)で許可されていない読み取り/書き込み操作について、全体サイズの50%以上が欠落しているという警告が表示され始めます破損)。ほとんどの場合、fsckはこれを修正できます。 Windowsの場合、入力/出力エラーが表示され、MFTが情報を正しく保存しなかったため、ユニット全体が破損する可能性があります。そのため、セッションが閉じるのを待つか、使用可能な場合は「安全に削除」オプションを使用することをお勧めします。

6
Luis Alvarado

問題は、 LinuxでのNTFS実装 がリバースエンジニアリングされており、完全ではないことです---ソースコードをMicrosoftに要求してください;-)。

「サポートされていないケースが見つかりました」という警告のヒントがあります。おそらく、Windowsマシンのウイルス対策は、Linuxドライバーが把握できないいくつかの高度な/あいまいなNTFSファイルシステムの特性を使用していました。

ネイティブシステムのみでファイルシステムの低レベル管理を行う必要があります(システムを起動できないようにするために、NTFSパーティションのサイズ変更の頻度をここで検索してください...)。

NTFS-3gのメインページ 、特に this FAQ Q&A も参照してください。

5
Rmano