Metagoofil:用于提取公共文档元数据的工具!全参数详细教程!Kali Linux教程!

简介

Metagoofil 是一款信息收集工具,旨在提取目标公司公开文档(pdf、doc、xls、ppt、docx、pptx、xlsx)的元数据。

Metagoofil 会在 Google 中搜索,识别文档并将其下载到本地磁盘。Metagoofil 不再提取元数据。请参阅 /usr/share/doc/metagoofil/README.md.gz。

Metagoofil 会在 Google 上搜索网站上公开托管的特定类型文件,并可选择将其下载到您的本地。这对于开源情报收集、渗透测试或确定您的组织向 Google 等搜索索引器泄露的文件非常有用。例如,它使用以下 Google 查询查找 example.com 上托管的所有 .pdf 文件,并可选择下载本地副本。

这是原始版本 https://github.com/laramies/metagoofil 的一个维护分支,目前默认安装在 Kali 操作系统 https://gitlab.com/kalilinux/packages/metagoofil 上。与原始版本不同,设计决定不进行元数据分析,而是使用 exiftool 等其他工具。

安装

源码安装

通过以下命令来进行克隆项目,建议请先提前挂好代理进行克隆。

进入项目并查看

创建一个 python 虚拟环境 venv ,并激活。之后就可以看到在当前项目下多出了一个 venv 的文件夹,并且终端的左边出现了一个 (venv) ,就说明我们的虚拟环境创建成功并激活了。

安装必要的依赖环境和库。

之后输入以下命令,如果出现这个界面就说明安装成功了。

Docker 安装

可以通过 Docker 的方式来进行安装,先克隆项目源码,建议请先提前挂好代理。

之后进入项目并查看。

可以看到项目里面有一个 Dockerfile 的文件。

我们先拉取 python 的镜像。

再拉取 python:3 镜像。确保后续的操作不会出现错误。

我们修改一下 Dockerfile 文件,给文件里面添加一段代码,克隆 github 项目的时候能够经过我们的代理。在 FROM python:3 后面添加。

通过代理,构建一个名为 metagoofil 的镜像。

查看一下我们当前的 Docker 镜像,可以看到我们的 metagoofil 镜像已经安装成功了。

挂载当前目录到容器中。运行以下命令,如果出现这个界面就说明安装成功了。

APT 包管理器安装

Kali Linux 默认是不安装 metagoofil 工具的,只有在 Kali Everything 的版本才会安装。可以通过以下命令来进行 apt 包管理器安装。

使用

因为中国大陆的网络特殊性,无法直接访问到 Google ,所以我们需要挂代理,我这里使用的是 proxychains4 工具来进行代理。

输入以下命令来编辑一下 proxychains4 的代理文件。

之后在最后一行添加你的代理ip地址和端口好。我这里使用的是 http 协议。

1. -h, –help

使用 curl 命令来访问百度网址 www.baidu.com,执行的命令前加上 proxychains 就表示使用代理

可以看到当我们访问百度的网址时走了配置代理的ip地址和7890端口,就说明我们代理成功了。

注意:如果您开始收到 HTTP 429 错误,则表明 Google 已正确识别出您是机器人,并将在一段时间内屏蔽您的 IP。一种解决方案是使用代理链和代理库来轮询查找。

说直白点就是更换代理的ip。

1. -h, –help

显示帮助信息并退出

2. 常规使用

从域 (-d kali.org) 扫描 PDF 文件 (-t pdf) 的文档,搜索 100 个结果 (-l 100),下载 25 个文件 (-n 25),将下载内容保存到目录 (-o kalipdf),并将输出保存到文件 (-f kalipdf.html)

3. -d DOMAIN

要搜索的域名。

4. -e DELAY

搜索间隔(以秒为单位)。如果设置太小,Google 可能会屏蔽您的 IP 地址;如果设置太大,您的搜索可能需要更长时间。默认值:30.0

5. -f [SAVE_FILE]

将 HTML 链接保存到文件中。
no -f = 不保存链接
-f = 将链接保存到 html_links_<TIMESTAMP>.txt
-f SAVE_FILE = 将链接保存到 SAVE_FILE

6. -i URL_TIMEOUT

无法访问/过期页面超时前等待的秒数。默认值:15

7. -l SEARCH_MAX

搜索的最大结果数。默认值:100

8. -n DOWNLOAD_FILE_LIMIT

每种文件类型可下载的最大文件数。默认值:100

9. -o SAVE_DIRECTORY

保存下载文件的目录。默认值为当前工作目录,即“.”

10. -r NUMBER_OF_THREADS

下载线程数。默认值:8

11. -t FILE_TYPES

要下载的文件类型(pdf,doc,xls,ppt,odp,ods,docx,xlsx,pptx)。要搜索所有 17,576 个三字母文件扩展名,请输入“ALL”

12. -u [USER_AGENT]

用于针对 -d 域名检索文件的用户代理。
no -u = “Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)”
-u = 随机化用户代理
-u “My custom user agent 2.0” = 您的自定义用户代理

13. -w

下载文件,而不仅仅是查看搜索结果。

laramies版本的 metagoofil

我在搜索的过程发现 kali 的官方文档里面有两个不太一样的 metagoofil 的版本截图。上面的是通过 apt 包管理器安装的。kali官方的安装默认是由 github 用户 opsdisk 的 metagoofil 工具提供的。但还有一个版本也是很多人在使用,就是用 github 用户  laramies 提供的 metagoofil 工具。所以我打算也讲一下  laramies 在 github 上分发的版本。

以下是 github 用户 laramies 提供的 metagoofil 工具的 github 页面截图。

这里附上链接:https://github.com/laramies/metagoofil

安装

通过以下命令来克隆项目,建议请先提前挂好代理进行克隆。

进入目录并查看

输入以下命令,如果出现这个界面就说明安装成功了。

1. -h

使用目录中的文档(本地分析时使用“yes”)

2. -d

搜索域名

3. -t

下载文件类型 (pdf、doc、xls、ppt、odp、ods、docx、xlsx、pptx)

4. -l

搜索结果数量限制(默认 200 条)

5. -n

下载文件数量限制

6. -o

工作目录(下载文件的保存位置)

7. -f

输出文件

之后可以看到我们保存的文件名为 google.html,在文件夹里面可以找到。

通过 FireFox 浏览器去打开,就可以查看结果。

综合使用

本地目录分析

总结

Metagoofil 是一款强大的信息收集工具,能够从公开文档中提取敏感元数据,为渗透测试前期阶段提供重要线索。通过合理使用,可大大提升攻击面识别的效率和准确性,是信息侦察阶段不可或缺的辅助工具之一。

在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。

资源下载: