
Générez des fichiers malveillants en utilisant l'attaque homoglyphique récemment publiée (CVE-2021-42694)
Générer des fichiers malveillants en utilisant la vulnérabilité de type homoglyphe récemment publiée, découverte au moins en C, C++, C#, Go, Python, Rust, JS, ...
Citation de cve.mitre.org
Un problème a été découvert dans les définitions de caractères de la spécification Unicode jusqu'à la version 14.0. La spécification permet à un adversaire de produire des identifiants de code source tels que des noms de fonctions en utilisant des homoglyphes qui s'affichent visuellement identiques à un identifiant cible. Les adversaires peuvent en tirer parti pour injecter du code via des définitions d'identifiants adverses dans des dépendances logicielles en amont, invoquées de manière trompeuse dans les logiciels en aval.
Données brutes pour les homoglyphes (homoglyphs.txt) extraites de ici et données nettoyées pour supprimer les caractères italiques et dissemblables.
Voir la source originale de l'Université de Cambridge :
https://www.trojansource.codes/trojan-source.pdf
python3 codegen.py [-h] [-i INFILE] [-o OUTFILE] [-r] [-a]
| arg | long arg | param | description |
|---|
| -h | --help | none | afficher ce message d'aide et quitter |
| -i | --infile | INFILE | Fichier d'entrée contenant les espaces réservés d'homoglyphes |
| -o | --outfile | OUTFILE | Fichier de sortie pour stocker le code final |
| -r | --random | none | Définir le drapeau pour choisir un homoglyphe aléatoire ; prendre le premier si non défini |
| -a | --about | none | Afficher le texte à propos |
Les exemples ont été créés par moi ou sont tirés du PDF de référence. Pour exécuter ces exemples, exécutez codegen.py avec les arguments requis :
python3 codegen.py -i infile.xyz -o outfile.xyz et exécutez/compilez outfile.xyz.
Actuellement, seuls les chiffres [0-9] ainsi que les caractères minuscules et majuscules [a-zA-Z] sont pris en charge. Pour remplacer un caractère pris en charge dans votre modèle par un homoglyphe (aléatoire), entourez simplement le caractère de signes dollar $. Consultez les exemples pour avoir une première idée de ce à quoi un modèle pourrait ressembler.