Dnevnik rada

1. tjedan (10.10.2017. - 17.10.2017.)

Dosadašnji rad

Odrađen prvi sastanak sa mentorom i asistentima te dobivena tema “Pokretanje izoliranih ranjivih mrežnih servisa na Windows serveru za CTF zadatke”. Proučio sam malo više o tome te sam razgovarao sa jednim od asistenata kako ću realizirati zadanu temu i dogovorio za sastanak uživo kako bi mi razjasnio sve nejasnoće.

Daljnji koraci

Do sastanka (koji je u petak) proučiti zadatak koji mi je poslao asistent te proučiti sve nejasne elemente zadatka. Pronaći par sličnih zadataka te ih probati riješiti.

2. tjedan (17.10.2017 - 24.10.2017.)

Dosadašnji rad

Proučio sam zadatak koji mi je poslao asistent te ga uspio riješiti. Proučio sam python kod te shvatio kako funkcionira. Nije mi bilo jasno kako prokrenuti program kao servis na windowsu.

Na sastanku s asistentom shvatio sam poantu zadatka te me uputio što i kako dalje.

Daljnji koraci

Proučiti programe Inetd, XInetd te WinInetd koji omogučuju internet servise te za svaki konfigurirani servis “slušaju” zahtjeve korisnika koji se povezuju.

3. tjedan (24.10.2017. - 31.10.2017.)

Dosadašnji rad

Naučio sam raditi sa programima inetd te xinetd te kako staviti određeni program na mrežu tako da ostali korisnici koji su spojeni na tu mrežu mogu pristupiti tom programu. Najviše sam se mučio sa shvaćanjem kako konfigurirati xinetd.config u kojem se treba upisati ip adresa, port, protokoli itd., ponajviše zato što još nisam bio upoznat sa svim navedenim jer komunikacijske mreže imam tek ovaj semestar. Za sada sam radio na kali linuxu.

Daljnji koraci

Prebaciti se na Windows te probati istu stvar. Pitati asistenta te proučiti kako napraviti izolirani sustav.

4. tjedan (31.10.2017. - 7.11.2017.)

Dosadašnji rad

Isprobao WinInetd te se dogovorio sa asistentom kako raditi implementirani sustav. Ideja je sljedeća. Staviti rješenja dva različita zadatka u dvije tekstualne datoteke sa ovlastima za dva različita korisnika. Time bi osigurali da korisnik koji riješi jedan zadatak ne može pročitati rješenje drugog zadatka niti ga brisati/modificirati.

Daljnji korac

Pokušati sve gore navedeno napraviti sa WinInetd-om koji bi u konfiguraciji trebao imati podršku za korisnike.

5. tjedan (7.11.2017. - 14.11.2017.)

Dosadašnji rad

Napisan plan projekta i predan na fer web.

Daljni koraci

Poslje međuispita izvesti sve navedeno u 4. tjednu.

6./7. tjedan - Međuispiti

8. tjedan (2.12.2017. - 9.12.2017.)

Dosadašnji rad

Proučio sam kako pisati konfiguracijski file wininetd.conf. Uspio sam pokrenuti servis wininetd koji je vidljiv u Task Manageru. Napravio sam jednostavan program (program.exe, ispisuje sa stdina na stdout) na kojeg cu se pokušati spojiti sa drugog računala. Dao sam mu port za kojeg sam prije toga provjerio je li slobodan sa netstat-om. Kada pokrenem wininetd –debug, uspije ga staviti na mrežu. Tu sam imao problem jer wininetd u konfiguracijskom file-u prilikom dodjele puta do datoteke program.exe iz nepoznatih razloga izbriše zadnji znak te se u konfiguracijsku datoteku mora dodati još jedan znak na kraj kako ne bi došlo do pogreške (c:\program.exee → c:\program.exe). Na istom računalu sa drugog terminala naredbom nc (netcat) koja kao parametre prima IP adresu i port zadajem vlastitu IP adresu (ipconfig) te unaprijed određeni port. Sa terminala na kojem je pokrenut wininetd –debug se vidi da se klijent spojio sa određenom ip adresom i portom, ali na klijentskom računalu (netcat) se ne pokreće zadani program odnosno ne ispisuje ono što bi trebalo.

Daljni koraci

Probati na kućnoj mreži istu stvar sa dva različita računala. Riješiti problem na koji sam naišao. Ukoliko ne uspijem, javiti se asistentu.

9. tjedan (9.12.2017. - 16.12.2017.)

Dosadašnji rad

Uspio sam riješiti problem od prošlog puta. Wininetd radi normalno bez definiranog usera. Kod stavljanja usera u wininetd.config te pokretanja wininetd-a javljao se error. Jedan od errora sam uspio riješiti tako da sam debuggiro wininetd.c,našao grešku koja se javlja pozivom funkcije LogonUserA te nakon proučavanja greške na internetu našao riješenje. Naime u Windowsima treba otići u Local Security Policies (Start → Run → secpol.msc → Local Policies → User Rights Assignment → Log on as batch job) te dodati usera kojeg smo upisali u konfiguracijskoj datoteci u Log on as batch job. Nakon toga pojavila se nova greška ([wininetd] unable to create process as user: cmdln='c:\pr.exe' user='Roko' err='A required privilege is not held by the 'lient.) Nakon mnogo googlanja i debuggiranja nisam uspio otrkiti problem te sam se obratio mentoru.

Daljni koraci

Čekati odgovor mentora te nastaviti dalje prema njegovim uputama.

10. tjedan (16.12.2017. - 23.12.2017.)

Dosadašnji rad