Skip to content

Commit ae31789

Browse files
committed
Fix some formatting issues
1 parent e609606 commit ae31789

File tree

1 file changed

+45
-40
lines changed

1 file changed

+45
-40
lines changed

README.md

Lines changed: 45 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ The reason for doing this and not to stick to the traditional Brute-Force is tha
1515

1616
Here is a single example. We want to crack the password: Julia1984
1717

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.
1919

2020
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.
2121

@@ -29,56 +29,56 @@ Masks
2929

3030
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.
3131

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 ??.
3636

3737
Built-in charsets
3838
--------------
3939

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
4646

4747
Custom charsets
4848
--------------
4949

5050
There are four commandline-parameters to configure four custom charsets.
5151

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
5656

5757
These commandline-parameters have four analogue shortcuts called -1, -2, -3 and -4. You can specify the chars directly on the command line.
5858

5959
Password length increment
6060
--------------
6161

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.
6363

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
7272

7373
Performance
7474
--------------
7575

7676
Currently, it is the world's fastest word generator. Here are some stats:
7777

78-
AMD Athlon™ 64 X2 Dual Core Processor 3800+: 75.80 M/s (per core)
79-
AMD FX™-6100 Six-Core Processor: 138.20 M/s (per core)
80-
Intel(R) Xeon(R) CPU X5650 @ 2.67GHz: 97.42 M/s (per core)
81-
Intel(R) i7-920: 71.50 M/s (per core)
78+
- AMD Athlon™ 64 X2 Dual Core Processor 3800+: 75.80 M/s (per core)
79+
- AMD FX™-6100 Six-Core Processor: 138.20 M/s (per core)
80+
- Intel(R) Xeon(R) CPU X5650 @ 2.67GHz: 97.42 M/s (per core)
81+
- Intel(R) i7-920: 71.50 M/s (per core)
8282

8383
To avoid irregularities while testing, all output went into /dev/null.
8484

@@ -87,18 +87,23 @@ Example
8787

8888
The following commands creates the following password candidates:
8989

90-
command: ?l?l?l?l?l?l?l?l
91-
keyspace: aaaaaaaa - zzzzzzzz
92-
command: -1 ?l?d ?1?1?1?1?1
93-
keyspace: aaaaa - 99999
94-
command: password?d
95-
keyspace: password0 - password9
96-
command: -1 ?l?u ?1?l?l?l?l?l19?d?d
97-
keyspace: aaaaaa1900 - Zzzzzz1999
98-
command: -1 ?dabcdef -2 ?l?u ?1?1?2?2?2?2?2
99-
keyspace: 00aaaaa - ffZZZZZ
100-
command: -1 efghijklmnop ?1?1?1
101-
keyspace: eee - ppp
90+
- command: ?l?l?l?l?l?l?l?l
91+
- keyspace: aaaaaaaa - zzzzzzzz
92+
93+
- command: -1 ?l?d ?1?1?1?1?1
94+
- keyspace: aaaaa - 99999
95+
96+
- command: password?d
97+
- keyspace: password0 - password9
98+
99+
- command: -1 ?l?u ?1?l?l?l?l?l19?d?d
100+
- keyspace: aaaaaa1900 - Zzzzzz1999
101+
102+
- command: -1 ?dabcdef -2 ?l?u ?1?1?2?2?2?2?2
103+
- keyspace: 00aaaaa - ffZZZZZ
104+
105+
- command: -1 efghijklmnop ?1?1?1
106+
- keyspace: eee - ppp
102107

103108
Compile
104109
--------------

0 commit comments

Comments
 (0)