Difference between revisions of "Cluster 1/md5 Attack"

From Teknologisk videncenter
Jump to: navigation, search
m (Rettelse til opgaven)
m (Eksempel på anvendelse)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
=Opgave=
 
=Opgave=
Vi ved en person anvender fire små bogstaver som password, og vi har fået fat i personens [http://manpages.ubuntu.com/manpages/lucid/man1/md5sum.1.html md5sum] hash som er '''a18bee8175370d96620768d5f9827535'''
+
Vi ved en person anvender fire små bogstaver som password, og vi har fået fat i personens [http://manpages.ubuntu.com/manpages/lucid/man1/md5sum.1.html md5sum] hash som er '''f2a0ffe83ec8d44f2be4b624b0f47dde'''
  
 
Hvad er personens password????
 
Hvad er personens password????
 
==Rettelse til opgaven==
 
Jacob Kratmann Nielsen fandt ud af der i opgaven var inkluderet et '''newline''' således at ovenstående '''md5sum''' var lavet med fire bogstaver samt et '''newline''' tegn.
 
 
 
:Opgaven var lavet med
 
<source lang=bash>
 
clusterh# echo "abcb" | md5sum
 
</source>
 
 
:Skulle rettelig være lavet med
 
<source lang=bash>
 
clusterh# echo -en "abcb" | md5sum
 
</source>
 
hvorved md5sum'en ville være '''9a6382e80d84e696bc9acfc20a50adff'''
 
 
::Jacob får c'føli en præmie da han viste mig koden før den blev løst.
 
  
 
=Password generator=
 
=Password generator=
Line 28: Line 11:
 
while A=`./bfcp $A`
 
while A=`./bfcp $A`
 
do  
 
do  
   echo -e "$A"
+
   echo -ne "$A"
 
done
 
done
 
</source>
 
</source>

Latest revision as of 10:16, 1 June 2011

Opgave

Vi ved en person anvender fire små bogstaver som password, og vi har fået fat i personens md5sum hash som er f2a0ffe83ec8d44f2be4b624b0f47dde

Hvad er personens password????

Password generator

Start programmet med bfpc aaaa og programmet vil skrive aaab start med aaab til aaac ....... zzzz

Eksempel på anvendelse

A="aaaa"
while A=`./bfcp $A`
do 
  echo -ne "$A"
done

bfcp.c source

#include <string.h>
#include <stdio.h>
//bfcp - Brute Force Password Cracker

int main(int argc, char *argv[]) {
        int i,len;
        if (argc != 2) {
                fprintf(stderr,"Argument expected\n");
                return(1);
        }
        len =  (int) strlen(argv[1]);

        for (i=len-1; i >= 0 ; i--) {
                if (argv[1][i] != 'z') {
                        argv[1][i]++;
                        printf("%s\n",argv[1]);
                        return(0);
                } else {
                        argv[1][i]='a';
                }
        }
        //All passwords tryed
        return(1);
}

Script node skelet

heth@clusterh:~$ <notice>cat /home/heth/bin/sjov</notice>
#!/bin/bash
HOST=`hostname|cut -d: -f1 | cut -c5`

if test $HOST -eq 5
then
  echo "Jeg fandt koden sgu jeg er host $HOST"
fi
echo "I'm on node $HOST"

heth@clusterh:~$ <notice>sudo RunOnClients.sh /home/heth/bin/sjov</notice>
Node5: Jeg fandt koden sgu jeg er host 5
Node5: I'm on node 5
Node4: I'm on node 4
Node2: I'm on node 2
Node6: I'm on node 6
Node1: I'm on node 1
Node8: I'm on node 8
Node9: I'm on node 9
Node7: I'm on node 7
Node3: I'm on node 3
heth@clusterh:~$