Aller au contenu principal
own2pwn

Recherche offensive,
décortiquée.

Flux RSS
20 articles
Stack overflow : tout ce que la stack peut t'offrir
Pwn·12 min

Stack overflow : tout ce que la stack peut t'offrir

ret2win, ret2shellcode, ret2libc, frame faking, off-by-one, ret2dl_resolve... Un tour complet des Stack-based Control Flow Attacks avec la logique derrière chaque technique, pas juste les noms.

MMaxime Jérôme
Comment on tombe sur un bug exploitable
Pwn·8 min

Comment on tombe sur un bug exploitable

Panorama des techniques qui déclenchent un bug exploitable en amont d'un détournement de flow : large input, type confusion, integer overflow, format strings, race conditions, logic bugs, exécution symbolique et fuzzing.

MMaxime Jérôme
Le pwn, c'est quoi exactement ?
Featured
Pwn·4 min

Le pwn, c'est quoi exactement ?

PWN, ou Perfectly Owned : l'art de prendre le contrôle d'un programme exécutable. On pose la définition à notre sauce et on présente les deux grandes familles d'attaques que la série va décortiquer : Control Flow Attacks et Code Reuse Attacks.

MMaxime Jérôme
Comment l'OS te file de la mémoire
Os·5 min

Comment l'OS te file de la mémoire

Adressage virtuel comme facade au-dessus de la RAM physique, segmentation Intel via la table de segments, et strategies d'allocation cote kernel.

MMaxime Jérôme
C'est quoi un OS, vraiment ?
Os·5 min

C'est quoi un OS, vraiment ?

Architecture generale d'un OS : role du kernel, espaces utilisateur et noyau, types de kernels (monolithique, micro, hybride) et notion de modules systemes charges a chaud.

MMaxime Jérôme
tcache : pourquoi free() est devenu si rapide
Heap·4 min

tcache : pourquoi free() est devenu si rapide

Le tcache (thread local cache) est arrivé avec glibc 2.26 : structures tcache_entry et tcache_perthread_struct, indexation par taille, et pourquoi free l'atteint avant les fastbins.

MMaxime Jérôme
Les 4 bins de ptmalloc2, à quoi ils servent vraiment
Heap·5 min

Les 4 bins de ptmalloc2, à quoi ils servent vraiment

Les quatre familles de bins ptmalloc2 : fast bins (sans fusion), unsorted bin (DCLL pour la seconde chance), small bins (moins de 512 octets) et large bins triees par classes de taille.

MMaxime Jérôme
Où vit ton heap : arenas et malloc_state
Heap·5 min

Où vit ton heap : arenas et malloc_state

Structure malloc_state au coeur des arenas ptmalloc2 : mutex, fastbinsY, top chunk, last_remainder, bins et binmap. Cas particulier de la main_arena et schéma multi-threadé via heap_info.

MMaxime Jérôme
Anatomie d'un chunk ptmalloc2
Heap·5 min

Anatomie d'un chunk ptmalloc2

Anatomie d'un chunk ptmalloc2 : champs mchunk_prev_size et mchunk_size, bits NON_MAIN_ARENA / IS_MMAPPED / PREV_INUSE et chainage FD/BK pour les chunks liberes.

MMaxime Jérôme
Comprendre le heap avant de l'attaquer
Featured
Heap·5 min

Comprendre le heap avant de l'attaquer

Presentation de ptmalloc2 (pthread malloc v2), l'allocateur de heap utilise par la glibc : raison d'etre de la heap face a la stack, et plan d'attaque pour comprendre chunks, arenas, bins et tcache.

MMaxime Jérôme
Hacker un GPU : DMA, side-channel et fuites mémoire
Gpu·5 min

Hacker un GPU : DMA, side-channel et fuites mémoire

Surface d'attaque des GPU : exploitation de la mémoire partagée (CVE-2016-2067), DMA via IOMMU, absence d'ASLR sur la heap GPU, fuites par registres non remis à zéro et impact sur le framebuffer.

MMaxime Jérôme
Comment un GPU exécute 32 threads en même temps
Gpu·22 min

Comment un GPU exécute 32 threads en même temps

Pipeline IFL/IIL/RASL, divergence de flow et SIMT stack, SIMT deadlock, ordonnancement des warps, Operand Collector : tout ce qui se passe vraiment a l'interieur d'un coeur SIMT moderne.

MMaxime Jérôme