Este repositório contém uma atividade prática de segurança da informação com foco em esteganografia e criptografia simétrica. A proposta consiste em extrair dados ocultos de uma imagem utilizando a ferramenta steghide e, em seguida, descriptografar o conteúdo extraído com GPG, identificando o algoritmo de criptografia (AES256) a partir de pistas fornecidas nos slides. A atividade foi realizada em ambiente Ubuntu, e as senhas utilizadas foram deduzidas com base em dicas simples, como senhas comuns ou informações visuais. O objetivo principal é demonstrar, de forma didática, como técnicas de ocultação e proteção de dados podem ser combinadas em um cenário prático.
Objetivo: Aplicar um script que obtenha todos os links do PDF e depois obter aquele que fosse do Google Drive (pois uma das imagens que era o do ovo estava no Google Drive - se não fosse por este script estaria até hoje procurando as imagens 😂 😂 😂).
Este script em Python realiza a extração automática de links contidos em arquivos PDF localizados na mesma pasta onde o script é executado, utilizando a biblioteca PyMuPDF.
-
Busca na pasta atual
O script utiliza o diretório atual de execução para listar todos os arquivos PDF presentes, sem a necessidade de informar o caminho manualmente. -
Abrir cada PDF
Para cada arquivo PDF encontrado, o script abre o documento usandofitz.open(). -
Iterar pelas páginas
Em cada página do PDF, o script busca por:- Links: Utilizando o método
pagina.get_links(). - Imagens: Obtidas via
pagina.get_images(full=True)para tentar verificar se algum link está sobre uma imagem.
- Links: Utilizando o método
-
Exibição dos links encontrados
Se a página contiver links, o script imprime:- A quantidade de links na página
- A URL (
uri) de cada link - Sua posição aproximada (
bbox) na página
-
Verificação de links sobre imagens (opcional)
O código tenta identificar se algum link está localizado sobre uma imagem, embora essa parte possa ser aprimorada. -
Fechamento do documento
Após o processamento, o documento é fechado para liberar recursos.
# Usa o diretório atual do script
pasta_atual = os.getcwd()
encontrar_links_em_pdfs(pasta_atual)- Salve o script como
.pyna pasta dos seus PDFs - Execute com:
python3 find_links_in_pdfs.py- Varre todos os PDFs, exibindo links com página e posição
- Requer instalação:
pip install pymupdf
🔍 Observações:
- Detecção de links sobre imagens é básica (pode ser aprimorada)
- Sugestões: filtro por domínio (ex: Google Drive), seleção de PDF específico ou interface gráfica
🔍 Observações:
- É necessário ter o Stehide instalado no sistema:
sudo apt update
sudo apt install steghideExecute o comando:
steghide extract -sf chave.jpgApós isso, será solicitada a passphrase (senha):
Enter passphrase: passwordDica para a senha:
- Qual é a senha mais popular e fácil do mundo?
- 8 caracteres
- Letras minúsculas
Com base nisso, após uma busca, foi encontrado que provavelmente a senha era
"password". 😂
Com a senha correta, a saída será:
wrote extracted data to 'stegpass.txt'Repita o processo na imagem ciphertext.jpg:
steghide extract -sf ciphertext.jpgSerá gerado o arquivo enunciado.txt.gpg que contém dados criptografados:
wrote extracted data to 'enunciado.txt.gpg'.Também extraia dados da imagem decryptography.jpg:
steghide extract -sf decryptography.jpgSerá criado o arquivo decriptacao.txt contendo a mensagem:
"Identifique o algoritmo de decriptação através do padrão de cores nos slides."
Baseando-se no padrão de cores dos slides (o AES estava com uma cor diferente), testamos o algoritmo AES para a decriptação:
gpg --output enunciado.txt --decrypt enunciado.txt.gpgSerá solicitado a senha, que está no arquivo stegpass.txt:
Enter passphrase: 22000311O conteúdo do arquivo enunciado.txt era:
"Envie pelo e-aula a descrição dos passos necessários para realização da atividade."