Salut à Tous !
Introduction:
Voila comme le titre l'indique "Authentification avec votre clé USB personnelle: c'est comme Trouver la clé à sa serrure !"
Après des décennies, des siècles d’existence et d’évolution, avec quoi ouvrez-vous votre porte d’entrée ? Une clé, évidemment. Alors pourquoi ne pas en faire de même pour votre ordinateur ?
Cela tombe bien, il existe un homonyme informatique qui est également un petit objet, transportable dans une poche toujours avec soi, muni d’un identifiant unique et très difficilement falsifiable, qui en plus permet de stocker des données : c'est votre clé USB.
Alors, je suis entrain de programmer un Script qui simule tout ce que je viens de dire ci-dessus.
Le principe est simple: le script vérifie le numéro d’identification qui est le N° de série de votre clé USB (SerialNumber) et au moment de s’identifier, si il la trouve branchée sur votre système, il lit ces données qu’il y aura placé comme confirmation, ensuite il vous autorise a accéder au système. dans le cas contraire, l'ordinateur va s'éteindre !.
Voila pour commencer un petit script pour tester et vérifier si votre clé USB est connecté ou non, si cette dernière est connectée alors le script nous donne son N° de Série, qu'on va l'utiliser dans le script suivant "AUTHENTIFICATION_PAR_USB.vbs" en remplaçant mon N° Série par le Votre.
Description du Script: AUTHENTIFICATION_PAR_USB.vbs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 '----------------------------NumSerie_Usb.vbs------------------------------ 'Tester et vérifier si votre clé USB est connecté ou non, 'si cette dernière est connectée alors le script nous donne son N° de Série. '© Hackoo '-------------------------------------------------------------------------- Sub NumSerie_Usb() Dim NumSerie 'Retrouver la clé Usb et son numéro de série Set fso = CreateObject("Scripting.FileSystemObject") For Each Drive In fso.Drives If Drive.IsReady Then If Drive.DriveType=1 Then NumSerie=fso.Drives(Drive + "\").SerialNumber MsgBox "La Clé Usb inséré a comme Num° de Série "&NumSerie,64,"Vérification Clé Usb © Hackoo" 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 Clé USB Personnelle est bien Connectée !",64,"Flash Drive Check © Hackoo!" Call NumSerie_Usb() ' Appelle a la procédure NumSerie_Usb() else WshShell.Run "cmd /c @echo " & beep, 0 wscript.sleep 1000 MsgBox "Votre Clé USB Personnelle n'est pas Connectée ",48,"Flash Drive Check © Hackoo !" End If End Sub '---------------------------Fin du checkUSB---------------------------- Call checkUSB ' Appelle a la procédure checkUSB
Ce Script utilise Le N°de Série de votre clé usb personnelle pour être autorisé a utiliser l'ordinateur.
Dés le démarrage du système , l'utilisateur a trois chances séparés par un intervalle de temps de 10 secondes pour insérer la bonne clé personnelle tout en désactivant le Gestionnaire des Tâches et en tuant l'explorateur windows (explorer.exe).
Si celle-ci aprés une authentification soit la bonne clé, alors l'utilisateur peut poursuivre son travail en quittant ce script, Sinon l'ordinateur va s'éteindre !
NB: Il ne faut pas exécuter le script AUTHENTIFICATION_PAR_USB.vbs au premier avant de l'éditer et remplacer mon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155 '------------------------AUTHENTIFICATION_PAR_USB.vbs--------------------------------------- '© Hackoo © ' Description du Ce Script : ' Ce script utilise Le N°de Série de votre clé usb personnelle pour être autorisé a utiliser l'ordinateur. ' Dés le démarrage du système , l'utilisateur a trois chances séparés par un intervalle de temps ' de 10 secondes pour insérer la bonne clé personnelle tout en désactivant le Gestionnaire des Tâches ' et en tuant l'explorateur windows (explorer.exe). ' Si celle-ci après une authentification soit la bonne clé, alors l'utilisateur peut poursuivre son travail ' en quittant ce script, Sinon l'ordinateur va s'éteindre ! '© Hackoo © '---------------------------------------------------------------------------------------------------------- '---------------------------Programme Principal------------------------------------------- Dim MonScript,cible,Boucle,Count,AppData Set fso = CreateObject("Scripting.FileSystemObject") Set ws = WScript.CreateObject("WScript.Shell") AppData= ws.ExpandEnvironmentStrings("%AppData%") cible = AppData & "\" Boucle=True count = 0 MonScript = wscript.scriptfullname if (not fso.fileexists(AppData & "\"& MonScript)) then fso.copyfile MonScript , cible end if Shortcut while Boucle ' Tant que la Variable Booléene Boucle est en True on lance La Boucle While Count = Count + 1 ' Alors on incremente le compteur MsgBox "POUR ETRE AUTORISE A UTILISER CET ORDINATEUR, VEUILLEZ SVP INSERER VOTRE CLE USB PERSONNELLE POUR L'AUTHENTIFICATION,MERCI !",48,"ESSAI N° "&Count& " Vérification de Votre Clé Usb Personnelle © Hackoo !" wscript.sleep 10000 ' vous avez 10 secondes pour insérer votre clé ! checkUSB ' Contrôle de la clé USB si elle est connectée ou non Kill_Explorer ' Tuer le Processus d'explorer.exe DisableTaskMgr ' Désactiver le Gestionnaire des Tâches If Count > 2 Then ' Si la le Compteur devient > 2 alors la Boucle devient False et on sort de la Boucle While Boucle =False MsgBox "ATTENTION VOTRE ORDINATEUR VA S'ARRÊTER MAINTENANT !",48,"ESSAI N° "&Count& " Vérification Clé Usb © Hackoo !" Call ShutDown ' Appelle La Fonction Shutdown pour éteindre l'ordinateur end if wend '----------Fin du Programme Principal--------- '-----------------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é, On passe a l'Authentification Merci !",64,"Flash Drive Check © Hackoo !" Verif_Serial_Usb else WshShell.Run "cmd /c @echo " & beep, 0 wscript.sleep 1000 MsgBox "ATTENTION ! VOTRE FLASH DISK N'EST PAS CONNECTE !",48,"Flash Drive Check © Hackoo !" End If End Sub '---------------Fin checkUSB()---------------- '-------------Verif_Serial_Usb()------------- Sub Verif_Serial_Usb() Dim SerialNumber,NumSerie 'Boucle=True SerialNumber = 1021505376 'C'est ici !! que vous devez placer le N°de série de votre clé USB (pour moi 1021505376) 'et c'est a vous de le remplacer par le votre, 'en utilisant le script NumSerie_Usb.vbs pour Retrouver son numéro de série Set fso = CreateObject("Scripting.FileSystemObject") For Each Drive In fso.Drives If Drive.IsReady Then If Drive.DriveType=1 Then NumSerie=fso.Drives(Drive + "\").SerialNumber If SerialNumber=NumSerie then 'Si Le N° de série est bien de votre clé usb MsgBox "La Clé Usb inséré a été Bien Authentifié ! Merci Bien !",64,"Vérification Clé Usb © Hackoo !" Call Explorer() 'Lancer l'explorateur Windows explorer.exe Call EnableTaskMgr() ' Activer Le Gestionnaire des Tâches wscript.Quit() ' Quitter le Script else MsgBox "La Clé Usb inséré n'a pas été Authentifié !",16,"Vérification Clé Usb © Hackoo !" end if End If End If Next End Sub '--------------------Fin du Verif_Serial_Usb()---------- '---------------------------Shortcut()------------------ sub Shortcut dim shell,startupPath,link,temp,FSO,nom,WshNetwork,AppData Set Shell = CreateObject("WScript.Shell") startupPath = Shell.SpecialFolders("startup") Set FSO = WScript.CreateObject("Scripting.FileSystemObject") AppData= Shell.ExpandEnvironmentStrings("%AppData%") NomScript=wscript.scriptname Set link = Shell.CreateShortcut(startupPath & "\Windows Update.lnk") link.Description = "Windows Update" link.IconLocation = "explorer.exe, 0" link.TargetPath = AppData & "\" & NomScript link.WorkingDirectory = AppData link.Save end sub '---------------------Fin du Shortcut()--------------- '-----------------------ShutDown()-------------------- Sub ShutDown() Set WS = CreateObject("WScript.Shell") Command = "cmd /C shutdown -s -t 60 -c Arrêt_du_Système_dans_une_Minute_©Hackoo" Result = Ws.Run(Command,0,True) End Sub '-------------------Fin du ShutDown()------------- '--------------------EnableTaskMgr()-------------- sub EnableTaskMgr Dim WshShell,System System="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\" Set WshShell=WScript.CreateObject("WScript.Shell") Wshshell.RegWrite System, "REG_SZ" WshShell.RegWrite System &"\DisableTaskMgr", 0, "REG_DWORD" end sub '-------------Fin du EnableTaskMgr()----------- '----------------DisableTaskMgr()-------------- sub DisableTaskMgr Dim WshShell,System System="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\" Set WshShell=WScript.CreateObject("WScript.Shell") Wshshell.RegWrite System, "REG_SZ" WshShell.RegWrite System &"\DisableTaskMgr", 1, "REG_DWORD" end sub '-----------------Fin du DisableTaskMgr()------------ '--------------------Kill_Explorer()------------------- Sub Kill_Explorer Dim Com,Kill Set WS = CreateObject("WScript.Shell") Com="taskkill /f /IM explorer.exe" kill=Ws.Run(Com,0,True) end Sub '----------------Fin du Kill_Explorer()----------------- '--------------------Explorer()------------------------- Sub Explorer Set WS = CreateObject("WScript.Shell") Com="cmd /c start explorer.exe" Launch=Ws.Run(Com,0,True) end sub '---------------Fin du Explorer()------------------------
N° de série par le votre qui est obtenu par le 1er script sinon vous restez bloquer lors du prochain démarrage de windows, mais si c'est le cas par erreur, alors j'ai prévu un autre script pour déinstaller ce dernier.
Finalement je cherche Maintenant du côté sécurité car ce script n'est pas sécurisé à 100% car n'importe qui peut se logger dans le système sans douleur en mode sans échec.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 'Ce script sert a déinstaller le script AUTHENTIFICATION_PAR_USB.vbs et de ne pas rester bloquer avec ce dernier ! '© Hackoo © '--------------------------------------------------------------------------- Call Supprimer_Script() Call EnableTaskMgr() Call Explorer() Call Kill_wscript '----------------Kill_wscript()-------------- Sub Kill_wscript() Dim Com,Kill Set WS = CreateObject("WScript.Shell") Com="taskkill /f /IM wscript.exe" kill=Ws.Run(Com,0,True) end Sub '------------Fin du Kill_wscript()----------- '------------------Explorer()---------------- Sub Explorer() Set WS = CreateObject("WScript.Shell") Com="cmd /c start explorer.exe" Launch=Ws.Run(Com,0,True) end sub '---------------Fin du Explorer()------------ '---------------EnableTaskMgr()-------------- sub EnableTaskMgr() Dim WshShell,System System="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\" Set WshShell=WScript.CreateObject("WScript.Shell") Wshshell.RegWrite System, "REG_SZ" WshShell.RegWrite System &"\DisableTaskMgr", 0, "REG_DWORD" end sub '-------------Fin du EnableTaskMgr()------------ '---------------Supprimer_Script()-------------- Sub Supprimer_Script() Dim destfile,fso,ws,startupPath Set ws = CreateObject("WScript.Shell") Set fso = createObject("Scripting.FileSystemObject") AppData= ws.ExpandEnvironmentStrings("%AppData%") if fso.fileexists(AppData & "\AUTHENTIFICATION_PAR_USB.vbs") then set destfile = fso.GetFile(AppData & "\AUTHENTIFICATION_PAR_USB.vbs") destfile.Delete end if startupPath = ws.SpecialFolders("startup") if fso.fileexists(startupPath & "\Windows Update.lnk") then set link=fso.GetFile(startupPath & "\Windows Update.lnk") link.delete end if end Sub '-------------Fin de Supprimer_Script()------------
Donc j'attends de vous quelques propostions et suggestions de codes a ajouter ou bien a supprimer au niveau sécurité pour améliorer ce script. Merci pour votre éventuelle contribution, et vos remarques et vos commentaires sont les bienvenues !![]()
![]()
Partager