Skip to content
Snippets Groups Projects
Commit 12488530 authored by Nicolas FRANCO's avatar Nicolas FRANCO
Browse files

Update readme :pencil:

parent d2f93b52
Branches main
No related tags found
No related merge requests found
......@@ -45,16 +45,16 @@ clang -o rop vulnerable.c -m64 -fno-stack-protector -Wl,-z,relro,-z,now,-z,noex
```
_Explication :_
> clang : Le compilateur Clang est utilisé pour compiler le code source.
> -o rop : Spécifie le nom du fichier de sortie, "rop" dans ce cas.
> vulnerable.c : Le fichier source C à compiler, "vulnerable.c" ici.
> -m64 : Indique que l'on souhaite compiler en mode 64 bits.
> -fno-stack-protector : Désactive la protection du stack, ce qui peut être nécessaire pour les exploits.
> -Wl,-z,relro,-z,now,-z,noexecstack : Options passées au linker (ld) pour spécifier diverses options de sécurité :
> -z,relro : Active la relocalisation en lecture seule, renforcant la sécurité des structures de données.
> -z,now : Demande au linker de résoudre toutes les références symboliques immédiatement, plutôt qu'à la demande, renforçant ainsi la sécurité.
> -z,noexecstack : Empêche l'exécution de code à partir de la pile.
> -static : Indique au linker de lier statiquement les bibliothèques, plutôt que dynamiquement. Cela signifie que toutes les bibliothèques seront incluses dans le binaire final.
> * clang : Le compilateur Clang est utilisé pour compiler le code source.
> * -o rop : Spécifie le nom du fichier de sortie, "rop" dans ce cas.
> * vulnerable.c : Le fichier source C à compiler, "vulnerable.c" ici.
> * -m64 : Indique que l'on souhaite compiler en mode 64 bits.
> * -fno-stack-protector : Désactive la protection du stack, ce qui peut être nécessaire pour les exploits.
> * -Wl,-z,relro,-z,now,-z,noexecstack : Options passées au linker (ld) pour spécifier diverses options de sécurité :
> * -z,relro : Active la relocalisation en lecture seule, renforcant la sécurité des structures de données.
> * -z,now : Demande au linker de résoudre toutes les références symboliques immédiatement, plutôt qu'à la demande, renforçant ainsi la sécurité.
> * -z,noexecstack : Empêche l'exécution de code à partir de la pile.
> * -static : Indique au linker de lier statiquement les bibliothèques, plutôt que dynamiquement. Cela signifie que toutes les bibliothèques seront incluses dans le binaire final.
***1.*** Lorsque vous compilez ce premier programme, quelle fonction est annoncée comme dangereuse et présente la première faille pour effectuer l'attaque ROP ?
......@@ -111,14 +111,13 @@ Néanmoins un problème persiste qui est de trouver un endroit ou écrire en mé
### Dynamique vs Statique
Commençons par obtenir un exécutable **dynamique** de notre programme :
Tout à l'heure nous avons obtenu un exécutable **statique** de notre programme. Maintenant, nous allons construire un exécutable appelé **dynamique** :
```
gcc -c main.c -o mainDynamic.c
gcc -c vulnerable.c -o dynamic.c
```
***1.*** Quelle est la différence entre les deux fichiers ?
***1.*** Désormais, vous allez devoir compiler une deuxième fois le fichier `main.c`, afin d'obtenir un exécutable **statique**.
***2.*** Quelle est la différence entre les deux fichiers ?
__Explication__: _Dans le fichier statique toutes les libraries qu'il utilise sont compilées dedans, dans un unique fichier. Le dynamique par contre, fait appel aux libraries pendant l'exécution du programme. Cela est important car avec ROP, les ressources dont dispose l'attaquant dependent du contenu du fichier. Le fait d'avoir les libraries, signifie donc, plus de gadgets possibles._
### Gadgtes et ROPChain
......@@ -165,7 +164,7 @@ r.interactive()
Vous noterez que le scipt n'est pas complet ! C'est maintenant à vous de jouer !
***3.*** A l'aide de l'outil ROPgadget, construisez la ROP Chain permettant d'obtenir un reverse shell.
***2.*** A l'aide de l'outil ROPgadget, construisez la ROP Chain permettant d'obtenir un reverse shell.
---
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment