This shows you the differences between two versions of the page.
uso:teme:tema-4 [2017/12/14 19:13] maria.mihailescu [Task 01 (20p)] |
uso:teme:tema-4 [2019/10/22 17:10] (current) razvan.serban |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | <hidden> | ||
====== Tema 4 ====== | ====== Tema 4 ====== | ||
Line 22: | Line 23: | ||
<note important> | <note important> | ||
- | Deadline: **10 Ianuarie**\\ | + | Deadline: **10 Ianuarie 2018, ora 23:55**\\ |
Timp de lucru: **Enough**\\ | Timp de lucru: **Enough**\\ | ||
Punctaj: **0.8 puncte** din nota finală\\ | Punctaj: **0.8 puncte** din nota finală\\ | ||
- | Formular pentru trimitere temă: TODO\\ | + | Formular pentru trimitere temă: [[ https://docs.google.com/forms/d/1msG5ZoiiQdPHX8OMsTLBydXoOv-v-6dZ7hZGoe4lJ1s | Formular submitere ]] |
</note> | </note> | ||
<note> | <note> | ||
**Actualizări enunț:** | **Actualizări enunț:** | ||
+ | * 4 Ian 2018 V2 | ||
+ | * Task01 - Update enunt rail-fence, poate contine caractere alfanumerice, linie ''-'', virgula '','' si spatii. | ||
</note> | </note> | ||
<note> | <note> | ||
**Actualizări checker:** | **Actualizări checker:** | ||
+ | * 19 Dec 2017 V6 | ||
+ | * Task02 - update checker, acum checker-ul accepta si combinatii de space/tabs in configurare | ||
+ | * 19 Dec 2017 V5 | ||
+ | * Task04 - update checker anti-cheating | ||
+ | * 19 Dec 2017 V4 | ||
+ | * Task03 - update checker | ||
+ | * 18 Dec 2017 V3 | ||
+ | * Task02 - update checker | ||
+ | * 15 Dec 2017 V2 | ||
+ | * Task01 - update teste pentru ''xor.sh'' | ||
</note> | </note> | ||
Line 102: | Line 115: | ||
* argumentul 2 reprezintă textul care se va cripta/decripta | * argumentul 2 reprezintă textul care se va cripta/decripta | ||
* argumentul 3 reprezintă cheia | * argumentul 3 reprezintă cheia | ||
- | * Se garanteaza ca input pentru acest cipher doar caractere din alfabetul latin si spatii. | + | * Se garanteaza ca input pentru acest cipher doar caractere alfanumerice, spatii, linie ''-'' si virgula '',''. |
* Mai multe detalii despre Rail-Fence Cipher gasiti aici: [[https://en.wikipedia.org/wiki/Rail_fence_cipher|Wiki]] | * Mai multe detalii despre Rail-Fence Cipher gasiti aici: [[https://en.wikipedia.org/wiki/Rail_fence_cipher|Wiki]] | ||
* Exemplu de folosire a scriptului ''rail-fence.sh'': | * Exemplu de folosire a scriptului ''rail-fence.sh'': | ||
Line 116: | Line 129: | ||
==== Task 02 (20p) ==== | ==== Task 02 (20p) ==== | ||
+ | |||
+ | <note warning> | ||
+ | Este recomandata testarea individuala a acestui task folosind ''sudo uso check 2''. | ||
+ | |||
+ | **Testarea va dura aproximativ un minut.** Be patient! | ||
+ | </note> | ||
Vă aflați în folderul ''/home/student/tema04/task02''. | Vă aflați în folderul ''/home/student/tema04/task02''. | ||
Line 150: | Line 169: | ||
==== Task 03 (20p) ==== | ==== Task 03 (20p) ==== | ||
- | TBA | + | <note warning> |
+ | Acest task se va testa direct pe VM, fara conexiuni de ssh de pe masina host. | ||
+ | |||
+ | De asemenea este recomandat sa il testati individual folosind ''sudo uso check 3''. **Nu tastati nimic in timp ce se executa scriptul de testare!** Dupa terminarea checker-ului este posibil sa nu mai apara nimic din ce tastati la terminal desi comenzile merg in continuare. Daca se intampla acest lucru tastati ''reset'' si terminal va reveni la normal. | ||
+ | </note> | ||
+ | |||
+ | Vă aflați în folderul ''/home/student/tema04/task03''. Pentru acest task va trebui sa implementati un [[https://en.wikipedia.org/wiki/Keystroke_logging|keylogger]] simplificat, acesta este un software care va inregistra tot ce se scrie la tastatura. | ||
+ | Linux va pune la dispozitie un anumit utilitar care va rezolva mare parte din munca. | ||
+ | |||
+ | <note> | ||
+ | Hint: ''man showkey'' | ||
+ | |||
+ | Cititi cu atentie manualul, nu este nevoie de bucle infinite pentru acest task! | ||
+ | </note> | ||
+ | |||
+ | Creati scriptul de bash ''keylogger.sh'' care va intercepta cand se apasa o tasta si va inregistra totul in ''output.log'' intr-o forma **human readible**. Exemplu de utilizare/testare/output: | ||
+ | |||
+ | <code bash> | ||
+ | [student@usovm]$ sudo ./keylogger.sh | ||
+ | |||
+ | </code> | ||
+ | |||
+ | Dupa ce am dat enter porneste procesul si terminalul curent ramane aparent neresponsiv. Intre timp tastez "# loktar ogar<enter>". Dupa ce se termina scriptul inspectam rezultatul. | ||
+ | |||
+ | <code bash> | ||
+ | [student@usovm]$ cat output.log | ||
+ | |||
+ | 3 loktar ogar | ||
+ | </code> | ||
+ | |||
+ | Va trebui sa interceptati doar caracterele alfanumerice, spatiu si enter. A se observa ca ''#'' a fost capturat ca ''3'' in acest exemplu. | ||
==== Task 04 (30p) ==== | ==== Task 04 (30p) ==== | ||
| | ||
- | TBA | + | Vă aflați în folderul ''/home/student/tema04/task04''. Porniti task-ul cu ''sudo uso check 4'', in momentul acesta aveti executabilul ''forensics''. Executabilul asteapta un input specific de la voi, daca il nimeriti va afisa un [[https://en.wikipedia.org/wiki/Capture_the_flag#Computer_security|Flag]] ascuns. |
+ | Creati scriptul de bash ''solution.sh'' care va apela de fiecare data executabilul si va genera input-ul corect pentru a afisa flag-ul. | ||
===== Task obligatoriu pentru toate temele (0p) ===== | ===== Task obligatoriu pentru toate temele (0p) ===== | ||
Line 162: | Line 212: | ||
+ | </hidden> |