
Couteau suisse pour le chiffrement de payloads, l'obfuscation et la conversion en tableaux d'octets – le tout en une seule commande (14 formats de sortie pris en charge) ! ☢️
Couteau suisse pour le chiffrement de payloads, l'obfuscation et la conversion en tableaux d'octets – le tout en une seule commande !
Il prend en charge 3 algorithmes de chiffrement, 4 algorithmes d'encodage / d'obfuscation et 14 formats de sortie.

Télécharger le binaire compilé ou compiler le code source Go.
Exemple :
# Convert .bin file into C bytes array with XOR encryption and IPv4Fuscation
./ByteCaster -i shellcode.bin -f c -x xor -k 'Test123' -e ipv4
# Convert .bin file into base64 string with XOR encryption
./ByteCaster -i shellcode.bin -x xor -k 'Test123' -e base64

REMARQUE : la séquence des opérations est toujours la même :
- Chiffrement
- Encodage
- Formatage de la sortie
-i / --input <path> [requis]
Fichier binaire d'entrée.
-f / --format <value> [optionnel, défaut : raw]
Format de sortie des données traitées. Cela génère les données finales sous forme de tableau d'octets dans le langage de programmation sélectionné. La sortie est toujours envoyée sur STDOUT.
Pour éviter d'appliquer un formatage de sortie, utilisez la valeur raw (par défaut).
Valeurs disponibles : raw, hex, c, go, powershell, php, js, rust, csharp, nim, zig, ruby, python, java
-x / --enc-alg <value> + -k / --enc-key <string> [optionnel]
Chiffrement des données. Les deux paramètres, l'algorithme de chiffrement et la chaîne de clé, doivent être fournis.
Valeurs disponibles : xor, aes256, rc4
Tous les algorithmes de chiffrement pris en charge sont décrits en détail ci-dessous.
-e / --encoding <value> [optionnel]
Encodage des données. Souvent utilisé comme obfuscation pour dérouter l'analyse ou faire varier le niveau d'entropie des données.
Valeurs disponibles : base32, base64, ipv4, mac
Tous les algorithmes d'encodage pris en charge sont décrits en détail ci-dessous.
xor [0 % de surcharge]Chiffrement XOR simple typique (a^b). Chaque octet est XORé avec l'octet de la clé.
aes256 [28 octets de surcharge]AES-256-GCM avec une clé de 32 octets dérivée de la fonction de hachage SHA-256.
Format du texte chiffré : nonce || ciphertext. Le nonce est stocké dans les 12 premiers octets, suivi des données chiffrées et du tag d'authentification (le tag est ajouté automatiquement par GCM dans le texte chiffré).
Implémentation Go standard du chiffrement AES : crypto/aes
Implémentation Go standard de la dérivation de clé SHA-256 : crypto/sha256
rc4 [0 % de surcharge]Implémentation Go standard du chiffrement RC4 : crypto/rc4
base32 [60 à 65 % de surcharge]Implémentation Go standard de l'encodage Base32 : encoding/base32
base64 [33 à 37 % de surcharge]Implémentation Go standard de l'encodage Base64 : encoding/base64
ipv4 [100 à 300 % de surcharge]Cette technique est connue sous le nom d'IPv4Fuscation. Chaque octet de sortie est converti en un octet de l'adresse IPv4 sous forme de nombre décimal.
Exemple de données :
{ 0xe9, 0x36, 0x17, 0xbb, 0xbd, 0x7f, 0x22, 0x10 }
La sortie (tableau d'octets) ressemble exactement à ceci en mémoire :
233.54.23.187\0189.127.34.16\0 ...
REMARQUE :
- Chaque adresse IP se termine par un octet nul !
- Si le nombre d'octets n'est pas divisible par 4, les octets manquants ajoutés à la dernière adresse IP sont 255.
mac [200 % de surcharge]Cette technique est connue sous le nom de MACFuscation. Chaque octet de sortie est converti en un octet de l'adresse MAC sous forme de nombre hexadécimal (en minuscules).
Exemple de données :
{ 0xe9, 0x36, 0x17, 0xbb, 0xbd, 0x7f, 0x22, 0x10, 0x84, 0xA7, 0x6f, 0xcc }
La sortie (tableau d'octets) ressemble exactement à ceci en mémoire :
e9:36:17:bb:bd:7f\022:10:84:a7:6f:cc\0
REMARQUE :
- Chaque adresse MAC se termine par un octet nul !
- Les nombres hexadécimaux sont en minuscules.
- Si le nombre d'octets n'est pas divisible par 6, les octets manquants ajoutés à la dernière adresse MAC sont 255 (
ff).