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

Soyez le premier à donner votre avis sur cette source.

Vue 8 840 fois - Téléchargée 837 fois

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

Ajouter un commentaire Commentaires
plaese ce programme comment va-t-il fonctionner? comment l'instalé??? dans l'USB ou comment pour rendre l'usb ininfectable?
Messages postés
103
Date d'inscription
mardi 12 juillet 2011
Statut
Membre
Dernière intervention
3 janvier 2013

Bof...

Les cerveaux et les anti-virus existe aussi!
Messages postés
1
Date d'inscription
vendredi 31 janvier 2003
Statut
Membre
Dernière intervention
8 novembre 2010

c'est une excellente idée. merci de ce code
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
a voir des améliorations possibles:

un client résidant sur le poste, qui detecterait l'insertion d'une clé USB, afficherais alors une icone en zone de notification, pres de l'horloge.

en cliquant dessus, possibiliter de délocker une clé (voire même pour un temps limité)
possibilité de la locker, bien évidemment
et peut etre même la detection des ouverture des handles de fichiers en mode écriture, pour proposer une boite de dialogue du genre :

"xxxxx.exe tente de modifier un fichier sur la clé "######".
Souhaitez vous l'autoriser ?

[Oui] [Non]"

avec, pourquoi pas une case "Ne plus reposer " cette question pour ce logiciel.

Et lors du release du fameux Handle, on relocke la clé.

ce serait royal, non ?
Messages postés
16
Date d'inscription
vendredi 6 août 2010
Statut
Membre
Dernière intervention
9 juillet 2011

Salut,
Merci pour cette nouvelle contribution justement je ne connaissais pas "fsutil" : "l'utilitaire du système de fichier".
J'ai testé le code sur une vieille clé USB de 256 Mo sur laquelle l'espace libre est de 55,5 Mo,Tout l'espace est remplit et j'ai essayer de l'attaquer avec un Faux Virus (inoffensif)qui utilise bien sur la technique de la propagation par le fichier Autorun pour infecter les clés USB et les machines en se copiant sur ces derniers, mais le programme tient a sa promesse, Aucun fichier ne s'est copié ou bien modifié. Donc le virus n'a aucune chance LOL :).
Le code est une merveille, dans le sens que vous connecter ton USB dans un espace publique ou bien la machine n'a pas un Antivirus installé comme il l'a mentionner ci-dessus "Mr Hackoo".Donc je partage son point de vue !
Bravo c'est une très Bonne idée avec un très bon code !
Afficher les 11 commentaires

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.