This is an old revision of the document!
Curs 12 - Securitatea sistemelor de operare
Demo-uri
Pentru parcurgerea demo-urilor, folosiți arhiva aferentă.
Bitul de set-user-ID-on-execution
Intrați în directorul 1-setuid/.
Consultați fișierul setuid-test.c.
Compilați fișierul folosind comanda make.
Folosiți ls -l pentru a obține informații complete despre executabilul setuid-test.
Ca utilizator neprevilegiat rulați executabilul:
./setuid-test
Observați cele trei tipuri de identificatori de utilizatori: user id, effective user ID, saved set-user-ID.
Observați că se poate reveni la utilizator privilegiat, dacă cel puțin unul dintre identificatorii de utilizatori este 0 (root) (temporary privilege drop).
-
Intrați în directorul 2-shellcode/.
Consultați fișierul shellcode-samples.c.
Acele variabile se găsesc în forma binară și în fișierul binary-shellcodes.
Folosiți
objdump pentru a dezasambla fișierul:
objdump -D -b binary -mi386 binary-shellcodes
Se afișează instrucțiunile dezasamblate; au fost plasate niște instrucțiuni de tip nop între cele trei shellcode-uri.
Observați apelul int $0x80, reprezentând trap pentru acces în kernel space (apel de sistem).