Módulo 8 - Roteiro 1

Tarefas

No final deste módulo você deve submeter em um ÚNICO arquivo PDF os seguintes prints:

  • Atividade 8.1: passo 9.
  • Atividade 8.2: passo 8.
  • Atividade 8.3: passo 6.
  • Atividade 8.4: passo 5.
  • Atividade 8.5: passo 5.

Atividade 8.1 – Usando a Esteganografia no Kali Linux

Nesta atividade, vamos usar o Terminal para descobrir como implementar a Esteganografia por meio do ocultamento do conteúdo de um arquivo TXT em uma imagem JPG. Em seguira, recuperaremos o arquivo TXT a partir da imagem JPG que contém a mensagem oculta!

Vamos começar inicializando nosso Kali Linux.

1) Abra o Terminal e execute o seguinte comando para ser super usuário:

┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:

2) Agora, vamos criar e acessar a uma pasta onde trabalharemos. Na sequência vamos acessar essa pasta e criar um arquivo de texto com uma mensagem. Essa mensagem será posteriormente oculta em uma imagem:

┌──(root㉿kali)-[~]
└─# mkdir -m 777 /home/aluno/Documentos/Arquivos

┌──(root㉿kali)-[~]
└─# cd /home/aluno/Documentos/Arquivos

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# nano mensagem.txt

3) Insira o seguinte texto:

Ciência da Computação com Esteganografia!

Em seguida, aperte “Ctrl + x”, “s” para salvar e “Enter” para confirmar. Neste momento, acabamos de criar o arquivo “mensagem.txt”.

4) Agora, vamos baixar uma imagem jpg do site Upload Wikipedia:

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# wget https://upload.wikimedia.org/wikipedia/commons/1/1b/Marcel_Proust_1895-cropped.jpg
--2024-03-03 20:07:52--  https://upload.wikimedia.org/wikipedia/commons/1/1b/Marcel_Proust_1895-cropped.jpg
Resolvendo upload.wikimedia.org (upload.wikimedia.org)... 208.80.154.240, 2620:0:861:ed1a::2:b
Conectando-se a upload.wikimedia.org (upload.wikimedia.org)|208.80.154.240|:443... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 657966 (643K) [image/jpeg]
Salvando em: “Marcel_Proust_1895-cropped.jpg”

Marcel_Proust_1895-cropped.jpg 100%[===================================================>] 642,54K  --.-KB/s    em 0,1s    

2024-03-03 20:07:52 (4,62 MB/s) - “Marcel_Proust_1895-cropped.jpg” salvo [657966/657966]

Se ocorrer falha na requisição ao Wikimedia, você pode tentar baixar diretamente usando o navegador e apontando para o link: https://upload.wikimedia.org/wikipedia/commons/1/1b/Marcel_Proust_1895-cropped.jpg

Se quiser, pode abrir a imagem e ver o seu conteúdo!

5) Verifique que a imagem baixada e o arquivo texto estão presentes:

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls
Marcel_Proust_1895-cropped.jpg  mensagem.txt

6) Vamos usar o programa Steghide para esconder conteúdo do arquivo “mensagem.txt” na imagem baixada. Quando o programa pedir, insira a senha “abcd1234”:

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# steghide embed -cf Marcel_Proust_1895-cropped.jpg -ef mensagem.txt
Enter passphrase: 
Re-Enter passphrase: 
embedding "mensagem.txt" in "Marcel_Proust_1895-cropped.jpg"... done

Note que a imagem foi sobrescrita (mesmo nome de arquivo) e agora contém o texto oculto. No comando mostrado acima:

  • "cf" significa "cover file" (arquivo de cobertura), que é o arquivo de imagem ou áudio no qual você deseja ocultar dados.
  • "ef" significa "embed file" (arquivo a ser incorporado), que é o arquivo que você deseja ocultar dentro do arquivo de cobertura.

7) Em seguida, vamos apagar o arquivo “mensagem” para garantir que esse arquivo não exista mais na hora de recuperara a mensagem oculta. Assim que o arquivo for apagado, liste e confira que somente está presente o arquivo da imagem:


┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# rm mensagem.txt 

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls
Marcel_Proust_1895-cropped.jpg

8) Finalmente, vamos extrair o conteúdo do arquivo da imagem com esteganografia aplicada. Quando o programa pedir, insira a senha “abcd1234”:

┌──(root㉿kali)-[~/Atividade8-1]
└─# steghide extract -sf Marcel_Proust_1895-cropped.jpg
Enter passphrase: 
wrote extracted data to "mensagem.txt".

No comando mostrado acima:

  • "sf" significa "stego file" (arquivo esteganográfico), que é o arquivo de imagem ou áudio que já contém dados ocultos.

9) Note que novamente foi criado o arquivo “mensagem.txt”. Confira que o arquivo está na pasta e verifique seu conteúdo para confirmar que conseguiu recuperar o texto oculto (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!).

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls
Marcel_Proust_1895-cropped.jpg  mensagem.txt

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# cat mensagem.txt                  
Ciência da Computação com Esteganografia!

10) Apague os arquivos presentes na pasta Arquivos e posteriormente feche o Terminal:

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# rm -r *         
zsh: sure you want to delete all 2 files in /home/aluno/Documentos/Arquivos [yn]? y

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls

Parabéns! Agora você sabe como utilizar Esteganografia para ocultar texto em imagens!  

Atividade 8.2 – Ofuscando código Python no Kali Linux

Nesta atividade, vamos usar o Terminal para descobrir como implementar ofuscação usando bytecode em cima de códigos Python. Verificaremos como o código original é modificado para que fique nada compreensível e mesmo assim rode igualzinho ao código original!

Vamos começar inicializando nosso Kali Linux .

1) Abra o Terminal e execute o seguinte comando para ser super usuário:

┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:

2) Agora, vamos criar um arquivo Python simples que pode executar a soma ou subtração de 2 números na pasta Arquivos:

┌──(root㉿kali)-[~]
└─# cd /home/aluno/Documentos/Arquivos                                 

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# nano arquivo.py 
  1. Insira o seguinte texto:
def somar(a, b):
    return a + b

def subtrair(a, b):
    return a - b

resultado = somar(5, 3)
print(resultado)

Em seguida, aperte “Ctrl + x”, “s” para salvar e “Enter” para confirmar. Neste momento, acabamos de criar um arquivo Python simples que pode executar uma soma ou subtração.

4) Agora, vamos testar o código Python para ver que realmente funciona:

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# python arquivo.py                  
8

Veja que o código funciona realizando a soma de 5+3.

5) Em seguida, vamos aplicar a ofuscação obtendo o bytecode do nosso código Python original e listar a pasta para ver o que foi produzido:

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# python -OO -m py_compile arquivo.py

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls
arquivo.py  __pycache__

Veja que foi criada uma pasta. É nesta pasta que está salvo o arquivo ofuscado.

6) Acesse a pasta, liste o que a pasta tem e modifique a extensão do arquivo presente de .pyc para .py (o nome do arquivo ofuscado pode ser apresentado de forma diferente):

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# cd __pycache__                    

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos/__pycache__]
└─# ls
arquivo.cpython-313.opt-2.pyc

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos/__pycache__]
└─# mv arquivo.cpython-313.opt-2.pyc arquivo_ofuscado.py

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos/__pycache__]
└─# ls
arquivo_ofuscado.py

Veja que o arquivo “arquivo.cpython-313.opt-2.pyc” foi mudado de nome e extensão para “arquivo_ofuscado.py”.

7) Agora, vamos ver o conteúdo “arquivo_ofuscado.py”:

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos/__pycache__]
└─# cat arquivo_ofuscado.py 
�
y�0ir��2�S▒rS▒r\"SS5r\"\5 g)c�
�X-$�N���a�bs  �
arquivo.py�somarr       �       ��

                                  �5�L�c�
�X-
rrrrs  subtrairr
r
���N)r  resultado�printrr
�!�Q�K� ��i�r            <module>rs$����

Veja que o conteúdo de “arquivo_ofuscado.py” é incompreensível.

8) Finalmente, vamos rodar esse código ofuscado para provar que mesmo estando ofuscado, ainda funciona (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!):

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos/__pycache__]
└─# python arquivo_ofuscado.py         
8

Veja que o código ofuscado mantém a usabilidade inicial e é nada entendível a simples vista por qualquer programador que pegue o código!

9) Apague os arquivos da pasta Arquivos e posteriormente feche o Terminal:

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos/__pycache__]
└─# cd ..                  

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# rm -r *
zsh: sure you want to delete all 2 files in /home/aluno/Documentos/Arquivos [yn]? y

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls

Parabéns! Agora você sabe como ofuscar código fonte no Kali Linux!  

Atividade 8.3 – Cifrando e decifrando um arquivo com AES-256 no Kali Linux

Nesta atividade, vamos usar o Terminal para descobrir como implementar criptografia simétrica AES-256 (no melhor modo possível: CTR) em um arquivo qualquer no Kali Linux. Verificaremos como o arquivo é cifrado e decifrado!

