Help - Search - Members - Calendar
Full Version: Md5Hunter
SweRAT > Datasäkerhet > Projekt och Releaser
groil
Hej alla!

Det har släppts en hel del databaser på senaste tiden och på grund av att det är jobbigt att plocka ut alla Md5hashar manuellt så bestämde jag mig för att koda ett program som gör det åt mig.

Den tuggar igenom ca 130mb på två minuter.
En fil på 1,6mb på 0,3sekunder.

Så hur använder man den?

CODE
Md5Hunter.exe fil-med-hashar.txt > fil-där-md5'orna-ska-hamna.txt


rar-filen innehåller kompilerad exe samt källkod.
http://www.speedyshare.com/254278327.html

Kom inte på någon bättre namn :/.
kritik och kommentarer välkomna. Detta är det första jag släpper så försök vara snälla wink.gif
omax
CODE
$ wine Md5Hunter.exe hashar.txt > ut.txt
$ cat ut.txt
32441db7089e6c73aa4b52103c2755f6
6f7589ea4eada362e870821453029794
b2b94cb6107a612b6b71b3ad957efc09
2f91bc77da61ab1fc590acc62c5e5f64
4a72f2f11de0815abf05484591542704
05869689558a3cbb9f808db2877b16ca
           Coded by groil$


Fungerar i wine
swestres
Som en jämförelse:
CODE
$ ls -lah md5.txt
-rw-r--r-- 1 scmc scmc 125M 22 Jan 08.13 md5.txt
$ head md5.txt
32441db7089e6c73aa4b52103c2755f6
6f7589ea4eada362e870821453029794
b2b94cb6107a612b6b71b3ad957efc09
2f91bc77da61ab1fc590acc62c5e5f64
4a72f2f11de0815abf05484591542704
05869689558a3cbb9f808db2877b16ca32441db7089e6c73aa4b52103c2755f6
6f7589ea4eada362e870821453029794
b2b94cb6107a612b6b71b3ad957efc09
2f91bc77da61ab1fc590acc62c5e5f64
4a72f2f11de0815abf05484591542704
$ time perl -ne 'print "$1\n" if /([A-Fa-f0-9]{32})/' md5.txt
[massa text]
real    1m49.359s
user    0m16.526s
sys     0m10.910s

Vet inte riktigt hur jämförbart det är, med tanke på att ovanstående regexp bara hittar en summa/rad.
groil
QUOTE(swestres @ 2008-01-22 08:12) *
Som en jämförelse:
CODE
*TEXT*

Vet inte riktigt hur jämförbart det är, med tanke på att ovanstående regexp bara hittar en summa/rad.


Min plockar fler än en på varje rad. Testade med 6 per rad nu och det funkar utmärkt.
swestres
I Perls RE så är det bara att lägga till en växel (g) för att den ska kunna matcha flera per rad. Jag trodde inte det spelade någon roll.
CODE
$_ = "4a72f2f11de0815abf0548459154270405869689558a3cbb9f808db2877b16ca6f7589ea4ead
362e870821453029794";
while (/([A-Fa-f0-9]{32})/g) {
    print "$1\n";
}
[ctrl+d här]
4a72f2f11de0815abf05484591542704
05869689558a3cbb9f808db2877b16ca
6f7589ea4eada362e870821453029794


Det konstiga är, när jag testa det mot samma fil som tidigare fick jag följande från time:
CODE
real    1m18.858s
user    0m15.591s
sys     0m10.914s


EDIT: code-taggarna här på forumet hakkar min hashsträng av någon outgrundlig anledning, ett 'a' bytas ut mot en newline :S

EDIT2: Sen tror jag inte jag hade fått samma resultat om jag hade kört det på min 90 MHz Pentium.
groil
QUOTE(swestres @ 2008-01-22 09:02) *
*TEXT*

EDIT2: Sen tror jag inte jag hade fått samma resultat om jag hade kört det på min 90 MHz Pentium.



Tiden är från min 2,4ghz, och anledningen till att jag nämnde tiden det tog var så att folk kunde få en ca uppfattning om tiden.
Plus att jag satt på en i php innan som tok typ 10 min för en 1,6mb fil.


EDIT: Missade att jag hade installerat Boost. Så det bästa är nog att dra ner hela boost, www.boost.org för att kompilera.
swestres
Nu har jag kompilerat och testat själv för att få en rättvis jämförelse. Utan optimeringsflaggor så gick Md5Hunter 4 sek snabbare än Perlexemplet för följande fil (samma som tidigare):
CODE
-rw-r--r-- 1 scmc scmc 130727936 22 Jan 08.13 /home/scmc/md5.txt


Med -O3 -s -fomit-frame-pointer (vilket kan översättas till enbart -O3 egentligen) så fick jag följande resultat:
CODE
real    0m27.883s
user    0m9.722s
sys     0m4.167s

Och det var ju lite bättre smile.gif

Du bör dock se över hur du matchar MD5 strängar. Som det är nu tar du alla strängar som separeras av vissa givna tecken, men du verifierar inte att strängen är en giltig ascii-hex sträng. t.ex:
CODE
$ perl -e 'print "ö"x32', "\n" >wie.txt
$ ./md5h wie.txt
öööööööööööööööööööööööööööööööö

I verkliga livet kan det vara en /home/* dir eller liknande.
groil
Jag funderade på det också.

Så jag körde programmet mot ett gäng olika databaser och kom fram till att risken att en sträng som inte inehåller:
' :,.-|@* Notera att den sista är en <tab> på 32 tecken inte är särskilt stor.


EDIT: Fick tydligen inte ha <tab> efter * men ni vet att den är där wink.gif
Rude
Hehe nice groil wink.gif
afx
Sjysst program groil. tackar=)
kalle93
kan du ladda upp den igen? smile.gif filen har blivit borttagen sad.gif
groil
QUOTE(kalle93 @ 2008-02-22 09:47) *
kan du ladda upp den igen? smile.gif filen har blivit borttagen sad.gif



http://www.speedyshare.com/183459532.html

Denna gången blev det bara en exe något modifierad från den första.
Denna versionen borde funka bättre, då den i stort sätt bara tar a-f 0-9.
Tack till swestres.
Källkoden kan också laddas upp om någon är sugen.
kalle93
Tack Groil! wub.gif
Seduct
Verkar inte fungera i vista
groil
QUOTE(Seduct @ 2008-02-29 11:50) *
Verkar inte fungera i vista



Där ser man... Har faktiskt ingen aning om varför den inte funkar, om det har med boost eller min kod att göra.
Ska kolla om jag kan klura ut vad som är fel.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.