¿Cómo saber si un archivo PDF está infectado?

9

Tengo miedo de abrir un libro PDF. Al revisar el archivo a través de pdfid, obtengo esto:

PDF Header:% PDF-1.6  
 obj 4175  
 endobj 4174  
 stream 3379  
 endstream 3379  
 xref 0  
 trailer 0  
 startxref 1  
 / Page 794  
 / Encrypt 0  
 / ObjStm 6  
 / JS 3  
 / JavaScript 0  
 / AA 6  
 / OpenAction 0  
 / AcroForm 1  
 / JBIG2Decode 0  
 / RichMedia 0  
 / Launch 0  
 / EmbeddedFile 0  
 / XFA 0  
 / Colors> 2 ^ 24 0  

También verifiqué el archivo con virustotal , donde dice que el archivo está limpio. Pero los antivirus no siempre encuentran lo que está mal, ¿verdad?

Tengo estas preguntas:

  1. ¿Cuáles de estos (AA, ObjStm, XFA, etc.) son realmente peligrosos ? Sí, leí aquí sobre los valores de estos elementos, pero aún no sé cómo reaccionar a ellos Si es posible, explique con ejemplos simples.
  2. ¿Puedo leer el pdf de forma segura después de usar el comando pdfid -d ?
  3.   

    / JS y / JavaScript indican que el documento PDF contiene JavaScript. Casi todos los documentos PDF maliciosos que he encontrado en el mundo salvaje contienen JavaScript (para explotar una vulnerabilidad de JavaScript y / o para ejecutar un spray de montón). Por supuesto, también puede encontrar JavaScript en documentos PDF sin intención maliciosa.

         

    / AA y / OpenAction indican una acción automática que debe realizarse cuando se visualiza la página / documento. Todos los documentos PDF maliciosos con JavaScript que he visto en la naturaleza tuvieron una acción automática para iniciar JavaScript sin la interacción del usuario.

    ¿Qué diferencias hay entre JS y JavaScript, AA y OpenAction si muestran lo mismo?

pregunta stackflow 19.10.2017 - 18:33
fuente

2 respuestas

6

El análisis de PDF malicioso a veces puede ser muy complicado, los atacantes se están volviendo cada vez más creativos para infectar a las personas.

Pero simplifiquemos esto, aquí hay algunos ejemplos que indicarán que el PDF es malicioso.

Explosiones basadas en JavaScript

La especificación de PDF admite la programación de JavaScript y pone a disposición de los programadores una serie de funciones de JavaScript en forma de API.

Debido a su flexibilidad y facilidad de uso, JavaScript se usa ampliamente en archivos PDF maliciosos, y se utiliza para explotar una API de JavaScript vulnerable y para configurar la memoria del programa del lector de PDF con código malicioso (también conocido como heap spray).

Explotaciones no basadas en JavaScript

Aunque la mayoría de los PDF maliciosos observados en el JavaScript de uso salvaje, ya sea para la explotación o para configurar la memoria para una mayor explotación, también hemos observado otras técnicas utilizadas. Una alternativa al uso de JavaScript es incrustar objetos Flash en el PDF.

Desde el documento PDF: El ascenso del PDF malicioso

Aquí también está bien cheat-sheet para analizar documentos maliciosos.

También eche un vistazo a ' ¿Cómo puedo saber si un archivo PDF que recibí contiene malware? '

    
respondido por el Mirsad 19.10.2017 - 23:46
fuente
6

Después de mirar un poco, parece que la herramienta que está utilizando para investigar este documento PDF es una herramienta independiente de python (?) escrita por un "investigador de seguridad". Pongo ese título entre comillas simplemente porque no sé nada sobre él, aparte del hecho de que afirma ser un investigador de seguridad y le gusta poner su nombre en su sitio web.

Tal vez alguien que sea más experto en PDF pueda venir y brindar mejor información, pero por lo que he visto hasta ahora no parece que su herramienta sea realmente útil para tratar de decidir si un archivo PDF en particular contiene javascript malicioso. Teniendo en cuenta que tanto javascript como actions es una parte del estándar de Adobe para archivos PDF, parece una locura asumir que solo porque un archivo PDF contenga javascript / acciones, podría ser malicioso. Él no lo dice él mismo, pero sí el calificativo muy inútil de que "todos los archivos PDF maliciosos que he visto contienen javascript / acciones". Aquí hay una declaración igualmente verdadera: "Todos los sitios web maliciosos que he visto contienen javascript". ¿Por lo tanto, deshabilito javascript en mi navegador o evito páginas con javascript? Obviamente no. Desde mi perspectiva, el mayor problema que veo es una investigación que quizás no comprende la diferencia entre correlación y causalidad.

Dicho esto, es posible que este documento contenga JavaScript malicioso. La mejor manera de averiguarlo sería intentar extraer el javascript en cuestión y ver qué hace realmente sin ejecutarlo. Dado que la herramienta en cuestión ya está analizando un archivo PDF, puede ser posible obtener esa información de dicha herramienta. Es posible que tengas que buscar otra herramienta o intentarlo tú mismo.

Si ninguna de estas opciones le atraiga, trataría de ver esto como un análisis de riesgo / beneficio:

  1. ¿Tiene algún motivo para desconfiar de este archivo PDF?
  2. ¿Vino de una fuente confiable?

Si proviene de una fuente confiable y no tiene motivos para desconfiar de él, probablemente lo abriría. Si está preocupado, siempre puede intentar abrirlo en una máquina virtual o encontrar un lector de PDF que no procese javascript. También puede intentar encontrar una manera de eliminar cualquier javascript del PDF antes de verlo. Me imagino que esto es lo que pdfid -d se supone que debe hacer, pero teniendo en cuenta que no sé nada sobre la herramienta que sería algo mejor dirigido al autor.

Si estás en linux algo tan simple como:

pdf2ps input.pdf - | ps2pdf - output.pdf

puede funcionar. Esto lo convertirá de pdf a ps y volverá a pdf. Básicamente, imprime el archivo, que (creo) eliminará toda la metainformación. Me imagino que pdf2ps no tiene una biblioteca de javascript incorporada, por lo que creo que es seguro asumir que cualquier javascript malicioso se eliminará de forma segura en este proceso.

Una vez más, todo esto es una respuesta imprevista, por lo que lo mejor es hacer otra pregunta sobre cómo eliminar de forma segura javascript de un archivo PDF. Estoy seguro de que es una pregunta mucho más concreta (y fácil de responder) que "¿Cómo saber si un archivo PDF está infectado?".

    
respondido por el Conor Mancone 19.10.2017 - 20:37
fuente

Lea otras preguntas en las etiquetas