En archivos cifrados de forma simétrica (con una contraseña) en gpg podemos proceder a su desfrizado diréctamente poniendo:
gpg DocumentoCifrado.gpg
Pero si no conocemos/recordamos la clave, podemos automatizar un proceso de pruebas para que intente pasar todas las claves contenidas en un diccionario sobre el archivo cifrado, y con un poco de suerte, recuperar la clave. Para hacer todo este proceso automático, comparto con vosotros el script para Bash que he creado:
#!/bin/bash #Dictionary attack to gpg encrypted file #Color definition colorbase="\E[0m" rojo="\033[1;31m" verdefluo="\033[1;32m" naranja="\033[0;33m" #User variables. You must change DICT and FILE variables DICT="/pentest/passwords/wordlists/rockyou.txt" FILE="prueba.txt.gpg" #Program variables. DO NOT TOUCH TOTAL=$(wc -l < $DICT) CONT="1" PERCENT="0" #Loop to probe all the words in dictionary against the gpg encrypted file for word in $(cat $DICT) do echo "$word" | gpg --batch --passphrase-fd 0 --decrypt-files $FILE if [ "$?" == "0" ] then clear echo -e ""$verdefluo"\n\nPassword is: $word\n\n"$colorbase"" exit 0 else clear echo -e ""$rojo" $CONT/$TOTAL - "$colorbase""$naranja"$PERCENT%"$colorbase""$rojo" - ERROR - $word"$colorbase"" let CONT=$CONT+1 let PERCENT=$CONT*100/$TOTAL #Control if the dictionary ends if [ "$CONT" == "$TOTAL" ] then echo -e ""$rojo"\n\n -- TERMINATED -- Password not found :(\n"$colorbase"" exit 1 fi fi doneUna vez copiado el contenido del script en vuestro equipo, lo guardamos como 'gpg-crack.sh' y damos permisos de ejecución:
chmod +x gpg-crack.shAntes de ejecutar el script, teneis que cambiar las variables DICT y FILE por las que correspondan en vuestro caso. Una vez configuradas estas variables, ejecutamos con:
./gpg-crack.shY el proceso mostrará algo como:
La imagen muestra, en el primer término, la palabra por la que el script se llega probando de las palabras totales que contiene el diccionario, que en este caso son: 14.344.391, el porcentaje representado como un entero, el error derivado de que la contraseña no coincide con la del .gpg y la palabra exacta a la que se llega probando, 'princess' en este caso.
Si la contraseña de cifrado está contenida en el diccionario que utilicemos, llegará un momento en el que el script mostrará por pantalla que ha tenido éxito:
BONUS:
Os dejo una buena colección de diccionarios para trabajar con el script:
https://downloads.skullsecurity.org/passwords/
No hay comentarios:
Publicar un comentario