Les attaques sans fichier sont un bon moyen pour contourner les contre-mesures traditionnelles. Elles reposent sur des scripts exécutés directement en mémoire vive et peuvent être indétectables et persistantes en modifiant le registre de Windows.

Les mesures de sécurité s’améliorent pour détecter et bloquer à la fois les logiciels malveillants et les cyberattaques, obligeant les cybercriminels à chercher de nouveaux vecteurs et moyens technologiques pour rester sous la couverture radar et échapper à la détection. L’une de ces techniques avancées consiste en des exploits sans fichier (fileless), où aucun fichier exécutable n’est enregistré sur le disque. Ces attaques sont particulièrement efficaces pour échapper aux solutions antivirus traditionnelles, qui recherchent les fichiers enregistrés sur la mémoire de masse afin de les analyser et de déterminer s’ils sont malveillants.

L’augmentation des attaques sans fichier a créé de nouveaux défis pour les solutions traditionnelles de sécurité des terminaux. Beaucoup de celles qui se disent next-gen sont dépassées, car ont été conçues principalement pour détecter les menaces basées sur les fichiers. Si les attaques sans fichier ne sont pas nouvelles, elles deviennent plus fréquentes. Dans leurs enquêtes de 2016, les équipes de réponse aux incidents des CrowdStrike Services ont découvert que huit vecteurs d’attaque sur dix ayant abouti à une brèche réussie utilisaient des techniques d’attaque sans fichier.

Une attaque réussie sur un serveur web via un script Shell

Dans un livre blanc intitulé Who Needs Malware ? How Adversaries Use Fileless Attacks To Evade Your Security, CrowdStrike, le fournisseur de services de protection des points terminaux, dissèque le fonctionnement de ces attaques sans fichier, en suivant une attaque, qui a bien eu lieu, étape par étape. Dans ce cas, la première cible était un serveur web utilisant Microsoft ISS et exécutant une Base de données SQL Server. Pour la compromission initiale, l’attaquant a utilisé un Shell web, un court script qui peut être téléchargé et exécuté sur un serveur web. Le script peut être écrit dans n’importe quel format des langages supportés par le serveur web, tels que Perl, Python, ASP ou PHP.

Les shell web sont populaires dans ce type d’attaques, car ils peuvent être chargés directement en mémoire en exploitant une vulnérabilité qui existe sur le système, sans que rien ne soit écrit sur le disque. Dans cette attaque spécifique, l’attaquant a utilisé une injection SQL pour insérer son Shell web sur le serveur. Du fait que le serveur web n’a pas correctement vérifié les caractères d’échappement, l’attaquant a pu simplement renvoyer le Shell web sur le serveur. Le Shell web utilisé, appelé China Chopper, contenait des commandes JavaScript. Un Shell remarquablement concis, car il n’utilisait que 72 caractères. L’exécution du Shell web en mémoire a permis à l’attaquant d’utiliser l’interface utilisateur du Chopper pour exécuter des commandes arbitraires sur le serveur web. Avec un accès à distance complet au serveur web, l’attaquant a procédé au vol d’identifiants en exécutant une commande PowerShell encodée (EncodedCommand de PowerShell.exe).

Comment obtenir la persistance via une clé de registre

La première étape consistait à télécharger un script à partir d’un serveur distant, à le charger directement en mémoire et à l’exécuter. Ce script, à son tour, volait tous les mots de passe en texte clair qui étaient mis en cache dans la mémoire du serveur web. En quelques secondes, l’attaquant avait obtenu plusieurs noms d’utilisateur et mots de passe pour tous les comptes du système. L’étape suivante consistait pour l’attaquant à obtenir la persistance sur le serveur. Pour ce faire, il a utilisé une technique appelée Sticky Keys, qui ne nécessite aucun logiciel malveillant. En modifiant une seule ligne du registre Windows, ce qui peut être fait facilement à l’aide d’une commande PowerShell ou WMI, l’attaquant a utilisé la clé du registre pour afficher le processus du clavier de Windows à l’écran en mode de débogage.

En mode de débogage, le clavier à l’écran permet à toute personne ayant un accès à distance d’ouvrir une ligne de commande avec des privilèges système, sans avoir à se connecter, donc sans générer un événement de connexion. Une fois cette clé de registre définie, l’attaquant peut revenir à tout moment en ouvrant simplement une connexion Remote Desktop au serveur web. De plus, l’accès au système sans générer d’événement de connexion dans l’historique, rend les actions de l’attaquant presque indétectables.

« La combinaison d’une grande efficacité et de la facilité de création, rendue possible par l’existence de kits d’exploitation, est susceptible d’accroître la prévalence des techniques de piratage sans fichier à l’avenir, conclut CrowdStrike. Malheureusement, étant donné l’incapacité des antivirus traditionnels à prévenir les attaques sans fichier, les pirates criminels sont de plus en plus susceptibles de se concentrer sur ces techniques furtives. C’est pourquoi les professionnels de la sécurité doivent tenir compte de l’existence de logiciels malveillants et d’attaques sans fichiers dans leurs stratégies de sécurité ».