Vamos começar inicializando nosso Kali Linux.

1) Abra o Terminal e execute o seguinte comando para ser super usuário:

┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:

2) Acesse a pasta Arquivos e baixe uma imagem da internet para que seja cifrada:

┌──(root㉿kali)-[~]
└─# cd /home/aluno/Documentos/Arquivos

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# wget https://upload.wikimedia.org/wikipedia/commons/0/01/My_shoe.jpg
--2024-03-03 20:42:50--  https://upload.wikimedia.org/wikipedia/commons/0/01/My_shoe.jpg
Resolvendo upload.wikimedia.org (upload.wikimedia.org)... 208.80.154.240, 2620:0:861:ed1a::2:b
Conectando-se a upload.wikimedia.org (upload.wikimedia.org)|208.80.154.240|:443... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 1297035 (1,2M) [image/jpeg]
Salvando em: “My_shoe.jpg”

My_shoe.jpg                    100%[===================================================>]   1,24M  7,35MB/s    em 0,2s    

2024-03-03 20:42:51 (7,35 MB/s) - “My_shoe.jpg” salvo [1297035/1297035]

3) No menu “Aplicativos”, abra o “Gerenciador de arquivos” (Thunar) e navegue até “/home/aluno/Documentos/Arquivos/”. Em seguida, visualize a imagem baixada e feche o visualizador de imagem.

4) Veja que a imagem baixada está presente no diretório. Vamos cifrar a imagem que acabamos de baixar. Quando for pedida uma senha, coloque “abcd1234”.

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls
My_shoe.jpg

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# openssl enc -aes-256-ctr -salt -in My_shoe.jpg -out arquivo_criptografado
enter AES-256-CTR encryption password:
Verifying - enter AES-256-CTR encryption password:
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.

Os parâmetros utilizados no comando mostrado acima têm as seguintes finalidades

  • enc: Indica o comando do OpenSSL para operações de criptografia
  • -aes-256-ctr: Especifica o algoritmo de criptografia a ser utilizado, que é o AES com chave de 256 bits no modo CTR (Counter Mode). O AES-256 é uma versão do algoritmo de criptografia avançada (AES) com chave de 256 bits, enquanto o modo CTR é um modo de operação que transforma o AES em um algoritmo de criptografia por fluxo
  • -salt: Indica que o comando usará um salt (valor aleatório) durante o processo de criptografia. O salt é um valor aleatório que é adicionado aos dados antes da criptografia para tornar a saída da criptografia mais segura e única para cada execução
  • -in My_shoe.jpg: Especifica o nome do arquivo de entrada que será criptografado
  • -out arquivo_criptografado: Especifica o nome do arquivo de saída "arquivo_criptografado".

  • Verifique que foi criado o arquivo cifrado “arquivo_criptografado” e em seguida apague o arquivo original “My_shoe.jpg”.

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls
arquivo_criptografado  My_shoe.jpg

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# rm My_shoe.jpg 

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls
arquivo_criptografado

6) Decifre o “arquivo_criptografado” para recuperar o arquivo original “My_shoe.jpg”, agora nomeado como “My_shoe2.jpg” (insira a senha “abcd1234”). Em seguida, verifique que o arquivo “My_shoe2.jpg” foi criado (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!):

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# openssl enc -d -aes-256-ctr -in arquivo_criptografado -out My_shoe2.jpg
enter AES-256-CTR decryption password:
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls
arquivo_criptografado  My_shoe2.jpg

7) Volte ao Thunar, abra o arquivo “My_shoe2.jpg” e verifique que é igualzinho ao já apagado “My_shoe.jpg”.

8) Feche o Thuner e volte ao Terminalrm. Em seguida, apague os arquivos da pasta Arquivos e posteriormente feche o Terminal:

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# rm -r *       
zsh: sure you want to delete all 2 files in /home/aluno/Documentos/Arquivos [yn]? y

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls

Parabéns! Neste ponto, você conseguiu cifrar e decifrar um arquivo com o melhor algoritmo de criptografia simétrica, o AES-256.

Atividade 8.4 – Cifrando e decifrando um arquivo com 3DES no Linux

Nesta atividade, vamos usar o Terminal para descobrir como implementar criptografia simétrica 3DES no modo CFB em um arquivo qualquer no Kali Linux. Verificaremos como o arquivo é cifrado e decifrado!

Vamos começar inicializando nosso Kali Linux.

1) Abra o Terminal e execute o seguinte comando para ser super usuário:

┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:

2) Acesse a pasta Arquivos e baixe uma imagem da internet para que seja cifrada:

┌──(root㉿kali)-[~]
└─# cd /home/aluno/Documentos/Arquivos                                       

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# wget https://upload.wikimedia.org/wikipedia/commons/5/5a/Hyla_japonica_sep01.jpg
--2024-03-03 20:56:15--  https://upload.wikimedia.org/wikipedia/commons/5/5a/Hyla_japonica_sep01.jpg
Resolvendo upload.wikimedia.org (upload.wikimedia.org)... 208.80.154.240, 2620:0:861:ed1a::2:b
Conectando-se a upload.wikimedia.org (upload.wikimedia.org)|208.80.154.240|:443... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 2900468 (2,8M) [image/jpeg]
Salvando em: “Hyla_japonica_sep01.jpg”

Hyla_japonica_sep01.jpg        100%[===================================================>]   2,77M  12,7MB/s    em 0,2s    

2024-03-03 20:56:15 (12,7 MB/s) - “Hyla_japonica_sep01.jpg” salvo [2900468/2900468]

3) No menu “Aplicativos”, abra o “Gerenciador de arquivos” (Thunar) e navegue até “/home/aluno/Documentos/Arquivos/”. Em seguida, visualize a imagem.

4) Veja que a imagem baixada está presente no diretório, cifre a imagem que acabamos de baixar (use a senha “abcd1234”) e liste novamente a pasta para ver o conteúdo produzido.

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls
Hyla_japonica_sep01.jpg

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# openssl enc -des-ede3-cfb -salt -in Hyla_japonica_sep01.jpg -out arquivo_criptografado      
enter DES-EDE3-CFB encryption password:
Verifying - enter DES-EDE3-CFB encryption password:
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls
arquivo_criptografado  Hyla_japonica_sep01.jpg

O arquivo “arquivo_criptografado” contém os dados cifrados. Os parâmetros utilizados no comando mostrado acima têm as seguintes finalidades:

  • -des-ede3-cfb: Especifica o algoritmo de criptografia a ser usado, que é o 3DES (Triple DES) no modo CFB (Cipher Feedback).
  • -salt: Indica que um salt (valor aleatório) deve ser adicionado aos dados antes da criptografia. O salt é usado para aumentar a segurança da chave.
  • -in Hyla_japonica_sep01.jpg: Especifica o arquivo original que será criptografado.
  • -out arquivo_criptografado: Especifica o arquivo criptografado que será salvo.

5) Agora, vamos apagar o arquivo original, decifrar o “arquivo_criptografado” (use a senha “abcd1234”) e recuperar seu conteúdo no arquivo “imagem.jpg” (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!).

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# rm Hyla_japonica_sep01.jpg 

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls
arquivo_criptografado

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# openssl enc -des-ede3-cfb -d -in arquivo_criptografado -out imagem.jpg
enter DES-EDE3-CFB decryption password:
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls
arquivo_criptografado  imagem.jpg

Os parâmetros utilizados no comando mostrado acima têm as seguintes finalidades:

  • -des-ede3-cfb: Especifica o algoritmo de criptografia a ser usado, que é o 3DES (Triple DES) no modo CFB (Cipher Feedback).
  • -d: Indica que você deseja realizar a operação de descriptografia.
  • -in arquivo_criptografado: Especifica o arquivo criptografado que será descriptografado.
  • -out imagem.jpg: Especifica onde o arquivo descriptografado será salvo.

6) Volte ao Thunar e visualize o arquivo “imagem.jpg”. Confira que “imagem.jpg” é a mesma imagem do arquivo já apagado e que você abriu antes “Hyla_japonica_sep01.jpg”.

7) Apague os arquivos da pasta “Arquivos” e posteriormente feche o Terminal:

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# rm -r *       
zsh: sure you want to delete all 2 files in /home/aluno/Documentos/Arquivos [yn]? y

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls

Parabéns! Neste ponto, você conseguiu cifrar e decifrar um arquivo com o algoritmo 3DES.

Atividade 8.5 – Cifrando e decifrando um arquivo com Blowfish no Linux

Nesta atividade, vamos usar o Terminal para descobrir como implementar criptografia simétrica Blowfishde 128 bits no modo CFB em um arquivo qualquer no Kali Linux. Verificaremos como o arquivo é cifrado e decifrado!

Vamos começar inicializando nosso Kali Linux.

1) Abra o Terminal e execute o seguinte comando para ser super usuário:

┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:

2) Acesse a pasta Arquivos e baixe uma imagem da internet para que seja cifrada:

