一个文件共享工具,可让您在发生文件泄漏事故时找到负责人
作者:Sec-Labs | 发布时间:

介绍
,_
,' '\,_ 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
从源头
-
在您的系统上安装 Go
-
跑:
go install github.com/utkusen/wholeaked@latest
安装依赖
Wholeaked 需要exiftool将签名添加到文件的元数据部分。如果您不想使用此功能,则无需安装。
- 基于 Debian 的 Linux:运行
apt install exiftool - macOS:运行
brew install exiftool - Windows:从此处https://exiftool.org/下载 exiftool并将其
exiftool.exe与 Wholeaked 放在同一目录中。
Wholeaked 需要pdftotext验证 PDF 文件中的水印。如果您不想使用此功能,则无需安装。
- 从此处下载适用于 Linux、macOS 或 Windows 的“Xpdf 命令行工具”:https ://www.xpdfreader.com/download.html
- 提取存档并导航到
bin64文件夹。 - 将
pdftotext(或pdftotext.exe)可执行文件复制到同一个文件夹中 - 对于基于 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_SERVER、SMTP_PORT、SMTP_USERNAME、SMTP_PASSWORD部分。
其他需要填写的字段:
EMAIL_TEMPLATE_PATH电子邮件正文的路径。您可以指定使用 HTML 或文本格式。EMAIL_CONTENT_TYPE可以是html或textEMAIL_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 将无法比较签名。