
ParanoiDF - Suite de análisis de PDF basada en PeePDF de Jose Miguel Esparza (http://peepdf.eternal-todo.com/). Herramientas añadidas: cracking de contraseñas, recuperación de redacción, eliminación de DRM, extracción de JavaScript malicioso y más.
La navaja suiza de las herramientas de análisis de PDF. Basado en peepdf - http://peepdf.eternal-todo.com. Este README se basa en el README de peepdf.
Esta herramienta fue desarrollada como parte de mi tesis/proyecto de M.Sc para la School of Computing (University of Kent, Canterbury, Reino Unido). La persona detrás de la idea de esta herramienta fue Julio Hernandez-Castro (www.azhala.com).
Ver https://github.com/patrickdw123/ParanoiDF/wiki.
No se necesita instalación aparte de las dependencias comentadas, solo ejecute:
python paranoiDF.py
Hay dos opciones importantes cuando se ejecuta ParanoidF:
-f: Ignora los errores de análisis. Analizar archivos maliciosos probablemente conduzca a errores de análisis, por lo que este parámetro debe establecerse. -l: Establece el modo flexible, por lo que no busca la etiqueta endobj porque no es obligatoria. Útil con archivos malformados.
Muestra las estadísticas del archivo después de ser decodificado/descifrado y analizado:
python paranoiDF.py [options] pdf_file
Ejecuta la consola interactiva, ofreciendo una amplia gama de herramientas con las que jugar.
python paranoiDF.py -i
Es posible usar un archivo de comandos para especificar los comandos a ejecutar en el modo por lotes. Este tipo de ejecución es bueno para automatizar el análisis de varios archivos:
python paranoiDF.py [options] -s script_file
Si la información mostrada cuando se analiza un archivo PDF no es suficiente para saber si es dañino o no, los siguientes comandos pueden ayudar a hacerlo:
Muestra el grafo de árbol del archivo o de la versión especificada. Aquí podemos ver elementos sospechosos.
Muestra el mapa físico del archivo o de la versión especificada del documento. Esto es útil para ver objetos inusualmente grandes o grandes espacios entre objetos.
Busca la cadena especificada o la cadena hexadecimal en los objetos (incluidos los flujos decodificados y cifrados).
Muestra el contenido (crudo) del objeto.
Muestra el contenido (crudo) del flujo.
V2.0:
No dudes en enviar errores/críticas/alabanzas/comentarios a patrickdw123(at)gmail(dot)com.