Comment la compression UPX sert à échapper aux outils de détection

La compression est un excellent moyen pour les hackers de dissimuler des logiciels malveillants et de les rendre indétectables. Voici comment y remédier.

Écrit par
Julien Maury
Julien Maury
Apr 13, 2023
5 minute read
eSecurity Planet Le contenu et les recommandations de produits sont indépendants de la rédaction. Nous pouvons gagner de l'argent lorsque vous cliquez sur des liens vers nos partenaires. En savoir plus

Ultimate Packer for Executables (UPX) est un packeur open source capable de réduire considérablement la taille d’un fichier exécutable (davantage que les fichiers Zip) et compatible avec un large éventail de formats exécutables, comme les DLL Windows, les applications macOS ou les fichiers ELF Linux.

Les éditeurs utilisent parfois le packing pour empêcher la rétro-ingénierie basique ou la redistribution illégale. Les packeurs prennent essentiellement l’exécutable d’origine et lui ajoutent un petit morceau de code appelé « stub » dans l’exécutable nouvellement créé. Le stub sert ensuite à décompresser le fichier et à « restaurer » l’exécutable dans son état d’origine.

Si certains packeurs comme UPX se contentent de compresser le fichier, d’autres peuvent également le chiffrer.

Les attaquants peuvent utiliser la compression pour dissimuler des logiciels malveillants dans des fichiers apparemment inoffensifs et légitimes, ce qui peut tromper la détection basée sur les signatures, voire des solutions antivirus avancées basées sur l’intelligence artificielle (IA). Voici comment les hackers peuvent utiliser UPX pour rendre les logiciels malveillants indétectables.

À lire également : Comment les hackers échappent à la détection

Comment fonctionne l’évasion basée sur UPX

UPX peut empaqueter un exécutable malveillant et modifier ses octets afin de générer une version indétectable du logiciel malveillant.

Grâce à un exécutable d’archive auto-extractible, un packeur peut se décompresser en mémoire lorsqu’un fichier empaqueté est exécuté.

Le fichier empaqueté est généralement plus petit sur le disque, mais plus volumineux en mémoire. Si vous examinez un fichier suspect, vous pourrez voir des sections typiques comme les suivantes :

  • UPX0 : Une section vide qui ne contient aucune donnée brute réelle, mais dont la taille en mémoire virtuelle est énorme
  • UPX1 : Le stub et l’exécutable compressé
Advertisement

Il existe d’autres sections, mais nous nous en tiendrons ici à l’essentiel.

Lorsque le fichier empaqueté avec UPX est exécuté, toutes les sections empaquetées sont décompressées en mémoire, y compris le code malveillant que le hacker peut y avoir stocké, puis le programme passe au point d’entrée d’origine (OEP) pour exécuter l’exécutable.

La compression, une technique d’évasion classique

Si l’évasion basée sur UPX peut sembler un peu difficile à comprendre au premier abord, la compression est une méthode classique pour éviter la détection par les antivirus.

Un test simple que vous pouvez effectuer consiste à téléverser la version originale et la version empaquetée d’un échantillon de logiciel malveillant sur votre plateforme préférée — par exemple, VirusTotal. La version empaquetée est généralement détectée bien moins souvent que la version originale du logiciel malveillant, et de nombreux outils antivirus peuvent tout simplement ne pas la détecter.

Il n’existe pas beaucoup de statistiques sur la fréquence d’utilisation d’UPX dans le déploiement de logiciels malveillants, mais MITRE recense diverses procédures « fondées sur le packing » que les adversaires peuvent exploiter pour dissimuler leur code. De nombreux cas semblent impliquer UPX.

Détecter les fichiers empaquetés avec UPX

Vous pouvez essayer une simple commande UPX pour repérer les fichiers empaquetés avec UPX :

upx -l {suspicious_binary}

Bien sûr, cette méthode est limitée et ne fonctionnera pas à tous les coups. Une autre option limitée, mais néanmoins valable, consiste à afficher le code hexadécimal et à rechercher des chaînes spécifiques comme UPX :

hexdump -C {suspicious_binary} | grep "UPX"

Vous pouvez également utiliser des analyseurs d’exécutables portables (PE) pour détecter les fichiers empaquetés avec UPX.

Déjouer le brouillage d’UPX et les fichiers corrompus

