Table of Contents

1. Concepte de securitate

Facem o trecere în revistă prin principalele subiecte de securitate și perspectiva atacatorului și apărătorului.

Subiecte abordate

Resurse

Exerciții

Arhiva de suport pentru exerciții se găsește aici. Descărcați arhiva și apoi decomprimați-o folosind comenzile:

wget http://koala.cs.pub.ro/training/res/secure-low-level-programming/arc/01-concepte-de-securitate-skel.zip
unzip 01-concepte-de-securitate-skel.zip

Injectarea unei comenzi

Accesăm directorul command-injection/ din arhiva de suport.

Urmăriți fișierul cod sursă C vuln.c și rulați executabilul vuln. Folosiți executabilul în așa fel încât să afișați conținutul fișierului /etc/passwd.

Controlul mediului

Accesăm directorul env-control/ din arhiva de suport.

Urmăriți fișierul cod sursă C vuln.c și rulați executabilul vuln. Folosiți executabilul în așa fel încât să afișați conținutul fișierului /etc/passwd.

Folosiți-vă de prezența scriptului id în directorul curent.

De ce a fost nevoie ca în scriptul id să folosim calea completă către comanda /bin/cat? Putem să “exploatăm” executabilul vuln în așa fel încât să nu fie nevoie de calea completă către comanda /bin/cat?

Integer overflow

Accesăm directorul integer-overflow/ din arhiva de suport.

Urmăriți fișierul cod sursă C vuln.cpp și rulați executabilul vuln în așa fel încât să afișeze mesajul You got it! Congratulations!.

Leak de informație

Accesăm directorul leak/ din arhiva de suport.

De ce este problematic programul vuln.cpp? Ce poate obține un atacator din accesarea executabilului? Ce se întâmplă dacă decomentăm linia care apelează funcția do_trigger2()?

Obținere root prin controlul mediului

Accesăm directorul get-root/ din arhiva de suport.

Urmăriți fișierul cod sursă C vuln.c și rulați executabilul vuln. Folosiți executabilul în așa fel încât să afișeze mesajul You got it! Congratulations!.