<< Click to Display Table of Contents >> Navigation: Password Recovery Basics > Recovering Strong Passwords > Hybrid Attack with Rules |
Hybrid attacks are the most complex and highly customizable, allowing to construct passwords build to the most complex rules. Hybrid attacks are used in a case that a Dictionary Attack with Mutations cannot find password built by a creative user. By observing the user's existing passwords, you can try and build your own mutation rules. Hybrid attack can combine up to two dictionaries and apply any number of mutation rules. The rules follow the syntax originally used in John the Ripper. A number of predefined mutation rules are available that you can use or edit.
In a hybrid attack, the number of characters is represented by one symbol. Digits and capital Latin letters are used. Digits from 0 to 9 mean the corresponding numbers from 0 to 9. 10 is coded by "A", 11 by "B", etc. The maximum value is 35, and is represented by "Z".
The simplest rule
: Do nothing, use the original input word
Playing with symbols case
c Capitalize: password -> Password
C Lowercase the first character, uppercase the rest:
password -> pASSWORD
l Convert to lowercase
u Convert to uppercase
t Toggle case of all characters: PassWord -> pASSwORD
aN Check all possible symbol cases for the word. N is a maximal length of the word to apply this rule for.
This rule CANNOT be used in conjunction with other ones!
V Vowels elite: password -> PaSSWoRD
v Vowels noelite: password -> pASSWoRD
TN Toggle case of the character at position N.
Rotate, delete, reflect
{ Rotate left: password -> asswordp
} Rotate right: password -> dpasswor
[ Delete the first character: password -> assword
] Delete the last character: password -> password
DN Delete the character at position N
'N Truncate the word to N character(s) length
f Reflect: password -> passworddrowssap
r Reverse: password -> drowssap
Duplicate characters
d Duplicate: password -> passwordpassword
q Duplicate all symbols: password -> ppaasssswwoorrdd
zN Duplicate the first character of the word N times. N = 1 .. 9
ZN Duplicate the last character of the word N times. N = 1 .. 9
Reject the word
<N Reject the word if it is greater than N characters long.
>N Reject the word if it is less than N characters long.
!X Reject the word if it contains at least one character X
/X Reject the word if it does not contain character X
(X Reject the word if the first character is not X
)X Reject the word if the last character is not X
%MX Reject a word if it does not contain at least
M instances of the character X
=NX Reject a word if the character at position N is not equal to the X
Insert, remove and copy
pN Copy word N times. N = 3 .. 9
$X Add character X to the end of the word
^X Insert character X at the beginning of the word
@X Remove all characters X from the word
iNX Insert the character X in position N
oNX Overwrite a character in position N with the character X
sXY Replace all characters X with Y
Substring operations
xNM Extract a substring of up to M characters length, starting from position N
eX Extract a substring starting at position 0 and ending up before first occurrence
of X character. Do nothing if X is not found.
EX Extract a substring starting right after the first found X character and till the end of the string. Do nothing if X is not found.
Other
SLN Bitwise shift left character at position N
SRN Bitwise shift right character at position N
:c
Password
:
c
password
Password
:soaswv
csoaswv
passvard
Passvard