一个文件共享工具,可让您在发生文件泄漏事故时找到负责人

作者:Sec-Labs | 发布时间:

微信截图_20220128213653.png

 

 

介绍

                          ,_         
                        ,'  '\,_     Utku Sen's
                        |_,-'_)         wholeaked
                        /##c '\  (   
                       ' |'  -{.  )  "When you have eliminated the impossible,
                         /\__-' \[]  whatever remains, however improbable,
                        /'-_'\       must be the truth" - Sherlock Holmes
                        '     \    

Wholeaked 是一个文件共享工具,可让您在发生泄漏时找到负责人。它是用 Go 编写的。

如何运作?

Wholeaked 获取将被共享的文件和收件人列表。它为每个收件人创建一个唯一的签名并将其秘密添加到文件中。之后,它可以使用 Sendgrid、AWS SES 或 SMTP 集成自动将文件发送给相应的收件人。您也可以手动共享它们,而不是通过电子邮件发送它们。

Wholeaked 适用于每种文件类型。但是,它具有针对常见文件类型(如 PDF、DOCX、MOV 等)的附加功能。

分享过程

                                                       +-----------+
                                                       |Top Secret |
                                                       |.pdf       |       
                                                       |           |       
                                                      -|           |       
                                                     / |           |       
                                                    /  |Hidden     |       
                                             a@gov /   |signature1 |       
                                                  /    +-----------+       
                                                 /     +-----------+       
+-----------++-----------+                      /      |Top Secret |       
|Top Secret ||Recipient  |                     /       |.pdf       |       
|.pdf       ||List       |      +---------+   /        |           |       
|           ||           |      |utkusen/ |  /  b@gov  |           |       
|           ||a@gov      |----->|wholeaked| /----------+           |       
|           ||b@gov      |      |         | \          |Hidden     |       
|           ||c@gov      |      +---------+  \         |signature2 |       
|           ||           |                    \        +-----------+       
+-----------++-----------+                     \       +-----------+       
                                                \      |Top Secret |       
                                                 \     |.pdf       |       
                                           c@gov  \    |           |       
                                                   \   |           |       
                                                    \  |           |       
                                                     \ |Hidden     |       
                                                      -|signature3 |       
                                                       +-----------+    

验证部分

要查找谁泄露了文件,您只需将泄露的文件提供给wholeaked,它会通过比对数据库中的签名来揭示责任人。

+-----------+             +---------+                           
|Top Secret |             |Signature|                           
|.pdf       |  +---------+|Database |                           
|           |  |utkusen/ ||         |         Document leaked by
|           |->|wholeaked||         |--------+                  
|           |  |         ||         |              b@gov        
|Hidden     |  +---------+|         |                           
|Signature2 |             |         |                           
+-----------+             +---------+                           
                                                               

演示视频

https://www.youtube.com/watch?v=EEDtXp9ngHw

文件类型和检测模式

Wholeaked 可以将唯一签名添加到文件的不同部分。可用的检测模式如下:

文件哈希:文件的 SHA256 哈希。支持所有文件类型。

二进制:签名直接添加到二进制中。几乎所有文件类型都受支持。

元数据:签名被添加到文件的元数据部分。支持的文件类型:PDF、DOCX、XLSX、PPTX、MOV、JPG、PNG、GIF、EPS、AI、PSD

水印:在文本中插入一个不可见的签名。仅支持 PDF 文件。

安装

从二进制

您可以从发布页面下载预构建的二进制文件并运行。例如:

unzip wholeaked_0.1.0_macOS_amd64.zip

./wholeaked --help

从源头

  1. 在您的系统上安装 Go

  2. 跑:go install github.com/utkusen/wholeaked@latest

安装依赖

Wholeaked 需要exiftool将签名添加到文件的元数据部分。如果您不想使用此功能,则无需安装。

  1. 基于 Debian 的 Linux:运行apt install exiftool
  2. macOS:运行brew install exiftool
  3. Windows:从此处https://exiftool.org/下载 exiftool并将其exiftool.exe与 Wholeaked 放在同一目录中。

Wholeaked 需要pdftotext验证 PDF 文件中的水印。如果您不想使用此功能,则无需安装。

  1. 从此处下载适用于 Linux、macOS 或 Windows 的“Xpdf 命令行工具”:https ://www.xpdfreader.com/download.html
  2. 提取存档并导航到bin64文件夹。
  3. pdftotext(或pdftotext.exe)可执行文件复制到同一个文件夹中
  4. 对于基于 Debian 的 Linux:运行apt install libfontconfig命令。

用法

基本用法

Wholeaked 需要项目名称-n、签名将添加的基本文件的路径以及-f目标收件人列表-t

示例命令: ./wholeaked -n test_project -f secret.pdf -t targets.txt

targets.txt文件应包含以下格式的名称和电子邮件地址:

Utku Sen,utku@utkusen.com
Bill Gates,bill@microsoft.com

执行完成后,将生成以下唯一文件:

test_project/files/Utku_Sen/secret.pdf
test_project/files/Bill_Gates/secret.pdf

默认情况下,wholeaked 将签名添加到“文件类型和检测模式”部分中定义的所有可用位置。如果你不想使用某个方法,你可以用一个false标志来定义它。例如:

./wholeaked -n test_project -f secret.pdf -t targets.txt -binary=false -metadata=false -watermark=false

发送电子邮件

为了发送电子邮件,您需要填写CONFIG文件中的某些部分。

  • 如果您想通过 Sendgrid 发送电子邮件,请在该SENDGRID_API_KEY部分中输入您的 API 密钥。

  • 如果您想通过 AWS SES 集成发送电子邮件,您需要awscli在您的机器上安装并添加所需的 AWS 密钥。Wholeaked 将自行读取密钥。但是您需要AWS_REGION在配置文件中填写该部分。

  • 如果您想通过 SMTP 服务器发送电子邮件,请填写SMTP_SERVERSMTP_PORTSMTP_USERNAMESMTP_PASSWORD部分。

其他需要填写的字段:

  • EMAIL_TEMPLATE_PATH电子邮件正文的路径。您可以指定使用 HTML 或文本格式。
  • EMAIL_CONTENT_TYPE可以是htmltext
  • EMAIL_SUBJECT电子邮件的主题
  • FROM_NAME来自电子邮件的名称
  • FROM_EMAIL从邮件的邮件

要指定发送方法,您可以使用-sendgrid-ses-smtp标志。例如:

./wholeaked -n test_project -f secret.pdf -t targets.txt -sendgrid

验证泄露的文件

您可以使用该-validate标志来显示泄露文件的所有者。Wholeaked 将比较文件中检测到的签名和位于项目文件夹中的数据库。例子:

./wholeaked -n test_project -f secret.pdf -validate

重要提示:project_folder/db.csv如果您想使用文件验证功能,则不应删除该文件。如果该文件被删除,wholeaked 将无法比较签名。

标签:工具分享