You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+45-40Lines changed: 45 additions & 40 deletions
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ The reason for doing this and not to stick to the traditional Brute-Force is tha
15
15
16
16
Here is a single example. We want to crack the password: Julia1984
17
17
18
-
In traditional Brute-Force attack we require a charset that contains all upper-case letters, all lower-case letters and all digits (aka “mixalpha-numeric”). The Password length is 9, so we have to iterate through 62^9 (13.537.086.546.263.552) combinations. Lets say we crack with a rate of 100M/s, this requires more than 4 years to complete.
18
+
In traditional Brute-Force attack we require a charset that contains all upper-case letters, all lower-case letters and all digits (aka “mixalpha-numeric”). The Password length is 9, so we have to iterate through 62^9 (13.537.086.546.263.552) combinations. Lets say we crack with a rate of 100M/s, this requires more than 4 years to complete.
19
19
20
20
In Mask attack we know about humans and how they design passwords. The above password matches a simple but common pattern. A name and year appended to it. We can also configure the attack to try the upper-case letters only on the first position. It is very uncommon to see an upper-case letter only in the second or the third position. To make it short, with Mask attack we can reduce the keyspace to 52*26*26*26*26*10*10*10*10 (237.627.520.000) combinations. With the same cracking rate of 100M/s, this requires just 40 minutes to complete.
21
21
@@ -29,56 +29,56 @@ Masks
29
29
30
30
For each position of the generated password candidates we need to configure a placeholder. If a password we want to crack has the length 8, our mask must consist of 8 placeholders.
31
31
32
-
A mask is a simple string that configures the keyspace of the password candidate engine using placeholders.
33
-
A placeholder can be either a custom charset variable, a built-in charset variable or a static letter.
34
-
A variable is indicated by the ? letter followed by one of the built-in charset (l, u, d, s, a) or one of the custom charset variable names (1, 2, 3, 4).
35
-
A static letter is not indicated by a letter. An exception is if we want the static letter ? itself, which must be written as ??.
32
+
-A mask is a simple string that configures the keyspace of the password candidate engine using placeholders.
33
+
-A placeholder can be either a custom charset variable, a built-in charset variable or a static letter.
34
+
-A variable is indicated by the ? letter followed by one of the built-in charset (l, u, d, s, a) or one of the custom charset variable names (1, 2, 3, 4).
35
+
-A static letter is not indicated by a letter. An exception is if we want the static letter ? itself, which must be written as ??.
36
36
37
37
Built-in charsets
38
38
--------------
39
39
40
-
?l = abcdefghijklmnopqrstuvwxyz
41
-
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
42
-
?d = 0123456789
43
-
?s = «space»!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
44
-
?a = ?l?u?d?s
45
-
?b = 0x00 - 0xff
40
+
-?l = abcdefghijklmnopqrstuvwxyz
41
+
-?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
42
+
-?d = 0123456789
43
+
-?s = «space»!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
44
+
-?a = ?l?u?d?s
45
+
-?b = 0x00 - 0xff
46
46
47
47
Custom charsets
48
48
--------------
49
49
50
50
There are four commandline-parameters to configure four custom charsets.
51
51
52
-
--custom-charset1=CS
53
-
--custom-charset2=CS
54
-
--custom-charset3=CS
55
-
--custom-charset4=CS
52
+
- --custom-charset1=CS
53
+
- --custom-charset2=CS
54
+
- --custom-charset3=CS
55
+
- --custom-charset4=CS
56
56
57
57
These commandline-parameters have four analogue shortcuts called -1, -2, -3 and -4. You can specify the chars directly on the command line.
58
58
59
59
Password length increment
60
60
--------------
61
61
62
-
A Mask attack is always specific to a password length. For example, if we use the mask ”?l?l?l?l?l?l?l?l” we can only crack a password of the length 8. But if the password we try to crack has the length 7 we will not find it. Thats why we have to repeat the attack several times, each time with one placeholder added to the mask. This is transparently automated by using the ”--increment” flag.
62
+
A Mask attack is always specific to a password length. For example, if we use the mask ”?l?l?l?l?l?l?l?l” we can only crack a password of the length 8. But if the password we try to crack has the length 7 we will not find it. Thats why we have to repeat the attack several times, each time with one placeholder added to the mask. This is transparently automated by using the ”--increment” flag.
63
63
64
-
?l
65
-
?l?l
66
-
?l?l?l
67
-
?l?l?l?l
68
-
?l?l?l?l?l
69
-
?l?l?l?l?l?l
70
-
?l?l?l?l?l?l?l
71
-
?l?l?l?l?l?l?l?l
64
+
-?l
65
+
-?l?l
66
+
-?l?l?l
67
+
-?l?l?l?l
68
+
-?l?l?l?l?l
69
+
-?l?l?l?l?l?l
70
+
-?l?l?l?l?l?l?l
71
+
-?l?l?l?l?l?l?l?l
72
72
73
73
Performance
74
74
--------------
75
75
76
76
Currently, it is the world's fastest word generator. Here are some stats:
0 commit comments