LE FORUM DU SITE
Wifi, Backtrack, crack WEP et WPA...
Vous n'êtes pas identifié(e).
Bien le bonjour a tous !
Dans un cadre éducatif, j'aimerais connaitre les bases afin de retravailler un dictionaire afin qu'il corresponde au mieux au protocol hash WPA.
Voici le sénario,
J'ai actuellement un dictionaire contenant des mot de passes allant de 1 a 70 char,
de plus, il y a des accents
et a chaque fin de ligne j'ai "^M" qui c'est ajouté sans les "".
J'ai pu lire qu'il y avait 2 commandes , qui aide déja a re-travailler ce fichier dictionaire,
Pour diminuer le nombre de char
cat Mega-dico.txt | pw-inspector -m 8 -M 63 > Mega-dico-wpa.txt
et
cat Mega-dico-wpa.txt | sort | uniq > Mega-dico-wpa-final.txt
Pour supprimer les doublons,
Maintenant,
Comment retirer le string ^M a la fin de chaque ligne ? et comment retirer les lignes contenant un accent ?
En vous remerciant !
Hors Ligne
Bonjour
Merci à toi pour ton thème: Ça fait plaisir de parler un peu de bash au iieu de fluxion.
Comment retirer le string ^M a la fin de chaque ligne ?
La "string ^M" en fin de chaque ligne est un problème de format DOS (windows) vs UNIX (Linux-mac)
Tu peux utiliser la commande dos2unix pour "convertir ton fichier" (et quitter les ^M)
dos2unix <fichier>
Si tu veux garder la version DOS
dos2unix -n <fichier(entrée)> <fichier(sortie)>
En entrée tu as le dico original pour windows et en sortie tu crée un nouveau fichier dictionnaire pour linux
et comment retirer les lignes contenant un accent ?
Tu peux utiliser l'ordre grep (manipulations par expressions régulières) avec l'option "invert match"
-v, --invert-match sélectionner les lignes sans correspondance
grep -i -v "à âäéèêëîïôöùûüÿ" Mega-dico-wpa-final.txt > Ultra-Mega-dico-wpa-final.txt
L'option -i c'est pour chopper les majuscules et les minuscules ("case insensitive")
La logique c'est que grep n'affichera pas (invert match) les lignes contenant le jeu de caractères qui est passé en argument ("expression régulière")
Je suis parti du principe que ton dictionnaire était en français et j'ai donc mit les 15 combinaisons lettres+accents officiellement acceptées par Bernard Pivot. Je ne sais pas quel mot en français contient " un i grec avec un tréma" mais ça existe.
Ce n'est peut être pas ce que tu cherches à faire.
@ + et bienvenue sur le fofo
Hors Ligne
fluxion ? fluxion ? fluxion ?
Mais ou est fluxion ?
Hors Ligne
Merci infiniment kcdtv !
Tu vient de me donner un sacré coup de pouce !
Hors Ligne
Salut, je revient vers toi car j'ai un soucis avec la commande GREP.
Actuellement je travaille avec des fichier de 15-30GO
Concernant la commande sort, tout va bien, j'ai simplement définit avec l'attibue -t un chemin pour les fichier TMP.
Chose que je ne peut pas faire avec grep, et j'ai l'impression que le soucis vient de la..
Quand j'utilise
* asic.txt contien les caractere que je veut GARDER
grep -f ASIC.txt MonDico > NewDico
De meme si j'utilise CAT
cat MonDico | grep -f ASIC.txt > NewDico
Dans les deux cas, la commande est...TRES longue, et le fichier arrive vide.
Merci d'avance
Hors Ligne
Oups... je suis allé un peu vite en besogne.... erreur de ma part désolé... J'aurais du faire un test avec un fichier bidon de mon côté avant de poster ma réponse...
La syntaxe correcte est la suivante
grep -i -v -E "à |â|ä|é|è|ê|ë|î|ï|ô|ö|ù|û|ü|ÿ" Mega-dico-wpa-final.txt > Ultra-Mega-dico-wpa-final.txt
Il faut employer l'option -E pour pouvoir utiliser l’opérateur "or" et interpréter chaque élément de la chaìne comme un expression régulière,
Ce que tu veux faire c'est que grep sélectionne les mots qui possède un é, ou bien un è. ou bien un ê, ou bien etc...
Avec la syntaxe que j'avais mit avant, grep sélectionne les mots qui contiennent littéralement la chaîne "à âäéèêëîïôöùûüÿ" et ne va rien sélectionner du tout.
Après il vaut mieux que tu procèdes de la façon de la suivante:
Lance premièrement la commande sans rediriger la sortie de la console (STDOUT) vers un fichier (la partie " > monfichier " en fin comande)
Arrête le processus avec <ctrl+C> et jette un coup d’œil à ce que tu as en console pour vérifier que le travail se fait correctement.
15GB c'est beaucoup: C'est normal que ça tarde et il vaut mieux s'assurer du fait que tu vas bien faire la dépuration souhaitée.
Il faut être précis (je m'adresse à moi même ) et une erreur peut vite arriver (n'est ce pas?
)
Petite précision: Ce n'est pas la peine d’utiliser cat dans ta seconde ligne
C'est même "contre-productif": Chaque pipe signifie une baisse du rendement en exécution.
Tu eux obtenir le même résultat avec:
grep -E -i -v -f ASIC.txt MonDico > NewDico
En ayant ta lise rédigée avec le symbole "|" entre chaque caractère.
ex:
à |â|ä|é|è|ê|ë|î|ï|ô|ö|ù|û|ü|ÿ
@ +, tiens nous au jus
Dernière modification par kcdtv (04-04-2018 13:03:40)
Hors Ligne
Re !
Merci de prendre le temps de m'expliquer , en effet dans le man de grep on apprend :
-E Interprète le motif comme une expression régulière
étendue (voir plus bas).
On apprend aussi, chose très importante pour la suite :
Tout méta-caractère ayant une signification
spéciale doit être protégé en le faisant précéder d'un
BackSlash.
Cause du second soucis que j'ai rencontré, en effet, le cryptage WPA accepte tout les charactere ASSI, il y en a beaucoup utilisé comme Métacharactere,
Donc, je me suis tourné vers :
Finalement il existe certaines classes de caractères
prédéfinies. Leurs noms sont assez explicites :
[:alnum:], [:alpha:], [:cntrl:], [:digit:] (chiffres),
[:graph:], [:lower:] (minuscules), [:print:] (affichÂ
ables), [:punct:], [:space:], [:upper:] (majuscules), et
[:xdigit:] (chiffres héxadécimaux).
Aprés quelques recherche, je suis arrivé a trouvé le templates :
https://www.gnu.org/software/grep/manual/html_node/Character-Classes-and-Bracket-Expressions.html
Apres quelques essait, j'ai constaté un soucis,
grep -E "[0-9]|[A-Z]|[a-z]|[[:punct:]]" Mondico
Il va retourné toutes les lignes qui retourne vraie,
ex la ligne suivante ne peut pas etre contenu dans un pass WPA
´Ã•œì–‘진경´⑧…송ÃŒŒì§„AE
Cependant, grep retourne toute les ligne qui contienne [0-9A-Za-z] + [:punct:],
Je suis en train de reflechir a une solution....
Peut etre un script bash..Qui va sauvegarder la ligne entière dans une variable, si la ligne contiens un CHAR non ASCII alors il supprime la ligne et passe a la suivante, si non, il passe a la suivante.
Dernière modification par Evaexe117 (03-04-2018 21:15:58)
Hors Ligne
Apres un peut de travail,
Voici un script qui :
Test si la ligne est entre 8 et 63 char, et si elle comprend les char valable dans une clef WPA
#! /bin/bash
while read line
do
if [ ${#line} -gt 7 ] && [ ${#line} -lt 64 ] ; then
if [[ "$line" =~ [^[\ -~A-Za-z0-9]+ ]] ; then
continue
else
echo $line
fi
fi
done < MonCheminVersMonDico
Dernière modification par Evaexe117 (04-04-2018 00:12:46)
Hors Ligne
Bien joué!
Dernière modification par kcdtv (04-04-2018 13:24:54)
Hors Ligne
Discussion | Réponses | Vues | Dernier message |
---|---|---|---|
4 | 330 | 15-04-2018 10:37:00 par Henri | |
besoin d'aide pour alfa awus par HICH44
|
3 | 614 | 19-03-2018 12:22:21 par HICH44 |
|
46 | 30595 | 16-02-2018 08:55:10 par Henri |
2 | 423 | 15-02-2018 10:31:52 par kcdtv | |
11 | 992 | 10-02-2018 22:43:36 par sub |