Le retour du SSTIC 2019 par nos pentesters

L’équipe Pentest de DIGITEMIS était de nouveau présente pour cette 17ème édition du SSTIC.

Au programme : des présentations invitées, des présentations souvent hautement techniques et un social event au niveau.

Wrap-up jour 1

La keynote d’ouverture du Symposium était animée cette année par Alex Ionescu. Véritable référence en reverse engineering, des produits édités par Microsoft en particulier. Lors de cette présentation, il a mis en lumière les limites des mécanismes récompensant la découverte de failles de sécurité, à travers des programmes de Bug Bounty, par opposition aux sommes mises en oeuvre pour la remédiation de ces failles. Il a enfin pointé du doigt un sujet malheureusement récurrent, et ce depuis plus d’une dizaine d’années : le manque d’intégration de la sécurité comme une brique essentielle – et non plus un vernis superficiel – du panel de compétences devant être apportées par les formations en informatique (développement, administration, etc.).

S’en sont suivies 3 présentations Side-Channel assessment of Open Source Hardware Wallets, Side-Channel Attack on Mobile Firmware Encryption, LEIA: the Lab Embedded ISO7816 Analyzer A Custom Smartcard Reader for the ChipWhisperer sur le thème des attaques « Side-Channel » sur divers hardware et autre matériels embarqués. Ces présentations ont montré des méthodologies différentes (surveillance du courant, émissions électromagnétiques, etc.), mais permettant de parvenir aux mêmes résultats.

L’après-midi démarrait avec une présentation de Nicolas Iooss, vainqueur du challenge de l’année dernière, portant sur ses recherches concernant les puces BMC des équipements Dell iDRAC. Celle-ci fait suite aux recherches conjointes d’Airbus et Synacktiv présentées l’année dernière et ayant mis en évidence plusieurs vulnérabilités permettant de compromettre des équipements similaires d’HP (iLO). Le présentateur a ainsi pu démontrer qu’il est possible à travers ces systèmes embarqués de réaliser des actions similaires à celles réalisables avec un accès physique au serveur.

Eloi Benoist-Vanderbeken et Fabien Perigaud nous ont ensuite présenté en détail les mécanismes de sécurité drastiques déployés par Apple pour protéger iOS. Cet inventaire des protections à contourner visait clairement à démontrer que la prime de 2 millions d’euros proposée par Zerodium pour un Jailbreak persistant à distance sans interaction utilisateur n’est pas surévaluée…

Enfin, Aurélien Bordes nous a présenté ses recherches portant sur l’audit des GPO des domaines Active Directory. Il a ainsi pu exposer des techniques d’exploitation reposant sur la mauvaise configuration de ces éléments, tant les objets Active Directory, que leurs pendants présents sur le système de fichiers. La présentation s’est conclue sur une démo de l’outil développé pour l’occasion.

Wrap-up jour 2

La deuxième journée du SSTIC a débuté avec une équipe de l’ANSSI présentant un outil de parsing automatique de certificats X.509. L’objectif est d’éviter autant que possible les bugs, en particulier les erreurs de runtime. Il n’est donc pas exclu que des bugs logiques persistent, en revanche l’outil semble stable et performant. Ce dernier est disponible sur le github de l’ANSSI.

Puis, nous avons assisté à une présentation sur l’exploitation de programmes Windows au travers d’attaques nommées DLL Hijacking. Lucas Georges nous détaille des vulnérabilités qu’il a découvertes sur les produits d’Asus et sur Opéra. L’exploitation de ces dernières repose sur la présence d’une DLL malveillante dans le répertoire des différents programmes. L’auteur a également publié un outil dédié à la recherche des dépendances (DLL) d’un programme.

Nous avons pu ensuite découvrir Mirage, un framework offensif dédié pour le moment au Bluetooth Low Energy. L’outil est amené à pouvoir auditer la sécurité des autres protocoles sans fil. Pour le moment l’outil semble très prometteur et nous ne pouvons que vous le recommander lors de vos prochains audits d’objets connectés mettant en oeuvre ce protocole. Vous trouverez l’outil ici. La documentation exhaustive de ce dernier est également disponible.

A 11h, Kavé Salamatian nous a présenté les travaux de son équipe au sujet du monitoring de BGP. Cette présentation comportait de nombreuses notions mathématiques pour introduire le coeur du sujet. Kavé nous a démontré que son équipe pouvait détecter les anomalies sur Internet de type BGP Hijacking. Cette attaque permet de détourner le trafic vers d’autres routeurs BGP (donc vers d’autres AS – Autonomous Systems). En outre, Kavé a soulevé le fait que les détournements sont liés à des attaques gouvernementales et que l’on observe actuellement un détournement des routeurs de la Crimée.

L’après-midi était principalement rythmée par les 10 ans du challenge du SSTIC et la solution de cette année. Cette dernière comportait une attaque par canaux cachés sur les traces d’une consommation électrique, ainsi que la rétro-ingénierie de programmes et VM. Vous pouvez retrouver le code source du challenge ici.

