12,63 € TTC
p.10 Analyse concolique de binaires avec angr
p.22 Introduction au développement de plugins pour Radare2
p.44 Usages avancés d’AFL
p. 66 Testons votre crypto !
p. 76 Algorithmes et implémentations cryptographiques vulnérables : détection avec grap
p. 92 Toolkit 4.0 : revue des outils pour l’exploitation pour l’IoT
p. 110 Recherche passive de vulnérabilités web avec Snuffleupagus
p. 116 Wapiti : chasser les vulnérabilités web
« Aucune règle n’existe, les exemples ne viennent qu’au secours des règles en peine d’exister. »
André Breton
La recherche de vulnérabilités est un domaine vaste, tout comme les outils dont dispose le chercheur en sécurité. Les colonnes de MISC ont ainsi déjà vu bon nombre de ces programmes, incontournables pour certains, mais l’évolution du domaine nous apporte chaque jour son lot de scripts, bouts de code, plugins, preuves de concept et frameworks en tout genre. Est en cause notamment la grande diversité des cibles et des méthodes. D’une part, que l’on s’attaque à du web, de la cryptographie ou à tout ce que l’on peut trouver dans l’Internet des objets, force est de constater qu’il va être nécessaire, pour chaque cas, d’avoir un outillage spécifique pour peu que celui-ci existe et qu’il ne faille pas en développer un. De la même manière, les techniques utilisées sont extrêmement variées : reverse, fuzzing, analyse statique automatisée, exécution symbolique ou simple lecture de code, pour ne prendre que quelques exemples.
Dans cette étendue de possibilités, l’approche du présent hors-série va être de s’intéresser aux outils récents et qui présentent un intérêt dans un domaine particulier de la recherche de vulnérabilités. Les pages qui vont suivre vont se concentrer essentiellement à décrire les principes sur lesquels reposent les différents programmes sélectionnés dans ce hors-série ainsi que leurs usages via des exemples pratiques. Les limites vont être que l’on ne parlera pas d’exploitation et que les connaissances théoriques nécessaires à l’approche de certains domaines seront abordés partiellement et nécessiteront d’autres lectures pour ceux qui seraient plus intéressés. Il est d’ailleurs important de noter que, quel que soit l’outil, quelle que soit la technique, les connaissances élémentaires restent l’arme la plus forte. À quoi bon trouver des dizaines de crashs en utilisant du fuzzing si l’on n’est pas capable d’interpréter minimalement les résultats ?
Le numéro va s’articuler autour de quatre thématiques. Il va s’agir dans un premier temps de découvrir ou d’approfondir des outils permettant de faire de la rétro-ingénierie (radare2), du fuzzing (afl) et de l’exécution concolique (angr). S’ensuivra une partie passionnante et accessible sur la cryptographie : initiation à CDF (crypto differential fuzzing) et Wycheproof pour tester la qualité de votre code cryptographique, et découverte de grap, un outil aux nombreuses possibilités et dont on verra une application pour détecter des algorithmes cryptographiques obsolètes dans des binaires. Une troisième partie sera consacrée à la prise en main des outils nécessaires à l’analyse des objets connectés. Enfin, dans la dernière partie sera traité le domaine du web avec la découverte de Wapiti et Snuffleupagus, un scanneur de vulnérabilités et un module de sécurité pour php7.
Bonne lecture,
Émilien Gaspar / gapz / eg@miscmag.com
Face à la transformation digitale de notre société et l’augmentation des cybermenaces, la cybersécurité doit être aujourd’hui une priorité pour bon nombre d’organisations. Après plus de 20 années de publications et de retours d’expérience, MISC apporte un vivier d’informations techniques incontournable pour mieux appréhender ce domaine. Précurseur sur ce terrain, MISC a été fondé dès 2002 et s’est peu à peu imposé dans la presse française comme la publication de référence technique en matière de sécurité informatique. Tous les deux mois, ses articles rédigés par des experts du milieu vous permettront de mieux cerner la complexité des systèmes d’information et les problèmes de sécurité qui l’accompagne.

Thématique privilégiée pour la réalisation de démonstrations techniques à des fins promotionnelles, le MouseJacking n’en demeure pas moins un vecteur crédible pour l’obtention d’un accès initial dans le cadre d’un exercice Red Team. Nous vous proposons un retour d’expérience d’une telle opération en espérant vous convaincre de l’intérêt à porter à ces techniques.
D’aucuns penseraient que le langage C est un langage simple. Après tout le fameux Kernighan & Ritchie de 1978 (a.k.a. White Book) ne fait que 200 pages, bien peu pour un langage qui a servi de base au noyau Linux, au compilateur GCC et à l’interpréteur de référence de Python, CPython. Et pourtant s’il y a bien une notion parmi toutes celles introduites dans the White Book qui met au défi ingénieurs en sécurité, chercheurs en compilation et développeurs en tout genre, c’est la notion de pointeur, et cette terrible question : le déréférencement de mon pointeur donne-t-il lieu à un comportement indéfini ?Des ingénieurs de chez Apple ont trouvé un chemin pragmatique et intéressant à cette question, et ils l’ont mis à disposition dans un fork de clang à travers une option, -fbounds-safety, et un fichier d’en-tête, <ptrcheck.h>. Examinons leur approche.
Encapuchonnés, marginaux, génies solitaires ou cybercriminels organisés, les hackers fascinent depuis toujours le cinéma et les séries. Tantôt caricaturés, tantôt brillamment mis en scène, leur représentation évolue au fil du temps, entre exagérations hollywoodiennes et tentatives de réalisme. Voici une plongée dans la culture cyber à l’écran, vue à travers l’œil d’un passionné.