
Je crois que j'ai bien réussi à le faire grâce un pote qui ma aider à le tarduire en vbscript et j'ai ajouté une fonction qui calcule le temps passé a cracker le mot de passe saisi avec InputBox !
Code: (vbscript BruteForce.vbs)
Title = "Password Brute Force Cracker by Hackoo 2018"
Dim pass(5)
Dim Numbers : Numbers = Split("1 2 3 4 5 6 7 8 9 0")
Dim Lower_Alphabet : Lower_Alphabet = Split("a b c d e f g h i j k l m n o p q r s t u v w x y z")
Dim Upper_Alphabet : Upper_Alphabet = Split("A B C D E F G H I J K L M N O P Q R S T U V W X Y Z")
Do
Mot_de_Passe_Saisi = InputBox("Veuillez saisir un mot de passe qui contient seulement 6 caractères." & vbcrlf & vbcrlf &_
"Please enter a password that contains only 6 characters.",Title,"")
If Mot_de_Passe_Saisi = "" Then Wscript.Quit(1)
If Valide(Mot_de_Passe_Saisi) = False Then
MsgBox Mot_de_Passe_Saisi & " is not a valid input please re-try again !",48,Title
End If
Loop Until Valide(Mot_de_Passe_Saisi) = True
'--------------------------------------------------
dtmStartTime = Timer
Wscript.echo("")
Wscript.echo " Please wait ... We are trying to crack the input password ..."
wscript.echo " Trying to crack only with Numbers [0-9]"
Call BruteForce(Numbers)
wscript.echo " Trying to crack only with Lower Alphabet [a-z]"
Call BruteForce(Lower_Alphabet)
wscript.echo " Trying to crack only with Upper Alphabet [A-Z]"
Call BruteForce(Upper_Alphabet)
'--------------------------------------------------
Function Valide(Saisie)
Set RegularExpressionObject = New RegExp
With RegularExpressionObject
.Pattern = "^(?=.{6}$) *\w* *$"
If .Test(Saisie)= True then
Valide = True
end if
End With
End Function
'-------------------------------------------------
Sub BruteForce(CharSet)
for each a in CharSet
pass(0) = a
for each b in CharSet
pass(1) = b
for each c in CharSet
pass(2) = c
for each d in CharSet
pass(3) = d
for each e in CharSet
pass(4) = e
for each f in CharSet
pass(5) = f
Crack(strpass)
next
next
next
next
next
next
End Sub
'--------------------------------------------
Function strpass
for each item in pass
strpass = strpass + item
next
end Function
'--------------------------------------------
sub Crack(str)
If str = Mot_de_Passe_Saisi then
wscript.echo("")
wscript.echo " The Password is found as : " & Mot_de_Passe_Saisi & vbCrlf & vbCrlf &_
" The Duration time to crack is " & GetElapsedTime
wscript.echo("")
wscript.quit(0)
End if
end sub
'--------------------------------------------
Function GetElapsedTime
Const SECONDS_IN_DAY = 86400
Const SECONDS_IN_HOUR = 3600
Const SECONDS_IN_MINUTE = 60
Const SECONDS_IN_WEEK = 604800
dtmEndTime = Timer
seconds = Round(dtmEndTime - dtmStartTime, 2)
If seconds < SECONDS_IN_MINUTE Then
GetElapsedTime = seconds & " seconds "
Exit Function
End If
If seconds < SECONDS_IN_HOUR Then
minutes = seconds / SECONDS_IN_MINUTE
seconds = seconds MOD SECONDS_IN_MINUTE
GetElapsedTime = Int(minutes) & " minutes " & seconds & " seconds "
Exit Function
End If
If seconds < SECONDS_IN_DAY Then
hours = seconds / SECONDS_IN_HOUR
minutes = (seconds MOD SECONDS_IN_HOUR) / SECONDS_IN_MINUTE
seconds = (seconds MOD SECONDS_IN_HOUR) MOD SECONDS_IN_MINUTE
GetElapsedTime = Int(hours) & " hours " & Int(minutes) & " minutes " & seconds & " seconds "
Exit Function
End If
If seconds < SECONDS_IN_WEEK Then
days = seconds / SECONDS_IN_DAY
hours = (seconds MOD SECONDS_IN_DAY) / SECONDS_IN_HOUR
minutes = ((seconds MOD SECONDS_IN_DAY) MOD SECONDS_IN_HOUR) / SECONDS_IN_MINUTE
seconds = ((seconds MOD SECONDS_IN_DAY) MOD SECONDS_IN_HOUR) MOD SECONDS_IN_MINUTE
GetElapsedTime = Int(days) & " days " & Int(hours) & " hours " & Int(minutes) & " minutes " & seconds & " seconds "
Exit Function
End If
End Function
'--------------------------------------------
Donc il vaut mieux de lancer ce vbscript avec le moteur cscript comme dans ce batch

Code: (Batch CrackBruteForce.bat)
@echo off
Title Cracking Password by Hackoo Crackoo 2018
Mode 70,10 & color 0A
Cscript //nologo BruteForce.vbs
pause