┌──(root㉿kali)-[~]
└─# cd /home/aluno/Documentos/Arquivos                                       

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# wget https://upload.wikimedia.org/wikipedia/commons/9/9e/CRS-20_Dragon%E2%80%93Enhanced.jpg
--2024-03-04 16:10:22--  https://upload.wikimedia.org/wikipedia/commons/9/9e/CRS-20_Dragon%E2%80%93Enhanced.jpg
Resolvendo upload.wikimedia.org (upload.wikimedia.org)... 208.80.154.240, 2620:0:861:ed1a::2:b
Conectando-se a upload.wikimedia.org (upload.wikimedia.org)|208.80.154.240|:443... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 2092509 (2,0M) [image/jpeg]
Salvando em: “CRS-20_Dragon–Enhanced.jpg”

CRS-20_Dragon–Enhanced.jpg     100%[===================================================>]   2,00M  10,6MB/s    em 0,2s    

2024-03-04 16:10:22 (10,6 MB/s) - “CRS-20_Dragon–Enhanced.jpg” salvo [2092509/2092509]

3) No menu “Aplicativos”, abra o “Gerenciador de arquivos” (Thunar) e navegue até “/home/aluno/Documentos/Arquivos/”. Em seguida, visualize a imagem baixada e feche o visualizador de imagem.

4) Veja que a imagem baixada está presente no diretório, cifre a imagem que acabamos de baixar (use a senha “abcd1234”) e liste novamente a pasta para ver o conteúdo produzido.

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls
CRS-20_Dragon–Enhanced.jpg

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# openssl enc -bf-cfb -salt -in CRS-20_Dragon–Enhanced.jpg -out arquivo_criptografado
enter BF-CFB encryption password:
Verifying - enter BF-CFB encryption password:
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls 
arquivo_criptografado  CRS-20_Dragon–Enhanced.jpg

O arquivo “arquivo_criptografado” contém os dados cifrados. Os parâmetros utilizados no comando mostrado acima têm as seguintes finalidades:

  • enc: O comando OpenSSL usado para criptografar e descriptografar arquivos.
  • -bf-cfb: Especifica o algoritmo de criptografia Blowfish no modo CFB (Cipher Feedback).
  • -salt: Indica que um salt (valor aleatório) deve ser adicionado aos dados antes da criptografia. O salt é usado para aumentar a segurança da chave.
  • -in CRS-20_Dragon–Enhanced.jpg: Especifica o arquivo original que será criptografado.
  • -out arquivo_criptografado: Especifica o arquivo criptografado que será salvo.

5) Agora, vamos apagar o arquivo original, decifrar o “arquivo_criptografado” (use a senha abcd1234) e recuperar seu conteúdo no arquivo “imagem.jpg” (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!).

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# rm CRS-20_Dragon–Enhanced.jpg 

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls
arquivo_criptografado

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# openssl enc -bf-cfb -d -in arquivo_criptografado -out imagem.jpg
enter BF-CFB decryption password:
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls 
arquivo_criptografado  imagem.jpg

Os parâmetros utilizados no comando mostrado acima têm as seguintes finalidades:

  • openssl enc: Este é o comando principal do OpenSSL para operações de criptografia.
  • -bf-cfb: Especifica o algoritmo de criptografia a ser usado. Neste caso, "bf-cfb" indica o uso do algoritmo de criptografia Blowfish no modo Cipher Feedback (CFB).
  • -d: Esta opção indica que queremos decifrar o arquivo. Sem esta opção, o comando criptografaria o arquivo.
  • -in arquivo_criptografado: Especifica o arquivo de entrada que contém os dados criptografados. No exemplo fornecido, o nome do arquivo criptografado é "arquivo_criptografado".
  • -out imagem.jpg: Especifica o nome do arquivo de saída onde os dados decifrados serão gravados. Neste caso, o arquivo de saída será "imagem.jpg".

6) Volte ao Thunar e visualize o arquivo “imagem.jpg”. Confira que “imagem.jpg” é a mesma imagem do arquivo já apagado e que você abriu antes “CRS-20_Dragon–Enhanced.jpg”.

7) Apague os arquivos da pasta “Arquivos”:

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# rm -r *       
zsh: sure you want to delete all 2 files in /home/aluno/Documentos/Arquivos [yn]? y

┌──(root㉿kali)-[/home/aluno/Documentos/Arquivos]
└─# ls

Parabéns! Neste ponto, você conseguiu cifrar e decifrar um arquivo com o algoritmo Blowfish.