Nous avons ensuite retrouvé les Rumps. Parmi celles-ci, nous avons une mention particulière pour la présentation d’Onyphe qui a trouvé la machine la plus vulnérable d’Internet (comportant le plus de CVEs*). La gagnante est une machine située aux Etats-Unis et détient le nombre impressionnant de 116 CVEs.

*Dont le score CVSS est supérieur à 7.5, avec des CVEs sans authentification et exploitables à distance.

Wrap-up jour 3

Le dernier jour du SSTIC a commencé par deux présentations de Xavier Bonnetain. La première évoque la standardisation des algorithmes cryptographiques de l’étape du design jusqu’au déploiement, en passant par l’analyse publique. Ces trois étapes nécessaires à la publication puis à la standardisation sont parfois forcées. L’étape de design donne alors lieu à une standardisation sans passer par une phase de publication. Pour démontrer cet exemple, l’orateur analyse un design provenant de Russie. La deuxième présentation compare les algorithmes de chiffrement utilisés à l’heure actuelle, pour statuer sur leur robustesse cryptographique face aux ordinateurs quantiques.

Les deux présentations suivantes s’articulent autour de la thématique blockchain. Korantin Auguste partage son expérience et ses recherches sur la blockchain Ethereum. Après une introduction sur le sujet, une étude de cas est présentée, montrant plusieurs vulnérabilités. L’outil « Pakala », développé par l’intervenant permet la recherche de contrats vulnérables. Jean-Baptiste Bédrune présente par la suite l’analyse de sécurité d’un portefeuille matériel sur le smartphone « EXODUS 1 » commercialisé par HTC. Après une présentation du concept de portefeuille matériel, deux attaques cryptographiques puis des correctifs déployés sont expliqués.

Après la pause matinale, 3 conférences ont lieu. La première de Bruno Keith présente JavaScript et s’intéresse particulièrement au moteur JavaScript « Chakra », développé par Microsoft et embarqué dans Edge. Il parcourt ensuite plusieurs vulnérabilités identifiées. Sebastian Dudek s’intéresse quant à lui aux voitures connectées et principalement aux bornes de recharges. Après l’explication du concept et des moyens de communication entre une borne et un véhicule, il nous présente rapidement l’outil « V2G Injector » permettant d’interagir avec ces bornes. La matinée se clôt par une présentation sur l’analyse et l’élévation de privilèges sur des firmwares de points d’accès Wi-Fi. Une démonstration est réalisée pour illustrer l’élévation de privilèges sur ces matériels.

De retour dans l’amphithéâtre, deux présentations successives, Under the DOM: Instrumentation de navigateurs pour l’analyse de code JavaScript et SourceFu, utilisation de l’interprétation partielle pour la « deobfuscation » de sources sont orientées sur l’analyse de code JavaScript. La dernière présente « SourceFu » , un outil permettant la désobfuscation de code JavaScript.

La présentation de clôture est animée par Jordan Rabet, travaillant au sein de Microsoft pour l’analyse et la découverte de vulnérabilités sur les produits de la firme américaine. Il ouvre sa présentation en répondant habilement à la présentation d’ouverture d’Alex Ionescu. La suite est orientée sur le produit Hyper-V et la démonstration de l’exploitation d’une corruption de mémoire sur ce produit, vulnérabilité identifiée par les équipes en interne. La présentation se solde en démontrant les efforts mis en œuvre pour que les erreurs du passé ne se reproduisent plus.

 

Je partage

Derniers articles

Illustration de sécurité WordPress avec logo central et éléments numériques de sécurité

Renforcer la sécurité WordPress, du développement des plugins à la configuration serveur

Il y a peu, dans le cadre de recherches sur des plugins WordPress, notre pentester Vincent Fourcade a découvert une injection de code, côté client, dans un module du célèbre CMS. Celle-ci fut vérifiée et validée par les équipes de WPScan. Aujourd’hui, une CVE lui a été attribuée. L’occasion de revenir aujourd’hui sur la sécurité, au sens large, dans le CMS WordPress, que ce soit au niveau de la couche applicative, de la configuration du serveur ou du bureau. C’est parti !

Lire l'article

Analyse des Métriques XSS : comprendre l’Impact des injections de code côté client

Lors des tests d’intrusion, l’injection de code côté client est généralement plus aisée à découvrir qu’une injection côté serveur. Le nombre de paramètres dynamiques transitant du back au front, la difficulté d’échapper correctement à l’entrée et à la sortie et la multitude d’encodage liés à l’affichage peuvent être des vrais casse-têtes pour qui souhaite faire la chasse à la XSS. Le JavaScript malveillant semble ainsi avoir de beaux jours devant lui. Cependant, il n’est pas rare qu’à l’issu de l’audit, la criticité d’une telle injection découle directement de la configuration des cookies présents sur l’application. En effet, l’absence de l’attribut HttpOnly majore irrémédiablement les risques liés à ce type d’attaque. Néanmoins, cela signifie-t-il que la présence de cet attribut doive absolument amenuiser la criticité d’une injection ?

Lire l'article