Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature request: flag to separate words #49

Open
roycewilliams opened this issue Jan 29, 2016 · 5 comments
Open

feature request: flag to separate words #49

roycewilliams opened this issue Jan 29, 2016 · 5 comments

Comments

@roycewilliams
Copy link
Member

roycewilliams commented Jan 29, 2016

tl;dr:

Please allow specifying a separator and/or mask between words.

Details:

I've been thinking about ways to extend cracking functionality in the passphrase space. This is a bit rambly, but bear with me.

When PRINCE words are concatenated, some potentially useful information is lost: the word breaks. (You can sort of simulate this by supplying words with spaces at the end, but then you end up with an unnecessary trailing space.)

If PRINCE words were separated, then amplifying rules could someday be applied to individual words. Of course, that would require a way to do that. :) I was hoping to apply different rulesets to different words, as in:

c0rr3ct Horse! yrettab ssttaappllee

... but for more than just two words (so hashcat's --rule-left and --rule-right wouldn't be enough).

Something like this:

pp64 --separator=\[a space]

If there's a better way to do what I'm asking, I'd rather do that.

It might also be nice to be able to feed it a mask, as in

pp64 --separator=?d

... which would produce:

correct0horse0battery0staple
correct0horse0battery1staple

... etc., but that's just a random extra idea.

@roycewilliams
Copy link
Member Author

In the meantime, if word separators were supported, you could pipe the output of princeprocessor to another tool that applied a simple additional rule (like capitalizing each word).

@akhepcat
Copy link

I'll add my "yes" to royce's request, especially being able to use the mask separator!

(word)(?s)(word) would seem to be a pretty common pattern, and having to pre-compute onto disk just to get around rule restrictions is a pain.

@drzraf
Copy link

drzraf commented Nov 27, 2019

Same here: Since it's all about concatenation, separators should be treated first-class like in admin@home, foo:bar@baz, ...
From a quick look I'd say that concatenation actually happens there and adding separators selection (and increasing greatly the keyspace) wouldn't be trivial.

I'd thought that JtR (@magnumripper) implementation could provide some smart ruies expression like in $0, $1 to access individual PRINCE words during concatenation (or at least define the individual separators to use) but rules seem to be applied only after concatenation happened.

@mythofechelon
Copy link

Yes, this would be very useful.

@roycewilliams
Copy link
Member Author

Separator management is provided by the relatively new combinatorX, but it requires multiple copies of the same wordlist when the target length is more than two words. Also, I haven't benchmarked its speed vs princeprocessor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants