Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Mon, 23 Sep 2013 01:53:00 +0200
From: magnum <>
To: "" <>
Subject: Hashcat-style "ASCII increment/decrement" rules

I had a look at implementing what Hashcat describes like this:

Ascii increment	+N	Increment character @ N by 1 ascii value
Ascii decrement	-N	Decrement character @ N by 1 ascii value

The code for doing this is totally trivial but there are other caveats:

* The '+' is already used for concatenation of Single mode pairs.
* The '-' at the beginning of line will be parsed as an invalid rule-reject.

Despite this I managed to implement them like this: The '+' will only mean "increment ASCII" if we did not use a '1' or '2' command first. And if you want to place '-N' in the start of a line, you can prepend a no-op 'M' to protect it from being parsed as a rule-reject. But this was mostly for trying it out, I don't think this is satisfactory. If nothing else, I'd actually like to use this *with* Single mode pair words.

There's also the question how to handle an incremented \xFF. Hashcat will gladly increment it to a zero but this will be an actual \x00 possibly in the middle of the word, while JtR would truncate the word at that point. IMO we could just leave this as it happens to end up.

But back to the commands. What should we call them instead? We could say 'i' for increment and 'd' for decrement but both are already taken. As are '<' and '>'. I'm out of ideas.

I enclose the experimental patch (against bleeding-jumbo) in case someone wants to play with it or comment on some other problems it might add.


Download attachment "0001-Experimental-Add-Hashcat-style-N-and-N-commands-incr.patch" of type "application/octet-stream" (1767 bytes)

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.