¿Cómo ver de manera segura un PDF malicioso?

36

Tengo un PDF con información importante que puede contener malware. ¿Cuál sería la mejor manera de verlo?

    
pregunta Anders 19.08.2012 - 19:02
fuente

12 respuestas

25

Las vulnerabilidades basadas en documentos se dirigen no al documento en sí, sino a alguna vulnerabilidad en el visor. Si ve el documento en un programa que no es vulnerable (o en una configuración que inhibe la vulnerabilidad), no será explotado.

El problema real es saber si tu espectador es vulnerable o no, lo que generalmente significa saber específicamente qué es el exploit. Pero hay visores de PDF alternativos como foxit o incluso el visor incorporado de Google Chrome que no necesariamente tienen las mismas vulnerabilidades que el visor oficial de Adobe. Esto no es necesariamente cierto para todas las vulnerabilidades de todas , por lo que es importante entender en qué se está metiendo antes de tiempo.

EDIT
Si se encuentra con frecuencia lidiando con materiales potencialmente maliciosos, sería muy inteligente configurar un entorno virtual reforzado. Recomiendo iniciar en un sistema Linux y ejecutar su sistema operativo de destino (generalmente Windows) en Virtualbox o un entorno similar. Guarde una instantánea del sistema operativo virtual y luego vuelva a esa instantánea cuando haya terminado de interactuar con el contenido malicioso. Además, no es una mala idea ejecutar el entorno Linux host desde una instalación de solo lectura (es decir, Live-CD).

    
respondido por el tylerl 19.08.2012 - 19:45
fuente
15

Póngalo en un visor de PDF que no sea vulnerable a la explotación. Si es el espectador de otra persona, eso es aún más seguro. Pruebe Google Docs , donde lo analizarán y lo mostrarán como HTML, por lo que la carga maliciosa no lo dañará. (Estoy seguro de que su analizador de PDF es extremadamente seguro, por lo que no debería sentirse mal por la posibilidad de infectarlos).

    
respondido por el B-Con 19.08.2012 - 22:22
fuente
6

Use una máquina virtual que pueda revertirse para limpiar la pizarra después de las pruebas. Si el lector de PDF es vulnerable, su estación de trabajo real será mucho menos probable que se vea afectada.

    
respondido por el user65388 20.08.2012 - 08:47
fuente
6

Use pdf.js con un buscador de espacio aislado (como Chromium) en una máquina virtual sin acceso a la red.

Debería ser bastante complicado para un malware salir de esto.

    
respondido por el ysdx 24.08.2012 - 10:36
fuente
4

En esta situación, siempre he usado las "cadenas" del comando de shell Unix / Linux / OSX. En los sistemas * nix, haga esto:

strings ScaryFile.pdf | less

También puede obtener "cadenas" para Windows, como se menciona en Polinomio, a continuación. Puede descargarlo aquí . Se ejecuta en XP o superior. Aquí hay un ejemplo de uso en Windows:

strings ScaryFile | findstr /i TextToSearchFor

Pero por el resto de mi respuesta aquí, asumiré que estás en * nix, ya que esa es mi experiencia con las cuerdas. Suponiendo que todo lo que está buscando es contenido de texto (no mapas de bits o gráficos vectoriales), puede desplazarse hacia abajo o buscar y encontrar fragmentos del texto que necesita. Desafortunadamente, para encontrarlo, tiene que navegar a través de toneladas de metadatos, la mayoría de los cuales se encuentran en XML, y la configuración de formato en algún otro marcado, más algunos binarios (como ascii, no bytes en bruto). Así que es posible que desee utilizar las capacidades de búsqueda del comando "menos". Para buscar en el documento la cadena que distingue entre mayúsculas y minúsculas "thingyouwant", use la tecla de barra diagonal + su cadena + retorno:

/thingyouwant

Luego presiona la tecla "n" para ver la siguiente instancia de "thingyouwant", una y otra vez hasta que encuentres lo que buscas. Puedes usar el "?" Clave para hacer lo mismo en sentido ascendente. Mira la página de menos man (escribe "hombre menos") para más magia.

También puede analizar cosas como a qué URL se vincula el documento:

strings ScaryFile.pdf| grep -i "http" | sort | uniq | less

Pero, como se indicó anteriormente, el 99% de lo que verá en la salida de "cadenas" será la configuración de metadatos y formato.

    
respondido por el Luke Sheppard 20.08.2012 - 07:04
fuente
1

Podemos decir que TODOS los ataques en libertad o dirigidos utilizando archivos PDF maliciosos están cubiertos con técnicas de ofuscación para reforzar el proceso de análisis o detección.

La mayoría de las técnicas de ofuscación son principalmente el uso de la ofuscación de JavaScript como eval (), String.fromCharCode (), argument.callee (), base64 e incluso con valores clave de PDF como / Author, / Keywords, / CreationDate y etc. .