De nombreux exploits observés sur le terrain ne s’appuient pas sur UPX lui-même pour décompresser le code malveillant, mais génèrent intentionnellement des fichiers empaquetés corrompus.

L’exemple basique que nous avons examiné précédemment comportait des sections très reconnaissables, mais il est possible de modifier des octets ou d’insérer des chaînes à l’aide d’un éditeur hexadécimal ou d’un autre outil afin de rendre le fichier beaucoup plus difficile à détecter.

Advertisement

Même si une telle opération risque de rendre impossible le dépaquetage classique avec la commande upx -d et de provoquer des erreurs, le binaire continuera de s’exécuter.

Des outils comme upxdump.py, recommandés par Akamai, peuvent être capables de réparer des fichiers empaquetés avec UPX intentionnellement corrompus, en réparant les en-têtes corrompus fréquemment utilisés pour brouiller les logiciels malveillants empaquetés avec UPX.

Attention toutefois : l’auteur prévient que certaines variantes se contentent de supprimer les en-têtes UPX ou d’injecter des octets nuls, ce qui ferait échouer l’outil.

Analyse des packeurs et techniques de dépaquetage anti-UPX

Les spécialistes de la rétro-ingénierie et les analystes de logiciels malveillants peuvent utiliser des outils comme ollydbg, radar2 ou même le populaire Ghydra pour analyser les fichiers empaquetés. L’étape critique consiste à déterminer si le binaire utilise ou non des techniques de dépaquetage anti-UPX avant de poursuivre.

Bien que de nombreux types de logiciels malveillants, comme Mirai, utilisent des techniques de dépaquetage anti-UPX telles que des fichiers remplis d’octets nuls pour ralentir les chercheurs en sécurité, cela ne signifie pas qu’il est impossible de les dépaqueter. Des outils comme upx-mod peuvent vous aider.

Cela dit, les acteurs les plus sophistiqués pourraient rendre leurs fichiers « indépaquetables » par les implémentations UPX standard, mais cela semble plutôt rare.

Bonnes pratiques pour limiter les logiciels malveillants empaquetés avec UPX

L’utilisation de fichiers malveillants empaquetés avec UPX montre que vous ne pouvez pas vous reposer uniquement sur les logiciels antivirus et autres solutions basées sur les signatures pour détecter les logiciels malveillants, aussi sophistiqués ces outils se présentent-ils.

Sans ces outils, vous seriez encore plus vulnérable, mais les attaquants chercheront toujours des moyens de détourner des utilitaires légitimes et de contourner la détection.

UPX est un format universel qui peut servir à cibler diverses plateformes, et les techniques de dépaquetage anti-UPX peuvent être utilisées pour entraver la rétro-ingénierie et l’analyse des logiciels malveillants.

Une bonne pratique consiste à désactiver l’exécution dans certains répertoires, comme ceux utilisés pour les fichiers temporaires et les téléchargements, lorsque les utilisateurs n’en ont pas besoin, en particulier dans les environnements professionnels, ce qui peut être réalisé à l’aide de politiques de sécurité.

Advertisement

Veillez à ce que le système n masque pas les extensions de fichiers, mais même si ce n’est pas le cas, cela ne garantit pas que personne ne cliquera imprudemment, notamment lors de campagnes ciblées. Vous devez journaliser les activités et comportements suspects.

À lire ensuite :

Julien Maury

eSecurity Planet contributor Julien Maury writes about penetration testing, code security, open source security and more. He is a backend developer, a mentor and a technical writer who enjoys sharing his knowledge and learning new concepts.

eSecurity Planet Logo

eSecurity Planet is a leading resource for IT professionals at large enterprises who are actively researching cybersecurity vendors and latest trends. eSecurity Planet focuses on providing instruction for how to approach common security challenges, as well as informational deep-dives about advanced cybersecurity topics.

Propriété de TechnologyAdvice. © 2026 TechnologyAdvice. Tous droits réservés

Divulgation publicitaire : Certains des produits qui apparaissent sur ce site proviennent d'entreprises dont TechnologyAdvice reçoit une compensation. Cette compensation peut influencer la façon dont les produits apparaissent sur ce site, notamment l'ordre dans lequel ils apparaissent. TechnologyAdvice n'inclut pas toutes les entreprises ou tous les types de produits disponibles sur le marché.