Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 23 Mar 2011 02:07:41 +0100
From: magnum <>
Subject: Re: single mode

On 2011-03-22 23:35, Solar Designer wrote:
> On Tue, Mar 22, 2011 at 08:25:16PM +0100, magnum wrote:
>> * All words from the GECOS field that starts with a letter and consists
>> of alphanumeric only (anything else is scrapped)
> Not exactly.  loader.c uses these separator characters:
> /*
>   * Word separator characters for ldr_split_words(), used on GECOS fields.
>   */
> #define issep \
> 	"!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\177"

Those plus the space. The difference in practice is a thing I neglected: 
It does support any "high" (8-bit) characters in the words, inherently 
including any UTF-8 encoded non-ascii.

> And then there's this check in single.c:
> 		c = (unsigned int)first->data[0] | 0x20;
> 		if (c < 'a' || c > 'z') continue;

I don't understand the surronding code fully. My previous statement was 
false: A word *can* start with a digit but a word consisting of just 
digits will not be paired. Is that what the above line is about? Then 
how come a word with no 7-bit chars will be used, *and* paired? I know I 
can crack foreign passwords completely lacking ascii, with single user 
mode and the test words put in the GECOS field.

>> However, only the first four words are allowed as the first half of a
>> pair. If there are five words, the fifth will only ever be the second
>> half of a pair.
> Not exactly.  The fifth (and on) won't be "paired" at all.  Here's what
> happens (excluding combinations with the username, home directory name,
> and initials):

Ah, I counted the username as the first word and I only tested it up to 
five words (of which four from gecos) so I missed that.


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.