encrypting lines from file with md5 module doesn't work?

C

Canned

Hi,
I need some help with my script. I hope someone can show me the right
direction or at least explain to me what did I wrong?

I write a small script that read lines from plain text file and encrypt
each lines using md5 module. I have a small word list that contain 2000+
words, 1 word/line. Using the code below, I can save the output to
another file to use it with john the ripper (http://www.openwall.com).

Here is the part that annoys me, john recognize the output as des and
not as md5. Using the original wordlist, I tried to crack the list but
nothing has come up after waiting for almost 9 hours. Can someone please
tell me what did I wrong? Why john don't recognize the output as md5?
I'm using python 2.5.1 and I'm python noob and also don't have any
knowledge about encryption.

----------------code------------------------
import sys, md5

f = open(sys.argv[1])
obj = md5.new()

for line in f:
if line[-1:] == '\n':
text = line[:-1]
obj.update(text),
print text + ':' + obj.hexdigest()

f.close()


---------------result-----------------------
000000:670b14728ad9902aecba32e22fa4f6bd
00000000:c47532bbb1e2883c902071591ae1ec9b
111111:bf874003f752e86e6d6ba6d6df1f24a2
11111111:65a89de3000110bf37bcafdbd33df55a
121212:38a8eeb4dfb0f86aefea908365817c15
123123:f226a65a908909b83aed92661897d0c9


Thanks in advance
 
M

MRAB

Canned said:
Hi,
I need some help with my script. I hope someone can show me the right
direction or at least explain to me what did I wrong?

I write a small script that read lines from plain text file and encrypt
each lines using md5 module. I have a small word list that contain 2000+
words, 1 word/line. Using the code below, I can save the output to
another file to use it with john the ripper (http://www.openwall.com).
[snip]
MD5 is a type of checksum, not a method of encryption.
 
C

Canned

MRAB schreef:
Canned said:
Hi,
I need some help with my script. I hope someone can show me the right
direction or at least explain to me what did I wrong?

I write a small script that read lines from plain text file and encrypt
each lines using md5 module. I have a small word list that contain 2000+
words, 1 word/line. Using the code below, I can save the output to
another file to use it with john the ripper (http://www.openwall.com).
[snip]
MD5 is a type of checksum, not a method of encryption.

I found this from google: http://tinyurl.com/4ow2q4
Using that, I changed my script and it seems that it works well. John
recognize it as md5.

It also raise another question. John can crack my password from
/etc/shadow in less than a second, but if I write it down in a file and
using the code below to encrypt the password, john would took really
long time to crack the password.

I've tried several different password using passwd command and my code
to generate md5 hash, but it seems that john really having trouble with
hashes generated with my code as the hashes generated with passwd being
cracked in a matter of second.
Is there something wrong with the code? Am I missing something?

-----------------code-------------------------
#!/usr/bin/env python

import sys
import md5encrypt # from http://tinyurl.com/4ow2q4

f = open(sys.argv[1])

for line in f:
if line[-1:] == '\n':
text = line[:-1]
print text + ':' + md5encrypt.md5crypt(text,
md5encrypt.generate_salt(5))

f.close()

---------------password.txt--------------------
000000
00000000
111111
11111111
121212
123123


-------------result.txt-----------------
000000:$1$<rVpM$5cYcnJv6qY3AXKiJXKwh4/
00000000:$1$vg^@W$EqAu1mLK6UXogFgkMuf3i1
111111:$1$TVq;y$87mqQPcKXlnj6Ap.1rFgH0
11111111:$1$.iPHo$dLNmzzv5BXBFTn8FqCmog.
121212:$1$`]iS!$L3uSDmn17PGhZ.k275WZj0
123123:$1$}g5"m$OwzfVzg0CMEhNX271K.yp0
 
C

Canned

Nick Craig-Wood schreef:
Canned said:
I write a small script that read lines from plain text file and encrypt
each lines using md5 module. I have a small word list that contain 2000+
words, 1 word/line. Using the code below, I can save the output to
another file to use it with john the ripper (http://www.openwall.com).

Here is the part that annoys me, john recognize the output as des and
not as md5. Using the original wordlist, I tried to crack the list but
nothing has come up after waiting for almost 9 hours. Can someone please
tell me what did I wrong? Why john don't recognize the output as md5?
I'm using python 2.5.1 and I'm python noob and also don't have any
knowledge about encryption.

import sys, md5

f = open(sys.argv[1])
obj = md5.new()

for line in f:
if line[-1:] == '\n':
text = line[:-1]
obj.update(text),
print text + ':' + obj.hexdigest()

f.close()


000000:670b14728ad9902aecba32e22fa4f6bd
00000000:c47532bbb1e2883c902071591ae1ec9b
111111:bf874003f752e86e6d6ba6d6df1f24a2
11111111:65a89de3000110bf37bcafdbd33df55a
121212:38a8eeb4dfb0f86aefea908365817c15
123123:f226a65a908909b83aed92661897d0c9

john cracks password files if I remember rightly.

md5 encoded password files don't look like that, they look like this

guest:$1$3nvOlOaw$vRWaitT8Ne4sMjf9NOrVZ.:13071:0:99999:7:::

(not a real password line!)

You need to work out how to write that format.
Yes, I'm aware of that format and john only need the first 2 fields to
work with, and the rest, AFAIK is ignored.

So the format from my example should be:
000000:$1$670b14728ad9902aecba32e22fa4f6bd
From memory: the "$1" bit means it is an md5 hash, the next
"$3nvOlOaw$" is the salt and the final "$vRWaitT8Ne4sMjf9NOrVZ." is
the md5 hash in some encoded format or other! Some googling should
reveal the correct algorithm!

Googling around, I found a piece of code that could do that.
http://tinyurl.com/4ow2q4. Please read my another post about that. I'm
not python expert and I have a little knowledge about encryption.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,754
Messages
2,569,521
Members
44,995
Latest member
PinupduzSap

Latest Threads

Top