Suprascrierea Stivei. Shellcodes
Suport

Exerciții
1 - Suprascrierea Stivei 🏁
Analizați fișierul executabil cookie_lover.elf pentru a identifica funcționalitatea ce permite suprascrierea stivei și a o exploata pentru obținerea flag-ului.
2 - Crearea și Testarea unui Shellcode 💁
Rolul acestei sarcini este de a observa modul în care un shellcode este creat, compilat și rulat într-un mediu controlat (spre deosebire de execuția lui în cadrului unui exploit), cu ajutorul a două metode. Efectuați pașii de mai jos:
- Vizualizați conținutul fișierului
shellcode.S. Care este funcționalitatea lui? - Rulați comanda
make get_shellcode. Ce reprezintă octeții returnați? - Plasați șirul de octeți obținut anterior în fișierul
execution_from_stack.c. Rulați comandamake execution_from_stack.elfși, ulterior, executați programul. Folosiți instrumentele prezentate în primul laborator pentru a înțelege cum se rulează shellcode-ul. - Plasați șirul de octeți obținut anterior în fișierul
execution_with_mprotect.c. Rulați comandamake execution_with_mprotect.elfși, ulterior, executați programul. Folosiți instrumentele prezentate în primul laborator pentru a înțelege cum se rulează shellcode-ul.
3 - Folosirea Apelului de Sistem execve în Shellcode 💁
Folosind Ghidra, identificați vulnerabilitatea executabilului ultimului exercițiu din al doilea laborator, essay-checker.elf. Căutați un shellcode pe website-ul shell-storm.org care să lanseze în execuție /bin/bash sau /bin/sh. Combinând aceste două informații și utilizând simbolul helper, creați un payload care să exploateze executabilul pentru lansarea în execuție a unui shell.