Les applications Web modernes effectuent la majeure partie de leur traitement et de leur rendu côté client (Client Side Rendering), améliorant ainsi les expériences Web dynamiques et interactives. Cependant, cette architecture introduit un problème de sécurité connu sous le nom de HTML Smuggling.  

De nombreux acteurs malveillants, tels que Nobelium et Nokoyawa, utilisent cette technique pour propager leurs familles de malware. D’autres formes de diffusion sont bien connues mais elles sont surveillées et ont de fortes chances d’être détectées. De plus, les macros au niveau d’Internet sont bloquées par défaut, expliquant ainsi pourquoi les adversaires ont commencé à utiliser cette technique.

Anish Bogati
Anish Bogati

Global Services and Security Research

Qu’est-ce que la technique HTML Smuggling ?

HTML Smuggling est une technique qui consiste à intégrer du code Javascript malveillant dans un fichier HTML légitime. Cette technique abuse des capacités de HTML5 et JavaScript, qui sont prises en charge par tous les navigateurs Web modernes. Cette technique permet aux adversaires de créer leur charge virale au niveau de la machine de leur victime.

La technique aide les acteurs malveillants à éviter les filtres qui vérifient les types de fichier suspect tels que ZIP, ISO, EXE, etc. Elle leur permet également d'échapper aux défenses axées sur les activités au sein du réseau, car le fichier HTML semble inoffensif pour les défenses en place, comme n'importe quel fichier utilisé dans un navigateur Web. Cette technique est moins susceptible d'être détectée que d'autres méthodes, car les charges virales malveillantes sont créées directement dans le navigateur de la victime à l'aide de code JavaScript. De plus, les adversaires peuvent toujours recourir à l’obfuscation ou au codage pour masquer leur charge virale. Les acteurs malveillants et les familles de malware tels que Qakbot, IceId et Pikabot ont déjà utilisé cette technique pour diffuser leur charge virale.

Comment fonctionne la technique HTML Smuggling ?

La première étape consiste pour les adversaires à créer d’abord un fichier HTML et à intégrer leurs charges virales dans le fichier. Ensuite, ils disposent de différentes manières pour envoyer ces dernières à leur victime. Ils peuvent recourir au phishing en envoyant le fichier HTML directement à celle-ci ou bien envoyer l'URL du site sur lequel leurs charges virales sont hébergées. Ils peuvent également utiliser la technique Drive-by-Compromise pour obliger les victimes à charger le composant malveillant dans leurs navigateurs.

Lorsque la victime ouvre le fichier HTML ou bien visite le lien envoyé par les adversaires, la charge virale de type HTML Smuggling est chargée sur un navigateur Web et le code JavaScript malveillant contenu dans le fichier HTML est exécuté par le navigateur en question. Ainsi, en utilisant JS, une charge virale est créée par le navigateur et est installée sur le système de la victime.

Javascript Code to Drop Payload into the System

Code Javascript permettant d’installer la charge virale sur le système de la victime

La charge virale déposée sur le système peut avoir n’importe quel format de fichier, mais dans la plupart des cas, nous avons observé que cette dernière diffusait des fichiers zip. Les adversaires ont également diffusé un fichier .iso directement à partir de la charge virale HTML. Pour en savoir plus sur ce composant malveillant iso, vous pouvez consulter l’article dédié. En utilisant des fichiers .iso, ils peuvent également contourner la fonctionnalité ‘Mark of the Web’ (MOTW) de Windefender, donnant ainsi à Microsoft Defender SmartScreen la possibilité d'effectuer une inspection supplémentaire du contenu.

Le fichier HTML ou le lien envoyé aux victimes peut imiter des sites légitimes ou simplement contenir des instructions pour une exécution ultérieure ou des mots de passe pour extraire les fichiers téléchargés.

Payload Masquerading as legitimate Office365 page.

Charge virale se faisant passer pour une page Office365 légitime

Détection de la technique HTML Smuggling avec Converged SIEM

Sources de log nécessaires

1. Windows

2. Windows Sysmon

Fichiers HTML téléchargés

Une attaque de type HTML commence par la phase où les adversaires persuadent les victimes de télécharger la charge virale « HTML ». Ainsi, la requête ci-dessous peut être utilisée pour détecter de tels événements.

Recherche de l'exécution HTML par les navigateurs et détection du téléchargement de fichiers

Après le téléchargement et l'exécution de la charge virale HTML par l'utilisateur, le fichier HTML sera chargé par défaut sur les navigateurs. La requête d'investigation ci-dessous peut être utilisée pour rechercher des événements dans lesquels des navigateurs courants tels qu'Internet Explorer, Chrome, Edge, Firefox et Brave chargent un fichier HTML, qui installe ensuite un fichier zip sur le système.

Remarque : cette requête recherche les logs Sysmon, alors assurez-vous d’avoir vraiment Sysmon avant de la lancer.

Si Sysmon n'est pas activé mais que vous avez configuré l’audit du système de fichiers (Audit File System) avec la configuration SACL appropriée, les informations ci-dessous peuvent être utilisées pour détecter un chargement de fichiers HTML par les navigateurs et un téléchargement de fichier zip.

