Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Gotttlieb en 9 Marzo 2013, 22:16 pm



Título: [BASH] Script Desencriptación
Publicado por: Gotttlieb en 9 Marzo 2013, 22:16 pm
Hola Foro, mirad tengo un problemilla con este script, creo que llevo tanto rato con él que ya no puedo pensar. He estado mirando ejemplos para recorrer los ficheros de un directorio, pero no he sido capaz de hacer que funcionen.
Posiblemente, ( como en todos mis posts de este estilo) sea una tontería de novato, pero os agradecería muchísimo vuestra ayuda.

Código
  1. #!/bin/bash
  2.  
  3. #set -vx
  4.  
  5. FILES="/root/backup/"
  6. DESTINATION="/root/backup/"
  7.  
  8.  
  9. for f in *.enc
  10. do
  11.  echo "descifrando $f ..."
  12.  #Por cada fichero $f (nombre del fichero), lo descifra y le pone la extension correcta .tgz
  13.  openssl enc -aes-256-cbc -d -in $FILES$f -out $DESTINATION$f.tgz -pass pass:PASSWORD
  14.  echo "Eliminando fichero cifrado $f"
  15.  #rm "$f"
  16.  sleep 1
  17. done

root@xxxxxx ~/scripts # ./descifrar.sh
descifrando *.enc ...
unknown option '/root/backup/xxxxxxx.enc'

Parece ser que no acepta el archivo porque no lo encuentra o porque se pone en el script el directorio de forma que lo detecta como una variable.

Muchas gracias por vuestra ayuda.

EDIT:

Bueno, al final me he dado cuenta de unas cuantas cosas ( espero que le sean de ayuda a alguien algún día.

Código:
#!/bin/bash

#set -vx

FILES="/root/backup/"
DESTINATION="/root/backup/"

#shopt -s nullglob

for f in `find /root/backup/ -regextype posix-extended -regex '^.*\.enc'`
do

  #echo "FILES= $FILES , Destination = $DESTINATION, F= $f "
  echo "descifrando $f ..."
  #Por cada fichero $f (nombre del fichero), lo descifra y le pone la extension correcta .tgz
  openssl enc -aes-256-cbc -d -in $f -out $DESTINATION$f.tgz -pass pass:PASSWORD
  echo "Eliminando fichero cifrado $f"
  #rm "$f"
  sleep 1
done

Primero de todo, he pasado a usar una expresión regular, al final el Bash no es tan listo como yo me pensaba...(una pena  :silbar: )
Segundo, estaba mal puesto el nombre de una variable ( Maldita sea mi deslexia transitoria).
Y tercero,  en el comando openssl no debia usar $FILES$f, sino solo $f.

Bueno, muchas gracias a los lectores. Ahora solo me queda mejorarlo un pelin para que me saque el .enc y en vez de .enc.tgz, me deje solo .tgz (ahora me pelearme con el seed)






Título: Re: [BASH] Script Desencriptación
Publicado por: golffo en 17 Mayo 2013, 16:50 pm
[tr][td]
 :o :( :rolleyes:
[/td][/tr][/table]] (ftp://[table)
 :o :( :rolleyes:
[/ftp]


Título: Re: [BASH] Script Desencriptación
Publicado por: golffo en 11 Julio 2013, 16:58 pm
jejejeje  gracias por la acojida.