J'ai rencontré un code de coquille malveillant et j'ai porté le coquillage dans un code C compatible qui peut exécuter le coquillage, je l'ai compilé à l'aide de gcc -fno-stack-protector -z execstack shellcode.c -o code
qui donne un fichier elfe de sortie code
, je prévois d'analyser le fichier à l'aide de gdb ./code
Commande de voir les fonctions et à rechercher le code de coquille.
Maintenant, ma question est qu'un fichier elfe non approuvé exécuté dans gdb peut entraîner une exécution de fichier en dehors de GDB? Parce que si le code de coquille est rm -rf / --no-preserve-root
Il s'agit d'une implication de sécurité ou d'un code de coquille qui utilise une connexion à distance est également une menace, la commande gdb ./code
Exécute le code complètement ou simplement simplement porter le code sur GDB, car après cela, je peux utiliser des points d'arrêt avant l'exécution de code shell à analyser.
Toute réponse serait appréciée.
Ça fait certainement. gdb
_ n'ira pas le processus du tout et ne vous donnera aucun contrôle pour comprendre ce qu'il fait.
Pour ce type d'analyse, vous devez recourir à un système entièrement isolé tel qu'un VM sans accès réseau.
Les points de rupture seront respectés, mais vous devriez toujours rendre compte des erreurs humaines pouvant avoir des conséquences dramatiques. Si vous êtes suffisamment bon pour déboguer en toute sécurité un programme obscédigé, vous n'auriez pas besoin de l'exécuter comme vous le feriez simplement lire le code pour savoir ce qu'il fait, ce qui serait sans risque.