Es posible que no podamos ver el contenido del archivo PDF malintencionado (los que se encuentran dentro de la secuencia de objetos PDF), ya que podría estar desinflado con FlateDecode. Pero hay herramientas disponibles que nos permiten inflar el contenido dentro del flujo de objetos PDF, como pdf-parser (http://blog.didierstevens.com/programs/pdf-tools/) y FileInsight (http: // www. mcafee.com/us/downloads/free-tools/fileinsight.aspx). La mayor parte del código de JavaScript confuso se encuentra dentro del flujo de PDF inflado.

Podemos recomendarle que obtenga la última versión parcheada del lector de PDF con la funcionalidad JavaScript desactivada para abrir el archivo, pero la buena solución es obtener una máquina virtual donde pueda eliminarla o revertir la instantánea después de abrir el archivo. .

    
respondido por el d3t0n4t0r 04.10.2012 - 00:44
fuente
1

Otra opción fácil y que requiere menos tiempo es abrirla en la aplicación Sandboxie, que la aislaría.

    
respondido por el Lee 15.02.2017 - 12:24
fuente
1

Puedes abrir el PDF en un contenedor. Aquí hay una imagen acoplable que puede usar: enlace

MY_PDF_DIR='/tmp/foobar'
docker pull chrisdaish/acroread
docker run  -v $MY_PDF_DIR:/home/acroread/Documents:rw \
        -v /tmp/.X11-unix:/tmp/.X11-unix \
        -e uid=$(id -u) \
        -e gid=$(id -g) \
        -e DISPLAY=unix$DISPLAY \
        --name acroread \
        chrisdaish/acroread

Esto abrirá un Acrobat Reader que se mostrará a través del servidor X local.

El enfoque reduce la superficie de ataque, pero no es 100% seguro ya que tiene acceso a su servidor X.

    
respondido por el Valer 08.03.2017 - 12:00
fuente
1

Las últimas versiones de Adobe Reader (versión 10.1 y versiones posteriores) admiten "Modo protegido" o sandboxing que se puede usar para ver archivos PDF que no son de confianza. Esto restringe efectivamente el acceso del proceso que muestra el archivo PDF a %appdata%\Adobe\Acrobat y otros archivos PDF que el usuario abre explícitamente.

El modo protegido debe activarse accediendo al menú Editar > Preferencias y seleccionando la pestaña General o Seguridad, según la versión:

Obviamente, querrás cerrar cualquier PDF sensible como tus estados de cuenta bancarios antes de abrir el que no es de confianza.

    
respondido por el Dmitry Grigoryev 21.06.2017 - 12:26
fuente
1

Una forma sencilla y directa de abrir archivos PDF posiblemente maliciosos en una computadora con Windows es usar Sumatra Visor de PDF. Sumatra es un visor de PDF pequeño y ligero que no tiene soporte alguno para formularios rellenables interactivos o javascript en archivos PDF.

Sumatra también tiene opciones de configuración para bloquearlo aún más , como prevenir Sistema de archivos o acceso a internet.

El formato de archivo PDF tiene muchas características interactivas destinadas a hacer que el formato sea más útil, pero que crea riesgos de seguridad significativos, que incluyen:  - El uso de javascript para proporcionar contenido interactivo , que permite    automatización de la interfaz de usuario  - La capacidad de interactuar con el local sistema de archivos  - la capacidad de emitir una solicitud HTTP a un servidor remoto  - la capacidad de llevar una carga de archivos adjuntos arbitrarios, incluido el malware  - la capacidad de presentar una formulario rellenable para el usuario, y luego capturar    y actuar sobre la información rellenada. Estas habilidades combinadas hacen un poderoso conjunto de herramientas para un atacante. Muchos de los llamados ataques de "descarga en automóvil" dependen del uso de archivos PDF.

Los visores de PDF comunes intentan proporcionar seguridad para estas funciones creando entornos de espacio aislado o dando indicaciones al usuario, pero estas soluciones son más complejas (y, por lo tanto, están sujetas a sus propias vulnerabilidades) y menos compatibles con los productos de otras partes que las más simples Solución de simplemente dejar de lado esa funcionalidad por completo.

Sumatra es un ejemplo de un visor de PDF que no proporciona muchas de las funciones que se utilizan más comúnmente en las vulnerabilidades de PDF. Al eliminar por completo las categorías completas de posibles ataques, estos programas reducen en gran medida el riesgo de ver archivos PDF desconocidos.

Otra ventaja de usar un visor menos popular es que, dado que es menos común y menos poderoso, es un objetivo menos interesante.

El visor de Sumatra posiblemente podría ser explotado por un PDF especialmente diseñado que aproveche algún error desconocido para provocar un desbordamiento de búfer, por ejemplo. Sin embargo, estos casos son raros y en los últimos años no ha habido ningún problema de seguridad significativo para Sumatra.

    
respondido por el barbecue 18.02.2017 - 20:53
fuente
0

Primero cárguelo en virustotal.com para que lo analicen más de 20 programas AV, luego ábralo en la Máquina virtual usando las opciones mencionadas por otros.

    
respondido por el Jan Doggen 04.10.2012 - 16:11
fuente
0

Puede utilizar una combinación de visor / SO menos popular. Supongo que nadie se dirige a Okular que se ejecuta en FreeBSD (aunque aún puede ser vulnerable), por lo que si abres el archivo en una máquina virtual, deberías estar muy seguro.

Para hacer daño, la carga útil rogue debe coincidir con la versión del visor y el sistema operativo y la arquitectura de la CPU, por supuesto. Se trata realmente de elementos de memoria y ensamblaje de bajo nivel (la carga útil espera ubicarse en una dirección de memoria particular y espera que algunas funciones estándar del sistema estén disponibles). Si cambia alguno de ellos, es posible que la carga útil no se ejecute correctamente (o que el espectador simplemente se bloquee sin causar daño).

    
respondido por el filo 18.03.2016 - 12:52
fuente

Lea otras preguntas en las etiquetas