Initiation au ROP

Le Return Oriented Programming (ROP) est une technique d'exploitation qui permet l'exécution de code par un attaquant. Ce parcours de lecture permettra d'apprendre son fonctionnement. Vous pourrez ainsi mieux la cerner, mais aussi vous en protéger.
Nombre d'articles :
5 article(s)
Type de liste de lecture
Parcours pédagogiques
Niveau :
Intermédiaire

Return Oriented Programming

Magazine
Marque
GNU/Linux Magazine
Numéro
203
Mois de parution
avril 2017
Spécialité(s)
Résumé

Les techniques d'exploitation de failles applicatives ont énormément évolué avec l'avènement de moyens de protection toujours plus sophistiqués. Le Return Oriented Programming ou ROP ne permet pas d'injecter du code, mais bien d'exploiter l'existant pour détourner le comportement nominal d'un logiciel via une classe de failles bien particulière.

Return oriented programming 101

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Spécialité(s)
Résumé

Le Returned Oriented Programming (ou ROP) est une technique permettant d'exploiter des programmes disposant de la protection NX (No eXecute) ou DEP (Data Execution Prevention). L'objectif de cet article est de vous présenter les bases du ROP, ainsi que l’exploitation pas-à-pas d’un programme d’entraînement via l'utilisation de la bibliothèque python pwntools [1]. Dans un souci de simplicité, la démonstration sera réalisée sur un programme s'exécutant sur un système Linux 64 bits. Bien entendu, cette démonstration reste applicable sur d'autres architectures (ARM, MIPS, etc.).

Désérialisation Java : une brève introduction au ROP de haut niveau

Magazine
Marque
MISC
Numéro
101
Mois de parution
janvier 2019
Spécialité(s)
Résumé

Les processus de sérialisation et de désérialisation Java ne manipulent que des données et non du code. Malheureusement, comme pour une chaîne ROP, il est possible de combiner des « gadgets » Java pour exécuter du code arbitraire lorsque la désérialisation s’effectue sur des données contrôlées par un attaquant. Nous présentons dans cet article une vulnérabilité de désérialisation affectant directement les libraires standards de la machine virtuelle Java.

Ramonage de vulns avec mona.py

Magazine
Marque
MISC
Numéro
79
Mois de parution
mai 2015
Spécialité(s)
Résumé

Défini par Peter Van Eeckhoutte, son auteur, comme la boite à outils du développement d'exploits en environnement win32, mona.py [1] est un plugin qui fonctionne avec Immunity Debugger et WinDBG. Simple d'utilisation, il a l'énorme avantage de réunir les fonctionnalités de bon nombre d'autres outils tout en s'intégrant dans votre débogueur. Plutôt que de présenter toutes ses possibilités une par une, nous allons à travers des exemples pratiques montrer comment il permet de gagner du temps lors de l'écriture d'exploits en environnement Windows.

Exploitation du CVE-2018-0977 dans le noyau Windows

Magazine
Marque
MISC
Numéro
104
Mois de parution
juillet 2019
Spécialité(s)
Résumé

En mars 2018, Microsoft a publié une mise à jour pour corriger une vulnérabilité d’élévation de privilèges dans BasicRender.sys, un pilote en mode noyau de Windows. Cette vulnérabilité peut être déclenchée en utilisant l’API DirectX. Dans cet article, nous parlerons des notions de base de DirectX, puis des détails de la vulnérabilité, et enfin nous détaillerons de l’exploitation de cette faille.