A aproveitar o facto da baixa detecção de malware neste método, o Zbot recentemente tem vindo a propagar-se usando documentos PDF. Quem o refere este alerta é o Websense.
Todos os posts tagados pdf
Como analisar documentos PDF por conteúdos maliciosos
Nos últimos meses, muito se tem falado nos perigos em abrir documentos PDF de origem desconhecida (e não só) e como o cibercrime tem utilizado este método para propagar malware em empresas e governos.
O meu objectivo neste artigo é, para além de alimentar a curiosidade de investigação, proporcionar um meio de identificar possíveis conteúdos maliciosos em documentos PDF que muitos serviços online não conseguem.
Ferramentas utilizadas:
Todas as ferramentas acima mencionadas são opensource e disponíveis gratuitamente por Didier Stevens.
Requisitos:
Como actualmente não tenho disponível um PDF infectado com código malicioso, decidi recorrer à ferramenta make-pdf-javascript.py para criar um documento PDF com código Javascript.
Neste momento temos um documento PDF com um Javascript inofensivo, que apenas mostra uma caixa de alerta.
De referir que o software utilizado para abrir o PDF é a versão mais recente do Acrobat Reader – 9.3.2 PT.
Podem também criar Javascript personalizado com o mesmo programa.

De seguida, vamos analisar e identificar algumas palavra chave importantes numa análise e validação de um documento PDF.
Para tal, vamos utilizar o pdfid.py.
Nota: Dado que esta ferramenta pesquisa por palavras chave no código, pode gerar alguns falsos positivos.
Praticamente todos os PDFs contêm as 7 primeiras palavras chave:
- obj
- endobj
- stream
- endstream
- xref
- trailer
- startxref
No entanto, vou entrar em pormenor nas seguintes palavras chave porque podem ser necessárias a uma análise de malware num documento PDF.
- /Page – Indica o número de páginas do documento PDF.
- /Encrypt – Indica que o documento PDF está protegido com palavra passe ou DRM.
- /ObjStm – Conta o número de fluxo de objectos. Esse fluxo de objectos pode conter objectos específicos para ofuscar outros objectos indesejados.
- /JS e /Javascript – O documento PDF contém código Javascript ou importa um ficheiro externo .JS. Caso encontre algum PDF com esta palavra chave é provável que encontre código malicioso.
- /AA e /OpenAction – Indica que é executada uma acção quando é aberta uma página ou documento PDF. Tenha em conta que se esta palavra chave for encontrada no documento PDF em conjunto com Javascript, podemos considerar que é um documento PDF altamente suspeito.
- /AcroForm – Número de objectos AcroForm encontrados no documento PDF. Estes objectos podem ser caixas de texto ou selecção com Javascript. Convém analisar.
- /JBIG2Decode – Indica que foi utilizado a compressão JBIG2 no documento PDF. Não é sinónimo de código malicioso no entanto é conveniente investigar.
- /RichMedia – existência de código Flash embutido.
- /Launch – Conta o número de acções executadas.
Voltando ao meu exemplo. Podemos reparar que usando o pdfid.py detectámos a existência da palavra chave Javascript. Vamos analisar e identificar os elementos fundamentais do documento PDF usando outro utilitário – o pdf-parser.py.
Dado que no exemplo apenas detectámos Javascript, vamos pesquisar por essa palavra chave.
Como podemos ver na imagem, o código Javascript apenas executa um alerta.
Para poderem comparar com uma ferramenta de análise online, Wepawet, podem consultar aqui o resultado.
Caso o exemplo tivesse o código Javascript ofuscado, esta ferramenta online (tal como outras) não iria detectar um código possivelmente malicioso. O próprio site alerta a essa situação.
Em resumo, devemos usar o pdf-parser.py como complemento a uma identificação de actividade suspeita num documento PDF encontrado pelo pdfid.py.
Espero futuramente colocar um artigo mais aprofundado sobre documentos PDFs com código ofuscado e com ligações a sites remotos para descarregar malware para o sistema da vítima.
Para os mais impacientes, deixo alguns artigos interessantes sobre o assunto:
- Analyzing a Malicious PDF File (vídeo)
- Quickpost: About the Physical and Logical Structure of PDF Files
- SANS PDF malware analysis
- BLACKHAT 2008 Presentation – Security Analysis and Malware Threats (pdf)
- Didier Stevens on PDF Hacking and Security (podcast)
Espero ter contribuído com este artigo de iniciação a análise de documentos PDF e agradeço qualquer feedback com algumas experiências reais com documentos PDF suspeitos.









