PyMeta
PyMeta是由dafthack用PowerShell创建的工具PowerMeta的Python3重写版。它使用特制的搜索查询,通过Google和Bing抓取来识别和下载给定域名的以下文件类型(pdf, xls, xlsx, csv, doc, docx, ppt, pptx)。
下载完成后,使用Phil Harvey的exiftool从这些文件中提取元数据,并添加到一个.csv
报告中。另外,PyMeta也可以通过使用-dir
命令行参数指向一个目录,从手动下载的文件中提取元数据。更多信息请参见使用方法或所有选项部分。
为什么?
元数据是渗透测试人员和红队成员常用的发现域名、用户账户、命名规则、软件/版本号等信息的地方!
开始使用
前提条件
需要安装Exiftool,可以通过以下方式安装:
Ubuntu/Kali - apt-get install exiftool -y
Mac OS - brew install exiftool
安装:
从PyPi安装最新的稳定版本:
pip3 install pymetasec
或者,从GitHub安装最新代码:
git clone https://github.com/m8sec/pymeta
cd pymeta
python3 setup.py install
使用方法
-
在Google和Bing上搜索example.com域名内的文件,并将提取的元数据导出到csv报告:
pymeta -d example.com
-
从给定目录中的文件提取元数据并创建csv报告:
pymeta -dir Downloads/
所有选项
选项:
-h, --help 显示帮助信息并退出
-T MAX_THREADS 文件下载的最大线程数(默认为5)
-t TIMEOUT 每次搜索的最大超时时间(默认为8)
-j JITTER 请求之间的抖动时间(默认为1)
搜索选项:
-s ENGINE, --search ENGINE 搜索引擎(默认为'google,bing')
--file-type FILE_TYPE 要搜索的文件类型(默认为pdf,xls,xlsx,csv,doc,docx,ppt,pptx)
-m MAX_RESULTS 每种类型搜索的最大结果数
代理选项:
--proxy PROXY 请求代理(IP:端口)
--proxy-file PROXY 从文件加载代理进行轮换
输出选项:
-o DWNLD_DIR 创建下载目录的路径(默认为./)
-f REPORT_FILE 自定义报告名称("pymeta_report.csv")
目标选项:
-d DOMAIN 目标域名
-dir FILE_DIR 预先存在的文件目录
致谢
- Beau Bullock (@dafthack) - https://github.com/dafthack/PowerMeta
- Phil Harvey - https://exiftool.org/