Documentos de texto são vetores de ataque extremamente comuns. Muitas vezes, recebemos um arquivo que parece inofensivo, mas que pode esconder scripts maliciosos (macros) ou links de phishing.
Neste tutorial, vou mostrar como realizei uma análise forense em um arquivo .odt (LibreOffice) usando apenas o terminal Linux.
Vamos descobrir se o arquivo possui macros escondidas, verificar metadados e extrair links sem precisar abrir o documento. Isso aumentará a segurança do analista.
As ferramentas que usaremos são: ExifTool, Unzip e Grep.
Passo 1: Reconhecimento Inicial com ExifTool
A primeira etapa de qualquer análise forense é entender a origem do arquivo sem executá-lo. O comando exiftool é perfeito para ler os metadados.
Nesse caso estamos investigando o arquivo Untitled 1.odt.
Usei a flag -v (verbose) para tentar ver não apenas os dados básicos, mas a estrutura interna XML.
O Comando:
exiftool -v "Untitled 1.odt"

O Resultado: Aqui podemos ver informações valiosas, como o software gerador (LibreOffice 24.2) e o sistema operacional (Linux X86_64), o que ajuda a criar um perfil da origem do arquivo.
Saída real da análise:
FileModifyDate = 1765105816
FileType = ODT
MIMEType = application/vnd.oasis.opendocument.text
Generator = LibreOffice/24.2.7.2$Linux_X86_64 LibreOffice_project/420$Build-2
...
Passo 2: Caçando Macros (A Estrutura do Arquivo)
Muitos analistas esquecem que arquivos .odt (assim como .docx) são, na verdade, arquivos compactados (ZIP). Isso significa que podemos listar seu conteúdo sem abrir o editor de texto.
Para um arquivo ODT ter uma macro (código malicioso executável), ele precisa ter uma pasta chamada Basic/ ou Scripts/ em sua estrutura.
Vamos verificar isso com o unzip:
O Comando:
unzip -l "Untitled 1.odt"
Análise do Resultado: No arquivo que analisei, a saída listou imagens e XMLs de configuração, mas nenhuma pasta de script.

Log da verificação:
Archive: Untitled 1.odt
Length Date Time Name
--------- ---------- ----- ----
20672 2025-12-05 15:19 styles.xml
55869 2025-12-05 15:19 content.xml
29852 2025-12-05 15:19 Pictures/100000010000034100000189085A293B.png
...
Veredito: O arquivo está limpo de execução de código (Macros).
Passo 3: Detectando Phishing (Extração de Links)
Se não há macros, o perigo pode estar em um link malicioso. Cuidado: Nunca use o comando cat em arquivos ODT, pois eles são binários e vão desconfigurar seu terminal.
A maneira correta é usar o unzip -p (pipe) para ler o arquivo content.xml (onde fica o texto) e filtrar por links.
A Tentativa com Ruído (O que não fazer): Se fizermos apenas um grep por “http”, teremos muitos falsos positivos, pois o XML do LibreOffice usa URLs para definir seus próprios padrões (namespaces).
unzip -p "Untitled 1.odt" content.xml | grep -oP 'http[s]?://[^"]+'
sso retornou dezenas de linhas da W3C e OpenOffice.org que não são links clicáveis.
A Abordagem Cirúrgica (O jeito certo): Para achar links reais de phishing, devemos buscar pelo atributo xlink:href, que é onde o link clicável realmente mora.
O Comando:
unzip -p "Untitled 1.odt" content.xml | grep -oP 'xlink:href="\K[^"]+'

O resultado:
Pictures/10000001000000DB000001AFC762D0A7.png
Pictures/100000010000013D000000E64AE49725.png
Pictures/10000001000001E2000001624AEC2141.png
...
Observe que os “links” encontrados apontam para a pasta interna Pictures/. Isso confirma que não há links externos para sites falsos. O documento contém apenas imagens embutidas localmente.
Conclusão da Análise
Com apenas três comandos no terminal, conseguimos determinar que:
- O arquivo foi gerado em ambiente Linux.
- Não possui código executável (Macros).
- Não possui links de phishing externos.
Essa triagem rápida é essencial para profissionais de segurança antes de abrir qualquer anexo suspeito em um ambiente isolado (sandbox).
Veja mais:
Ferramentas Kali Obsoletas: 5 Substituições Modernas para seu Testes
ClickFix: A Ameaça Silenciosa que Transforma Seu Clipboard em um Vetor de RCE
Como Proteger seu Servidor Contra Ataques de Força Bruta com ufw limit
Como Procurar Rootkits e Malwares em Servidores Linux com chkrootkit
AIDE : IDS para Linux Ubuntu Instalação e Configuração

Juliana Mascarenhas
Data Scientist and Master in Computer Modeling by LNCC.
Computer Engineer
Algoritmo de Dijkstra e Roteamento: O Caminho Mais Curto na Internet
Se você já usou um GPS para fugir do trânsito, já entende intuitivamente o problema…
VirtualBox: Configurar Rede Interna (Internal Network) – Guia
Você precisa que suas máquinas virtuais (VMs) no VirtualBox se comuniquem entre si de forma…
Alerta de Segurança Urgente: Atualize seu Google Chrome e Android Agora (Zero-Day)
Se você usa o Google Chrome no seu computador ou celular Android, pare o que…
Análise Forense de Arquivos ODT: Detectando Macros e Phishing no Linux
Documentos de texto são vetores de ataque extremamente comuns. Muitas vezes, recebemos um arquivo que…
Ferramentas Kali Obsoletas: 5 Substituições Modernas para seu Testes
O Kali Linux é o canivete suíço padrão para qualquer profissional de cibersegurança. Seu repositório…
Malware Maverick: Por que o Golpe do WhatsApp (.ZIP) Só Funciona no PC?
Nas últimas semanas, este novo trojan bancário (malware focado em roubar dados de bancos) explodiu…
