Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Thu, 24 Jan 2013 16:20:58 +0100
From: Frank Dittrich <frank_dittrich@...mail.com>
To: john-dev@...ts.openwall.com
Subject: Formats ssh and ssh-ng

I think ssh and/or ssh-ng formats need at least some documentation, but
preferably even some code changes.


To understand the differences between ssh and ssh-ng formats, I did

https://github.com/search?p=6&q=path%3A.ssh%2Fid_rsa

(Here is where I got the idea: http://blog.fefe.de/?ts=affff7e4)

Then I picked the first file:

https://raw.github.com/shennjia/think/250386366e8dadc7591c1e1f3475fb3374008783/.ssh/id_rsa


Then I did:

$ ./ssh2john id_rsa > ssh-test
and
$ ./sshng2john.py id_rsa > sshng-test

(BTW: I had to install python-crypto on Fedora 18 to make the script work.)

$ ./john ssh-test --incremental
Loaded 1 password hash (SSH RSA/DSA [32/64])
guesses: 0  time: 0:00:00:13 0.00%  c/s: 7871  trying: suppichi
guesses: 0  time: 0:00:00:29 0.00%  c/s: 8101  trying: baby47
Session aborted

$ ./john sshng-test --incremental
Loaded 1 password hash (ssh-ng SSH RSA / DSA [32/64])
guesses: 0  time: 0:00:00:14 0.00%  c/s: 105098  trying: jc6475
guesses: 0  time: 0:00:00:27 0.00%  c/s: 108047  trying: ccsdbn
Session aborted

Apparently, both formats are able to crack the same input file after
converting it using the right tool.
But ssh-ng is much faster.


Why does ssh-ng have the "False positives possible" flag set?
If ssh can avoid false positives, ssh-ng should be able to avoid false
positives as well, no?


This:
$ ls -l ssh*test
-rw-rw-r--. 1 fd fd 2425 Jan 24 15:51 sshng-test
-rw-rw-r--. 1 fd fd 3505 Jan 24 15:51 ssh-test
doesn't look like ssh2john is extracting less information from the
keyfile than sshng2john is.
So, shouldn't ssh-ng be able to "understand" and convert $ssh2$ hashes?
What about ssh understanding the $sshng$ hashes?


Why do we even need two different tags?
Why different format names?
Can't ssh-ng report "SSH RSA / DSA" instead of "ssh-ng SSH RSA / DSA"?
This would allow to pick the fastest of several benchmarks for
performance comparison in relbench.
(Of course, the format name should only be changed if both formats
understand the same canonical hash representation and if ssh-ng doesn't
produce false positives.)

What am I missing here?


Frank

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