openwall / openwall/john

mask stretching differs custom placeholders and regular placeholders

Open
#4,118 2 comments 0 reactions 1 assignee View on GitHub

@magnumripper is already working on this.

Since Nov 21, 2020.

bug enhancement
Dominant language
C
Stars
13.6k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

That's like #3165 but with custom placeholder (e.g. ?1) or explicit ranges.

When --mask='?l123' --min-length=4 --max-length=5 produces ?l123 and ?l?l123. Replace ?l with ?1 and add --1='?l', it produces ?1123 and '?11233'. Same with explicit ranges.

I bump into that quite often when I stretch masks with constant suffix and try to reduce charset in ranges based on cracks.

Examples:

$ ./JohnTheRipper/run/john --stdout --mask='?l123' --min-length=4 --max-length=5
0p 0:00:00:00 0.00% (4) 0p/s
a123
[...]
q123
26p 0:00:00:00 3.70% (5) (ETA: 00:20:39) 371.4p/s q123
aa123
[...]
qq123
702p 0:00:00:00 100.00% (5) (2019-10-13 00:20) 10028p/s qq123

$ ./JohnTheRipper/run/john --stdout --mask='?1123' --min-length=4 --max-length=5 --1='?l'
0p 0:00:00:00 0.00% (4) 0p/s
a123
[...]
q123
26p 0:00:00:00 50.00% (5) (ETA: 00:20:51) 520.0p/s q123
a1233
q1233
52p 0:00:00:00 100.00% (5) (2019-10-13 00:20) 1040p/s q1233

$ ./JohnTheRipper/run/john --stdout --mask='[a-z]123' --min-length=4 --max-length=5
0p 0:00:00:00 0.00% (4) 0p/s
a123
[...]
z123
26p 0:00:00:00 50.00% (5) (ETA: 00:30:12) 260.0p/s z123
a1233
[...]
z1233
52p 0:00:00:00 100.00% (5) (2019-10-13 00:30) 520.0p/s z1233

john is quite fresh (has opencl; openmp is disabled):

Version: 1.9.0-jumbo-1+bleeding-ea33667eb 2019-09-23 12:43:34 +0200
Build: linux-gnu 64-bit x86_64 AVX2 AC

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.