peepdf – PDF分析工具
peepdf是一个Python工具,用于探索PDF文件,以确定文件是否有害。
此工具的目的是提供安全研究人员在PDF分析中可能需要的所有必要组件,而无需使用3或4个工具来完成所有任务。使用peepdf,可以看到文档中的所有对象显示可疑元素,支持最常用的过滤器和编码,它可以解析文件,对象流和加密文件的不同版本。
通过安装PyV8和Pylibemu,它也提供了Javascript和shellcode分析包装器。除此之外,它还能够创建新的PDF文件,修改现有文件并对其进行模糊处理。
peepdf的主要功能如下:
分析:
-
解码:十六进制,八进制,名称对象
-
更常用的过滤器
-
对象中的引用以及引用对象的位置
-
字符串搜索(包括流)
-
物理结构(抵消)
-
逻辑树结构
-
元数据
-
版本之间的修改(更改日志)
-
压缩对象(对象流)
-
分析和修改Javascript(PyV8):unescape,replace,join
-
Shellcode分析(Libemu python包装器,pylibemu)
-
变量(设置命令)
-
提取旧版本的文档
-
轻松提取对象,Javascript代码,shellcode(>,>>,$>,$ >>)
-
检查VirusTotal上的哈希值
创建/修改:
-
基本PDF创建
-
在打开文档时使用Javascript创建PDF
-
创建对象流以压缩对象
-
嵌入式PDF
-
字符串和名称混淆
-
格式错误的PDF输出:没有endobj,标题中有垃圾,标题错误......
-
过滤器修改
-
对象修改
执行模式:
-
简单的命令行执行
-
强大的交互式控制台(彩色或不彩色)
-
批处理模式
选项:
-h, -help显示此帮助消息并退出
-i, -interactive设置控制台模式。
-s SCRIPTFILE, -load-script = SCRIPTFILE 加载存储在指定文件中的命令执行它们。
-c, -check-vt检查VirusTotal上的PDF文件的哈希值。
-f, -force-mode设置强制解析模式以忽略错误。
-l, -locose-mode设置松散的解析模式以捕获格式错误的对象。
-m, - 手动分析避免自动Javascript分析。有用的 堆喷涂等永恒循环。
-u, - 更新使用来自的最新文件更新peepdf库。
-g, - grinch-mode避免交互式控制台中的彩色输出。
-v, - version显示程序的版本号。
-x, - xml以XML格式显示文档信息。
$ ./peepdf.py
-iPPDF>
帮助记录命令(输入帮助 ):
========================================
bytes errors js_eval open sctest
changelog退出js_join退出搜索
创建过滤器js_unescape rawobject set
解码哈希日志rawstream show
解密帮助malformed_output引用流
嵌入信息元数据替换树
编码js_analyse修改重置vtcheck encode_strings js_beautify object save xor
加密js_code偏移save_version xor_search
下载地址:https://github.com/jesparza/peepdf/releases