Jemand hat mein USB-Laufwerk verwendet und als ich es zurückgab, fand ich ein nicht autorun.inf
löschbares. Ich habe versucht, das Dateiattribut zu ändern, das nur H ist (nicht einmal als Systemdatei festgelegt), aber es sagt weiterhin Zugriff verweigert.
Der USB ist auf FAT32 eingestellt, als er meinen Freund fragte, dass er Panda USB Vaccine verwendet
Wie machen sie das? Ich versuche, einen Disk Sector-Editor zu verwenden, habe aber keine Ahnung, welche Hex-Datei sie ändern, um diese Art von Datei zu erstellen und wieder löschbar zu machen. Durch das Formatieren des Laufwerks wird es entfernt, aber ich bin gespannt, wie diese Art von Dateiattribut festgelegt werden kann.
windows
filesystems
fat32
file-attributes
MegaNairda
quelle
quelle
Antworten:
Testmethode
Panda scheint den genauen Mechanismus seines "Impfstoffs" nicht zu offenbaren, was verständlich ist, da es sich im Grunde genommen um Sicherheit durch Unbekanntheit handelt . Wenn Sie wissen, wie es funktioniert, können Sie die Effekte umkehren und der "Impfstoff" wird unbrauchbar.
Ich habe Panda USB Vaccine heruntergeladen und installiert und mein Flash-Laufwerk "geimpft" und die Partition des Flash-Laufwerks mit dd für Windows mithilfe der Befehle gesichert
wo
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ist die GUID durch den ersten Befehl bereitgestellt, geöffnetc:\vaccinated.img
in einem Hex - Editor und gesuchtAUTORUN
.Was macht der USB-Impfstoff?
Der Eintrag für
AUTORUN.INF
beginnt mit den folgenden zwölf Bytes:Die ersten elf Bytes sind nur der mit Leerzeichen aufgefüllte 8.3-Dateiname :
AUTORUN INF
Das letzte Byte gibt die Attribute der Datei an und die binäre Darstellung lautet:
Gemäß der Microsoft EFI FAT32-Dateisystemspezifikation ist dieses letzte Byte ein Bitfeld in der folgenden Form:
wobei die Bits
A
,D
,V
,S
,H
undR
sind ,1
wenn und nur wenn die Datei archiviert wird, ein Verzeichnis, das Volumen ID 1 , eine Systemdatei, versteckt oder schreibgeschützt.AUTORUN.INF
ist ausgeblendet, da aufH
gesetzt1
.Die Bits
X
undY
sind reserviert und sollten beide sein0
. USB-Impfstoff wird jedochY
auf eingestellt1
.Was die Spezifikation sagt
Außerdem wird zur Validierung des Verzeichnisinhalts empfohlen:
Was passiert eigentlich?
CHKDSK folgt mit Sicherheit der Spezifikation und ignoriert den
AUTORUN.INF
Eintrag, den der FAT32-Treiber nicht versteht, aber Windows selbst scheint die Anforderung der Spezifikation nicht zu erfüllen, die reservierten Bits nie wieder zu prüfen : Jede Art von Zugriff (außer Auflistung der Datei) und seine Attribute) wird verweigert.Zum Beispiel der Befehl
gibt an, dass der Besitzer von
AUTORUN.INF
ist...
. Da FAT32 den Besitz von Dateien nicht unterstützt, sollte dies angegeben werden\All
.Der Grund für dieses unerwartete Verhalten ist, dass Windows laut FAT32 - Wikipedia # Directory - Eintrag das Bit
Y
intern verwendet, um einen Zeichengerätenamen (CON, PRN, AUX, CLOCK $, NUL, LPT1, COM1 usw.) und zu signalisieren es sollte nicht auf Speichergeräten vorhanden sein. 2In einer Art und Weise des Sprechens, USB Vaccine Tricks Windows - in , dass unter der Annahme
AUTORUN.INF
ist nicht eine tatsächliche Datei, sondern ein Gerät, das es nicht von oder Schreiben lesen.So löschen Sie die Datei
Wenn Sie direkten Zugriff auf das Dateisystem haben, genügt es,
Y
auf0
(ändern Sie das Byte42
in02
) zu setzen, um die Datei wieder löschbar zu machen. Sie können auch das erste Byte des Verzeichniseintrags auf setzenE5
und die Datei direkt als gelöscht markieren. 3Eine andere Option wäre die Verwendung eines anderen Treibers. Ubuntu 12.04 kann zB die Datei problemlos löschen. Tatsächlich "repariert" es automatisch den Verzeichniseintrag, wenn es ihn liest. 4
1 Dieses Attribut wird z. B. für die Datenträgerbezeichnung oder den Ordner System Volume Information verwendet .
2 Sicherlich scheint die Einstellung
X
auf1
keine Wirkung zu haben.3 Ich habe dies überprüft, indem ich die entsprechenden Bytes
C:\vaccinated.img
mit einem Hex-Editor geändert und das geänderte Image mit dem folgenden Befehl auf das Flash-Laufwerk geschrieben habe:4 Obwohl es sich um eine offensichtliche Abweichung von der Spezifikation handelt, scheint es sich um eine durchdachte zu handeln. Ubuntu lässt das
X
intakt, wenn es auf gesetzt ist1
, da es keinen Schaden anrichtet. Das Setzen desY
Bits1
kann leicht von einer böswilligen Anwendung missbraucht werden, indem z. B. eine nicht löschbare Datei erstellt wird, die den gesamten freien Speicherplatz des Laufwerks belegt.quelle
Dies ist eine clevere Art von Dateisystem-Trick, bei der ein reservierter Name im Win32-Namespace ausgenutzt wird. Einzelheiten dazu, wie Panda USB Vaccine dies ausführt, finden Sie hier .
Im Wesentlichen erstellt die Software einen Ordner mit dem Namen
autorun.inf
(wodurch verhindert wird, dass dort eine Datei mit demselben Namen erstellt wird). In diesem Ordner wird dann eine Datei mit dem NamenLTP1
erstellt.LPT1
Bezieht sich in DOS auf den Druckeranschluss und wird von Windows aus Gründen der Abwärtskompatibilität unterstützt. Wenn Sie also eine Datei mit dem Namen anfordernLPT1
, versucht Windows, den Druckeranschluss zu öffnen, und dies verhindert auf irgendeine Weise, dass der Ordner normal gelöscht wird.In diesem Microsoft Knowledgebase-Artikel finden Sie einige Tipps zum Entfernen des Ordners / der Datei ohne Formatierung des Laufwerks :
quelle
AUTORUN.INF
(mit der gleichen "caacaa ..." - Zeichenfolge, die im Artikel erwähnt wurde) auf dem Laufwerk und dann umgehend friert ein. Ich habe kein Problem die Autorun - Datei überhaupt zu löschen ...I:\autorun.inf\bdsanitize#\bdsanitize#...
Werten#
"1" oder "2" zu erstellen . Die Protokolldatei fügte auch den Datei- / Verzeichnisnamen jeder Ebene mit.dir
oder hinzu.file
, dies kann jedoch nur zu Protokollierungs- / Debugging-Zwecken angezeigt werden.autorun.inf
, dieser wird danach jedoch durch eineautorun.inf
Datei ersetzt . Der Unterschied zumautorun.inf
Panda USB-Impfstoff besteht darin, dass die Datei leer ist und nicht diecacaca
von Panda erstellte Datei enthält .