6
votes

Pratiquer l'attaque de dépassement de tampon à Ubuntu

J'essaie d'apprendre à utiliser une attaque de dépassement de tampon à Ubuntu. Malheureusement, je ne peux pas désactiver la fonctionnalité de la mise hors service de la mise en page d'espace d'adresse (ASLR) dans ce système d'exploitation, qui est activée par défaut. J'ai essayé de travailler dans certains livres de Fedora: xxx

mais pour une raison quelconque, la protection est toujours là. S'il vous plaît donnez-moi quelques suggestions. Merci.

[modifier] En réalité, la commande ci-dessus n'a pas réussi, elle a déclaré que "la permission refusée", même avec sudo. Comment puis-je résoudre ce problème?

[Ajouter] J'ai continué à obtenir une erreur de défaut de segmetation lorsqu'il affiche une adresse en pile. Est-il lié à une pile non exécutable à Ubuntu: (?


2 commentaires

Vous avez besoin d'exécutant (apt-get Installe Execstack) pour désactiver NX sur une base per-applications.


Related: Stackoverflow.com/questions/5194666/...


5 Réponses :


10
votes

Vous aurez besoin des permanentes racines avant de l'essayer, et si je ne me trompe pas, de redémarrer une fois que vous l'avez fait.

 sudo -i
 echo "0" > /proc/sys/kernel/randomize_va_space


4 commentaires

Je l'ai essayé comme vous l'avez dit, mais après avoir redémarré Ubuntu, j'ai considéré que le fichier et la valeur précédente dans ce fichier n'étaient pas modifié: |. Merci.


Bien sûr, cela a changé après le redémarrage; / proc est un répertoire volatil. Essayez de recompiler le noyau avec Randomize_VA_Space éteint :)


Merci d'avoir répondu à cela, ça va être utile dans les prochains jours.


@wakandan - Je crois que "redémarrer" fait référence à votre programme, pas Ubuntu. Lorsque vous redémarrez Ubuntu, la protection est définie sur la valeur initiale (activée).



1
votes

Compilation GCC avec -Fno-Stack-protecteur


0 commentaires

1
votes

Pour écho à des fichiers avec accès root à l'aide de sudo, vous pouvez utiliser le code suivant:

echo "0" | sudo tee /proc/sys/kernel/randomize_va_space


0 commentaires

2
votes

trouvé moi-même

Vous devez compiler de cette façon:

GCC -FNO-Stack-protector -z Execstack -o sortie entrée.c


0 commentaires

1
votes

Vous pouvez désactiver ASLR pour un processus particulier en lançant avec SETARCH

pour les programmes 32 bits: P>

setarch x86_64 -R yourProgram


0 commentaires