Małe zadanie #6¶
Materiały dodatkowe¶
Pliki z których będziemy korzystać¶
server.c
- przykładowy serwer którego lukę w bezpieczeństwie wykorzystamyexploit.py
- gotowy program wykorzystujący lukę serwerapayload.s
- kod który zostanie wykonany na komputerze ofiarydemo.c
- pośredni etap tworzenia exploit.cdump_vdso.c
- pomocniczy program służący do obejrzenia VDSOexec.c
- program wykonujący execve
Makefile¶
make
skompiluje server payload i demo.make show-payload
pokaże gotowy do wklejenia kod maszynowy payload’amake show-vdso
na Linuksie pokaże deasemblację vdso
Cel¶
Dostosować prezentowany na zajęciach exploit do działania na systemie w dostarczonej maszynie wirtualnej. Rozwiązanie powinno zakładać włączoną randomizację przestrzeni adresowej i niewykonywalny stos.
Pominięcie warstwy sieciowej i postawienie takiego problemu też nie jest nieżyciowe bo jest przecież cała masa programów, do których każdy ma dostęp, natomiast są one własnością użytkownika root i mają ustawiony bit SUID, który powoduje, że zawsze są wykonywane na prawach właściciela. Przykładami mogą być su albo cron.