diff --git a/src/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md b/src/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md index 79c108334..7b8a898db 100644 --- a/src/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md +++ b/src/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md @@ -17,4 +17,88 @@ Para exploração ou manipulação aprofundada de PDFs, ferramentas como [qpdf]( Para análise personalizada de PDF, bibliotecas Python como [PeepDF](https://github.com/jesparza/peepdf) podem ser usadas para criar scripts de parsing sob medida. Além disso, o potencial do PDF para armazenamento de dados ocultos é tão vasto que recursos como o guia da NSA sobre riscos e contramedidas de PDF, embora não esteja mais hospedado em sua localização original, ainda oferecem insights valiosos. Uma [cópia do guia](http://www.itsecure.hu/library/file/Biztons%C3%A1gi%20%C3%BAtmutat%C3%B3k/Alkalmaz%C3%A1sok/Hidden%20Data%20and%20Metadata%20in%20Adobe%20PDF%20Files.pdf) e uma coleção de [truques do formato PDF](https://github.com/corkami/docs/blob/master/PDF/PDF.md) de Ange Albertini podem fornecer mais leitura sobre o assunto. +## Estruturas Maliciosas Comuns + +Os atacantes frequentemente abusam de objetos e ações específicas do PDF que são executadas automaticamente quando o documento é aberto ou interagido. Palavras-chave que valem a pena serem procuradas: + +* **/OpenAction, /AA** – ações automáticas executadas ao abrir ou em eventos específicos. +* **/JS, /JavaScript** – JavaScript embutido (frequentemente ofuscado ou dividido entre objetos). +* **/Launch, /SubmitForm, /URI, /GoToE** – lançadores de processos externos / URL. +* **/RichMedia, /Flash, /3D** – objetos multimídia que podem ocultar cargas úteis. +* **/EmbeddedFile /Filespec** – anexos de arquivos (EXE, DLL, OLE, etc.). +* **/ObjStm, /XFA, /AcroForm** – fluxos de objetos ou formulários comumente abusados para ocultar shell-code. +* **Atualizações incrementais** – múltiplos marcadores %%EOF ou um **/Prev** muito grande podem indicar dados anexados após a assinatura para contornar AV. + +Quando qualquer um dos tokens anteriores aparece junto com strings suspeitas (powershell, cmd.exe, calc.exe, base64, etc.), o PDF merece uma análise mais profunda. + +--- + +## Folha de dicas de análise estática +```bash +# Fast triage – keyword statistics +pdfid.py suspicious.pdf + +# Deep dive – decompress/inspect the object tree +pdf-parser.py -f suspicious.pdf # interactive +pdf-parser.py -a suspicious.pdf # automatic report + +# Search for JavaScript and pretty-print it +pdf-parser.py -search "/JS" -raw suspicious.pdf | js-beautify - + +# Dump embedded files +peepdf "open suspicious.pdf" "objects embeddedfile" "extract 15 16 17" -o dumps/ + +# Remove passwords / encryptions before processing with other tools +qpdf --password='secret' --decrypt suspicious.pdf clean.pdf + +# Lint the file with a Go verifier (checks structure violations) +pdfcpu validate -mode strict clean.pdf +``` +Projetos adicionais úteis (mantidos ativamente 2023-2025): +* **pdfcpu** – Biblioteca/CLI Go capaz de *lint*, *decrypt*, *extract*, *compress* e *sanitize* PDFs. +* **pdf-inspector** – Visualizador baseado em navegador que renderiza o gráfico de objetos e streams. +* **PyMuPDF (fitz)** – Motor Python scriptável que pode renderizar páginas em imagens de forma segura para detonar JS embutido em um sandbox reforçado. + +--- + +## Técnicas de ataque recentes (2023-2025) + +* **MalDoc em PDF polyglot (2023)** – JPCERT/CC observou atores de ameaça anexando um documento Word baseado em MHT com macros VBA após o final **%%EOF**, produzindo um arquivo que é tanto um PDF válido quanto um DOC válido. Motores AV que analisam apenas a camada PDF perdem a macro. Palavras-chave estáticas de PDF estão limpas, mas `file` ainda imprime `%PDF`. Trate qualquer PDF que também contenha a string `` como altamente suspeito. +* **Atualizações incrementais de sombra (2024)** – adversários abusam do recurso de atualização incremental para inserir um segundo **/Catalog** com `/OpenAction` malicioso enquanto mantêm a primeira revisão benigna assinada. Ferramentas que inspecionam apenas a primeira tabela xref são contornadas. +* **Cadeia UAF de análise de fonte – CVE-2024-30284 (Acrobat/Reader)** – uma função vulnerável **CoolType.dll** pode ser acessada a partir de fontes CIDType2 embutidas, permitindo execução remota de código com os privilégios do usuário uma vez que um documento elaborado é aberto. Corrigido em APSB24-29, maio de 2024. + +--- + +## Modelo rápido de regra YARA +```yara +rule Suspicious_PDF_AutoExec { +meta: +description = "Generic detection of PDFs with auto-exec actions and JS" +author = "HackTricks" +last_update = "2025-07-20" +strings: +$pdf_magic = { 25 50 44 46 } // %PDF +$aa = "/AA" ascii nocase +$openact = "/OpenAction" ascii nocase +$js = "/JS" ascii nocase +condition: +$pdf_magic at 0 and ( all of ($aa, $openact) or ($openact and $js) ) +} +``` +--- + +## Dicas defensivas + +1. **Atualize rapidamente** – mantenha o Acrobat/Reader na versão mais recente; a maioria das cadeias de RCE observadas na natureza aproveita vulnerabilidades n-day corrigidas meses antes. +2. **Remova conteúdo ativo no gateway** – use `pdfcpu sanitize` ou `qpdf --qdf --remove-unreferenced` para eliminar JavaScript, arquivos incorporados e ações de lançamento de PDFs recebidos. +3. **Desarmamento e Reconstrução de Conteúdo (CDR)** – converta PDFs em imagens (ou PDF/A) em um host sandbox para preservar a fidelidade visual enquanto descarta objetos ativos. +4. **Bloqueie recursos raramente usados** – as configurações de “Segurança Aprimorada” da empresa no Reader permitem desativar JavaScript, multimídia e renderização 3D. +5. **Educação do usuário** – engenharia social (isca de fatura e currículo) continua sendo o vetor inicial; ensine os funcionários a encaminhar anexos suspeitos para a IR. + +## Referências + +* JPCERT/CC – “MalDoc em PDF – Bypass de detecção ao incorporar um arquivo Word malicioso em um arquivo PDF” (Ago 2023) +* Adobe – Atualização de segurança para Acrobat e Reader (APSB24-29, Mai 2024) + + {{#include ../../../banners/hacktricks-training.md}}