Introduction au reverse crypto

Magazine
Marque
MISC
HS n°
Numéro
5
|
Mois de parution
avril 2012
|
Domaines


Résumé

Le rétroconception d'algorithmes cryptographiques est une discipline à part dans le monde des reversers. La difficulté réside dans le fait de ne pas se « noyer » dans des parties inutiles à l'analyse (dans une fonction de compression d'un algorithme de hachage par exemple). La connaissance des concepts mathématiques sous-jacents à chaque algorithme est inutile. Par contre, la connaissance des grandes familles de fonctions cryptographiques et de leurs implémentations est indispensable : ce sera l'objet de la première partie de cet article. Puis, nous verrons comment appliquer ces résultats sur un exemple concret.


La suite est réservée aux abonnés. Déjà abonné ? Se connecter

Sur le même sujet

JsItBad : détecter du JavaScript malveillant sans l’exécuter

Magazine
Marque
MISC
Numéro
108
|
Mois de parution
mars 2020
|
Domaines
Résumé

C’est théoriquement impossible, et pourtant c’est faisable en pratique. En s’inspirant d’une technique d’apprentissage statistique (Machine Learning) habituellement réservée au traitement du langage naturel, il est possible de déterminer avec une très grande précision si un bout de code en JavaScript est malveillant. Ces résultats s’étendent naturellement à tout langage interprété, mais sont mis en défaut par l’arrivée du WebAssembly.

Antivirus Avira (CVE-2019-18568) : quand l'authentification d'un PE mène à une LPE

Magazine
Marque
MISC
Numéro
108
|
Mois de parution
mars 2020
|
Domaines
Résumé

En juillet 2019, je me suis penché sur la sécurité d'un antivirus grand public, connu sous le nom de « Avira ». Lors de cette analyse, j'ai identifié, dans le driver en charge d'authentifier un programme exécutable, une vulnérabilité menant à une élévation de privilèges. Après une brève présentation du composant noyau, nous étudierons en détail la vulnérabilité et préparerons les éléments nécessaires à la réussite d'une exploitation.

Analyse UEFI avec Windbg

Magazine
Marque
MISC
Numéro
108
|
Mois de parution
mars 2020
|
Domaines
Résumé

La dernière étape dans la mise en place d’un environnement de travail complet en UEFI va être l’installation d’un debugger. Celui-ci va permettre de, non seulement faciliter le développement au sein du micrologiciel, mais aussi de comprendre dynamiquement le code source. Dès lors, il sera possible de mieux appréhender ce code afin de l’éditer et créer son propre UEFI.

Extraction des secrets de lsass à distance

Magazine
Marque
MISC
Numéro
108
|
Mois de parution
mars 2020
|
Domaines
Résumé

Le mouvement latéral est une composante essentielle des tests d’intrusion. Cette phase peut être fastidieuse si les cibles sont correctement protégées. L’outil « lsassy » répond à ce besoin en permettant d’extraire à distance les secrets présents sur des machines.

Par le même auteur

Reverse C++ et RTTI

Magazine
Marque
MISC
Numéro
61
|
Mois de parution
mai 2012
|
Domaines
Résumé
Dans le cadre d'un reverse, le langage utilisé par le développeur peut être une précieuse source d'informations. En particulier, le C++ offre la possibilité de déterminer le type d'une variable pendant l'exécution. Cela implique la présence de renseignements sur les classes dans le binaire. Nous allons voir quelles informations doivent être présentes, comment elles sont stockées par le compilateur de Microsoft (cl.exe) puis comment les retrouver pour reconstruire automatiquement le graphe d'héritage. 

Introduction au reverse crypto

Magazine
Marque
MISC
HS n°
Numéro
5
|
Mois de parution
avril 2012
|
Domaines
Résumé

Le rétroconception d'algorithmes cryptographiques est une discipline à part dans le monde des reversers. La difficulté réside dans le fait de ne pas se « noyer » dans des parties inutiles à l'analyse (dans une fonction de compression d'un algorithme de hachage par exemple). La connaissance des concepts mathématiques sous-jacents à chaque algorithme est inutile. Par contre, la connaissance des grandes familles de fonctions cryptographiques et de leurs implémentations est indispensable : ce sera l'objet de la première partie de cet article. Puis, nous verrons comment appliquer ces résultats sur un exemple concret.