La meilleure solution pour empêcher l'écriture et l'infection des virus sur les clés usb

Description

L'idée de ce Script vient après avoir lu cet Article:"Create Fake Dummy File on USB Flash Drive to Enable Write Protect and Prevent Modification"
http://www.raymond.cc/blog/archives/2009/02/17/create-fake-dummy-file-on-usb-flash-drive-to-enable-write-protect-and-prevent-modification/
Alors j'ai eu cette idée de créer ce Truc en Vbscript.
Donc j'explique ce que ce script peut faire :
Vous portez votre flash USB qui contient beaucoup d'outils portables avec vous tout le temps mais,vous avez peur d'une chose, qui est un virus informatique comme JambanMu ou MaxTrox ou Sality qui peut infecter des clés USB ainsi que les fichiers exécutables là-dedans.
Le Script crée un faux fichier "bloc" pour remplir l'espace libre restant sur le flash USB en utilisant
L'utilitaire de système de fichiers "fsutil" qui est une suite d'outils en ligne de commande pour afficher et gérer certaines propriétés des lecteurs et des fichiers.
Alors le virus ne pourra pas se copier ou infecter n'importe quels fichiers exécutables.

Source / Exemple :


Ce code est utilisé pour créer un faux fichier sur le flash USB pour Permettre la protection en écriture.

'----------------DummyFileCreator.vbs---------------
'© Hackoo ©
'web site http://hackoo.ifrance.com 
checkUSB
DummyFileCreator
'---------------DummyFileCreator----------------------
Sub DummyFileCreator
Dim WshShell,FSO,Drv,Dtype,Dfree,DfreeMB,Dtot,GB
Dim Dname,Dpct,Dused,Dserial,Dinfo
Set WshShell=WScript.CreateObject("WScript.Shell")
Set FSO=CreateObject("Scripting.FileSystemObject")
For each Drv in FSO.Drives
 'If Drv.DriveType=0 Then Dtype="Unknown "
 'If Drv.DriveType=1 Then Dtype="Removable"
 'If Drv.DriveType=2 Then Dtype="Fixed "
 'If Drv.DriveType=3 Then Dtype="Network "
 'If Drv.DriveType=4 Then Dtype="CD-ROM "
 'If Drv.DriveType=5 Then Dtype="RAM Disk "
 If Drv.DriveType=1 Then ' Disk Amovible Flash Disk
 If Drv.IsReady Then ' Si le Flash Disk est prêt
 Dfree=Drv.FreeSpace
 DfreeMB=FormatNumber(Drv.FreeSpace/(1024^2),0)&" Mo"
 'EspaceLibre = Drv.FreeSpace
 GB=round(Dfree/1073741824,2) & " Go"
 Label=Drv.DriveLetter
 'checkUSB
 'wscript.sleep 1000
 MsgBox "Espace Libre dans Le Flash Disk "&Label&":\"&" est Environ de " &GB& " soit environ "&DfreeMB,64,"Espace Libre" 
 WshShell.run "cmd /c fsutil file createnew "&Label&":\IamDummy " &Dfree&"",0,True
 WshShell.Run "cmd /C attrib +h +s "&Label&":\IamDummy",0,TRUE
 MsgBox "Votre Flash Disk "&Label&":\ est désormais protégé contre les Malwares , les Worms et les Virus !",64,"Protection"
end if
end if
Next
end Sub
'-----------------checkUSB-----------------------
Sub checkUSB
strComputer = "."
On Error Resume Next
Set WshShell = CreateObject("Wscript.Shell")
beep = chr(007)
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive WHERE InterfaceType='USB'",,48)
intCount = 0
For Each drive In colItems
    If drive.mediaType <> "" Then
        intCount = intCount + 1
    End If
Next
If intCount > 0 Then
    MsgBox "Votre Flash Disk est bien Connecté !",64,"Flash Drive Check !"
else
	WshShell.Run "cmd /c @echo " & beep, 0
	wscript.sleep 1000
	MsgBox "Votre Flash n'est pas Connecté ",64,"Flash Drive Check !"
End If
End Sub

Et Ce Code est utilisé pour supprimer le faux fichier et permettre l'écriture sur votre Flash

'----------------NoDummyFile.vbs---------------
'© Hackoo ©
'web site http://hackoo.ifrance.com 
checkUSB
NoDummyFile
'----------------------------------------------------
sub NoDummyFile
Dim WshShell,FSO,Drv,Dtype,Dfree,DfreeMB,Dtot,GB
Dim Dname,Dpct,Dused,Dserial,Dinfo,filespec
Set WshShell=WScript.CreateObject("WScript.Shell")
Set FSO=CreateObject("Scripting.FileSystemObject")
filespec="IamDummy"
For each Drv in FSO.Drives
 'If Drv.DriveType=0 Then Dtype="Unknown "
 'If Drv.DriveType=1 Then Dtype="Removable"
 'If Drv.DriveType=2 Then Dtype="Fixed "
 'If Drv.DriveType=3 Then Dtype="Network "
 'If Drv.DriveType=4 Then Dtype="CD-ROM "
 'If Drv.DriveType=5 Then Dtype="RAM Disk "
 If Drv.IsReady Then
 If Drv.DriveType=1 Then
 Dfree=Drv.FreeSpace
 DfreeMB=FormatNumber(Drv.FreeSpace/(1024^2),0)&" MB"
 GB=round(Dfree/1073741824,2) & " Go"
 Label=Drv.DriveLetter
 If (fso.FileExists(Label&":\IamDummy")) Then
Set MyFile = fso.GetFile(Label&":\IamDummy")
MyFile.Delete
End If
MsgBox "Espace Libre dans Le Flash Disk "&Label&":\"&" est Environ de " &GB& " soit environ "&DfreeMB,64,"Espace Libre"
MsgBox "Attention ! Votre Flash Disk "&Label&":\ n'est pas Protégé contre les Malwares , les Worms et les Virus !",64,"Protection"
 end if
end if
Next
end Sub 
'-----------------checkUSB-----------------------
Sub checkUSB
strComputer = "."
On Error Resume Next
Set WshShell = CreateObject("Wscript.Shell")
beep = chr(007)
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive WHERE InterfaceType='USB'",,48)
intCount = 0
For Each drive In colItems
    If drive.mediaType <> "" Then
        intCount = intCount + 1
    End If
Next
If intCount > 0 Then
    MsgBox "Votre Flash Disk est bien Connecté !",64,"Flash Drive Check !"
else
	WshShell.Run "cmd /c @echo " & beep, 0
	wscript.sleep 1000
	MsgBox "Votre Flash n'est pas Connecté ",64,"Flash Drive Check !"
End If
End Sub

Conclusion :


Fsutil est un outil avancé qui s'adresse tout d'abord aux administrateurs mais des utilisateurs expérimentés trouveront également qu'il possède un certain nombre d'applications possibles.
Cet outil est présent dans Windows XP et Vista et est essentiellement utilisé sur les systèmes NTFS. Pour l'utiliser, vous devez posséder les privilèges administratifs.
Pour plus d'information sur "Fsutil" rendez-vous a cette page http://windows.developpez.com/cours/ligne-commande/?page=page_14#LXIV

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.