Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/07/2020, à 16:42

swiftapp

Problème de script bash

Bonjour mon erreur est surement bête tongue , mais voilà:
lorsque je lance mon script bash il fonctionne mais j'ai une erreur, voilà ce que j'ai dans la console:

=============== Force Atack ===============

Entrez le hash à cracker (Tapez entrer pour annulé): testok
/home/nantsa63/Documents/script/Security/script/ForceAtack: ligne 4: testok : commande introuvable

Result: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -

et voilà le code complet:

#!/bin/bash

function compare_hash {
	result=$("$1" | sha256sum)
	echo 
	echo "Result: "$result
	sleep 4
}

clear
echo "=============== Force Atack ==============="
echo 
echo -n "Entrez le hash à cracker (Tapez entrer pour annulé): "
read my_hash

compare_hash $my_hash "testok"

Je ne comprend pas comment enlever l'erreur de la ligne 4 vue que le code fonctionne.
Merci d’avance pour votre aide ! smile


PC fix with AMD Ryzen 7 2700x, 16 Go RAM and NVIDIA RTX 2060, System is KDE Neon 5.25
My GitHub: https://github.com/Swiftapp-hub

Hors ligne

#2 Le 27/07/2020, à 16:53

pingouinux

Re : Problème de script bash

Bonjour,
Est-ce ceci que tu veux ?

#!/bin/bash

function compare_hash {
        result=$(sha256sum <<<"$1") # Ligne modifiée
        echo 
        echo "Result: "$result
        sleep 4
}

clear
echo "=============== Force Atack ==============="
echo 
echo -n "Entrez le hash à cracker (Tapez entrer pour annulé): "
read my_hash

compare_hash "$my_hash" "testok"    # Ligne modifiée

De plus, le second argument de compare_hash n'est pas utilisé.

Hors ligne

#3 Le 27/07/2020, à 16:59

Watael

Re : Problème de script bash

salut,

deux choses :
- il faut toujours mettre le Développement de paramètres entre guillemets. TOUJOURS (à moins de savoir pourquoi.). smile
en l'occurrence, si la variable est vide, le shell, parce qu'il n'y a pas de guillemets, ne détectera pas qu'il devrait y avoir quelque chose.
et, donc, pour la fonction, le premier paramètre est testok
- d'autre part, un hash est une donnée; elle ne peut pas se piper toute seule à sha2565sum !


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#4 Le 27/07/2020, à 17:04

swiftapp

Re : Problème de script bash

pingouinux a écrit :

Est-ce ceci que tu veux ?

Ooooooooui, ça marche !!! big_smile
Merci pour ta réponse rapide !

pingouinux a écrit :

De plus, le second argument de compare_hash n'est pas utilisé.

Je sais, mais je n'ai pas fini mon script. wink


PC fix with AMD Ryzen 7 2700x, 16 Go RAM and NVIDIA RTX 2060, System is KDE Neon 5.25
My GitHub: https://github.com/Swiftapp-hub

Hors ligne

#5 Le 27/07/2020, à 17:06

swiftapp

Re : Problème de script bash

Watael a écrit :

d'autre part, un hash est une donnée; elle ne peut pas se piper toute seule à sha2565sum !

Je ne comprend pas? hmm


PC fix with AMD Ryzen 7 2700x, 16 Go RAM and NVIDIA RTX 2060, System is KDE Neon 5.25
My GitHub: https://github.com/Swiftapp-hub

Hors ligne

#6 Le 27/07/2020, à 17:20

Watael

Re : Problème de script bash

une donnée ne peut pas se passer toute seule à une commande via un pipe.

soit une donnée "foo", et une commande "cmd".

"foo" | cmd

ne peut pas fonctionner, parce qu'un pipe connecte la sortie standard d'une commande à l'entrée standard d'une autre commande.
Or, une donnée n'est pas une commande.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#7 Le 28/07/2020, à 14:11

swiftapp

Re : Problème de script bash

Ah, ok j'ai compris, merci ! smile

Juste, je suis entrain de créer un cracker de mots de passe (Ce n'est pas pour faire du hack, mais juste pour m'amuser tongue ), j'ai fais ce code mais je ne sais pas si vous pensez qu'on peut l'optimiser ?

function brute_force {
        tab=("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")
	echo
	echo -n "Pass 1"
	for a in ${!tab[@]}; do
		for b in ${!tab[@]}; do
			z=${tab[a]}${tab[b]}
			for c in ${!tab[@]}; do
				for d in ${!tab[@]}; do
					compare_hash "$1" "$z${tab[c]}${tab[d]}"
				done
			done
			echo -n "."
		done
	done
}
function compare_hash {
    if [ "$1$var" == "$(md5sum <<<"$2")" ]; then
    	echo
    	echo
    	echo "======================== Fin du crack (Réussi) ========================"
    	echo " Le code pour "$1" est: ""$2"
    	echo -n " Tapez entrer pour continuer..."
    	read
    	exit
    fi
}

La function brute_force teste toute les possibilités de mots de passe, mais, niveau vitesse je pense qu'il y a mieux! wink
Merci de votre aide !!!

Dernière modification par swiftapp (Le 28/07/2020, à 14:11)


PC fix with AMD Ryzen 7 2700x, 16 Go RAM and NVIDIA RTX 2060, System is KDE Neon 5.25
My GitHub: https://github.com/Swiftapp-hub

Hors ligne

#8 Le 28/07/2020, à 20:39

Watael

Re : Problème de script bash

mais pourquoi passes-tu par les indices du tableau ?

brute_force()
{
   local hash=$1
   for x in "${ar[@]}"; do for y in "${ar[@]}"; do for z in "${ar[@]}"; do compare_hash "$hash" "$x$y$z"; done; done; done
}

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne