Test Foro de elhacker.net SMF 2.1

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 (bash) [Seleccionar]

#!/bin/bash

#set -vx

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


for f in *.enc
do
 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 $FILES$f -out $DESTINATION$f.tgz -pass pass:PASSWORD
 echo "Eliminando fichero cifrado $f"
 #rm "$f"
 sleep 1
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.

#!/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.