Si vous n'avez pas configuré Sysmon ou File System Audit, il existe une alternative à la requête de recherche ci-dessus, mais elle peut produire plus de faux positifs que celle présentée ci-dessus. Sans Sysmon et File System Audit, nous ne pouvons pas détecter les événements de téléchargement de fichiers. Nous allons donc essayer ici de rechercher les événements au cours desquels les navigateurs tentent de charger des fichiers HTML.

Téléchargement du fichier ZIP

Après l'exécution de la charge virale HTML, un fichier zip est installé sur le système.

Note: For the Detection Query we have emphasized the download of ZIP files but analysts can search for any other file types by simply removing the zip filter from the query or they can add another file extension such as “.iso”, “.doc” and others.

Remarque : pour la requête de détection, nous avons mis l'accent sur le téléchargement de fichiers ZIP, mais les analystes peuvent rechercher tout autre type de fichier en supprimant simplement le filtre zip de la requête ou en ajoutant une autre extension de fichier telle que « .iso », « .doc », entre autres.

Se protéger contre la technique HTML Smuggling avec Converged SIEM

Après avoir configuré les requêtes de recherche ci-dessus au niveau du déclencheur (trigger), l'analyste peut définir les playbooks suivants pour une réponse automatisée contre la technique HTML Smuggling :  

Une fois les requêtes définies comme ‘déclencheurs’, les analystes peuvent utiliser le playbook Logpoint AgentX Remove Item qui leur permet d'automatiser le processus de réponse en supprimant le fichier zip en question.

Une fois que les analystes ont vérifié qu'un hôte était bien infecté, ils peuvent utiliser le playbook Logpoint AgentX Isolate-Unisolate Host comme ultime recours pour isoler l'hôte afin d'empêcher les mouvements latéraux et réduire ainsi les dommages.

Recommandations

  • Les tactiques d'ingénierie sociale sont conçues pour inciter les victimes à télécharger et à exécuter des malwares. Pour lutter contre ces menaces, les entreprises doivent proposer régulièrement des formations ciblées à leurs employés sur la reconnaissance et la réponse aux attaques d'ingénierie sociale telles que les emails de phishing, notamment des exercices de simulation reproduisant des scénarios véritablement observés dans le monde réel.

  • Utilisez des outils de filtrage Web pour bloquer l'accès aux sites Web malveillants et mettez en œuvre des mesures robustes de sécurité au niveau de la messagerie électronique, notamment des solutions anti-phishing et anti-malware. Une politique visant à empêcher les utilisateurs de télécharger des fichiers avec des extensions suspectes doit également être déployée dans la mesure du possible.

  • Mettez en œuvre une stratégie du moindre privilège pour restreindre l'accès et les autorisations des utilisateurs uniquement à ce qui leur est nécessaire pour mener à bien leurs missions professionnelles. Ainsi, les entreprises peuvent réduire considérablement le risque d’accès non autorisé ou d’activité malveillante si le compte utilisateur est compromis.

  • Il est crucial d'auditer régulièrement les comptes privilégiés et leurs activités, car ces derniers disposent d'accès et d'autorisations élevés qui peuvent potentiellement donner à des acteurs malveillants un accès non autorisé à des données sensibles ou à des systèmes critiques. Sans une surveillance appropriée, les comptes privilégiés peuvent être utilisés à mauvais escient, entraînant des violations de données, des pannes du système et d'autres incidents de sécurité pouvant causer des dommages importants à l’entreprise ciblée. De plus, l'audit des comptes à privilèges élevés peut fournir des informations précieuses sur la manière avec laquelle ces derniers sont utilisés, permettant ainsi aux entreprises de prendre des décisions éclairées en matière de contrôle d'accès, d'allocation des ressources et de gestion des risques.

  • La mise à jour régulière de vos appareils, navigateurs et autres applications logicielles est une pratique de sécurité essentielle qui peut aider à protéger vos systèmes contre les vulnérabilités connues et les cybermenaces. En gardant votre logiciel à jour, vous pouvez vous assurer que vous disposez des derniers patchs de sécurité et corrections de bugs, permettant ainsi de prévenir les infections potentielles par des malwares et les violations de données.

  • Disposer d'une journalisation (logging) appropriée, d'une visibilité sur les actifs et d'une surveillance des systèmes sont des éléments essentiels d'une stratégie de cybersécurité robuste. Ces mesures donnent une vue d'ensemble du réseau et aident à détecter les anomalies pouvant indiquer la présence d’une menace pour la sécurité de l’entreprise. Il est important de surveiller et d'auditer régulièrement le réseau pour suivre l'activité des utilisateurs et le trafic réseau et identifier tout comportement inhabituel. Il est également crucial de garantir que les logs soient collectés sur chaque système afin de garantir une couverture complète.

  • Enfin, il est recommandé de mettre en place une politique de conservation des logs adéquate pour garantir que les données de log soient disponibles pour analyse en cas d'incident. Pour une meilleure visibilité, il est recommandé d’avoir une durée de conservation des logs d’au moins 6 mois. Néanmoins, il peut être nécessaire de les conserver pendant des périodes plus longues en fonction des exigences réglementaires ou de conformité.  

Pour une journalisation et une visibilité centralisées, Logpoint propose une plateforme d'opérations de sécurité de bout en bout appelée Converged SIEM. Elle couvre l'ensemble du processus de détection, d'investigation et de réponse aux menaces avec des capacités SIEM, SOAR et UEBA, notamment les fonctionnalités EDR natives grâce à AgentX, un agent endpoint natif.