Sabtu, 17 September 2011

0 SHA1 Cracking Utility

Date: Sabtu, 17 September 2011 20.30
Category:
Author: deny saputra
Share:
Responds: 0 Comment

#!/usr/bin/env bash
# SHA1 Cracker V1.0
# coded By 0x90 2009
# 0x90[at]bsdmail.org
# This small tool will bruteForce SHA1 hash
# tested on Fedora Linux
#
#    I do not take any reponsibilty for what you do with this tool 
#    Hopefully it will make your life easier rather then making other 
#    peoples lives more difficult!
##############################
#  ___        ___   ___  
# / _ \      / _ \ / _ \ 
#| | | |_  _| (_) | | | |
#| | | \ \/ /\__, | | | |
#| |_| |>  <   / /| |_| |
# \___//_/\_\ /_/  \___/ 
##############################  
 
echo ".:: SHA1 Cracker, Coded By 0x90 ::."
echo -n "Enter SHA1 Hash: "
read hash
if [ -z "$hash" ] || [ "${#hash}" != "40" ]; then
echo "Error: please Enter a valid SHA1 hash"
exit
 fi
echo
 
 
echo -n "Select BruteForce Method:
1: Random BruteForce
2: Dictionary BruteForce
Enter your choise 1 or 2: "
read choise
if [ -z "$choise" ] || [ "$choise" != "1" ] && [ "$choise" != "2" ]; then
echo "Error: please choise between 1 or 2"
exit 1
 fi
#########################
# Random BruteForce
#########################
 
if [ "$choise" == "1" ]; then
echo "use Random method to crack"
echo "trying to bruteforce SHA1 hash ..."
 
echo -n "enter min lengh: "
read minlen
echo -n "enter max lengh: "
read maxlen
 
echo -n "Select bruteForce mode:
all, alnum, lower, upper, digit, alpha, symbols
> "
read mode
 
if [ "$mode" = "all" ]; then
char="a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 ! # \$ % & \' ( ) \* + , - . / : ; & < = > ? @ [ \\ ] ^ _ { | } ~"
 fi
if [ "$mode" = "alnum" ]; then
char="a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9"
 fi
if [ "$mode" = "alpha" ]; then
char="a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9"
 fi
if [ "$mode" = "lower" ]; then
char="a b c d e f g h i j k l m n o p q r s t u v w x y z"
 fi
if [ "$mode" = "upper" ]; then
char="A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
 fi
if [ "$mode" = "digit" ]; then
char="0 1 2 3 4 5 6 7 8 9"
 fi
if [ "$mode" = "symbols" ]; then
char="! # \$ % & \' ( ) \* + , - . / : ; & < = > ? @ [ \\ ] ^ _ { | } ~"
        fi
 
 
bf(){
        for c in $char ; do
 
                nc=$[$nc+1]
                ch[$nc]=$c
        done
        for x in `seq 1 $[$maxlen+1]` ; do
 
                if [ $minlen -ge $x ] ; then
                        ci[$x]=1
                else
                        ci[$x]=0
                fi
        done
        for clen in `seq $minlen $maxlen` ; do
 
                while [ ${ci[$[$clen+1]]} -ne 1 ] ; do
                        wrd=""
                        for x in `seq $clen -1 1` ; do
                                wrd=$wrd${ch[${ci[$x]}]}
                        done
 
 
sha1_hash=`echo -n "$wrd" | sha1sum | awk '{ print $1 }'`
 
 
echo "$wrd: hash: $sha1_hash"
if [ "$sha1_hash" == "$hash" ]; then
echo
echo "Cracked, SHA1 password is: $wrd"
 exit 0
 fi
                        ci[1]=$[${ci[1]}+1]
                        for x in `seq 1 $clen`; do
                                if [ ${ci[$x]} -gt $nc ] ; then
                                        ci[$x]=1
                                        ci[$[$x+1]]=$[${ci[$[$x+1]]}+1]
                                fi
                        done
                done
        done
}
 
bf
 
 
 
fi
#########################
# Dictionary BruteForce
#########################
# Cain&Abel wordlist http://www.md5this.com/Wordlist.zip
# dont forget to convert the wordlist to Unix file format
# dos2unix Wordlist.txt
if [ "$choise" == "2" ]; then
echo "use dictionary method to crack"
echo -n "Enter dictionary name: "
read dic
echo "trying to bruteforce SHA1 hash ..."
 
n=`cat $dic | wc -l`
 
echo "we have $n password to try"
for (( i=1; i <= $n; i++));
 do
pass=`sed -n "$i"p $dic`
sha1_hash=`echo -n "$pass" | sha1sum | awk '{ print $1 }'`
 
echo "$i: hash: $sha1_hash"
 
if [ "$sha1_hash" == "$hash" ]; then
echo
echo "Cracked, SHA1 password is: $pass"
 exit 0
 fi
 done
fi
 exit

Artikel Terkait :



Posting Komentar