Protections binaires — NX, PIE, Canary, RELRO
★★★★★
Vue d'ensemble
checksec ./binary
# Arch: amd64-64-little
# RELRO: Partial RELRO
# Stack: Canary found
# NX: NX enabled
# PIE: PIE enabled
# Symbols: No Symbols Chaque protection et son bypass
NX (Non-Executable Stack)
-> Stack non exécutable
-> Bypass : ROP chains, ret2libc, ret2syscall
Stack Canary
-> Valeur aléatoire entre buffer et RIP
-> Bypass : leaker via format string, bruteforce (fork)
ASLR
-> Adresses aléatoires à chaque exécution
-> Bypass : leaker une adresse via une autre vuln
PIE (Position Independent Executable)
-> Le binaire lui-même à adresse aléatoire
-> Bypass : combiner avec un leak d adresse du binaire
RELRO (Relocation Read-Only)
Partial : GOT writable (peut overwrite des fonctions)
Full : GOT read-only (plus difficile)