Bila je to 1998. godina kada sam od prijatelja dobio "hack CD", svojevrsna Aladinova lampa puna digitalnih blaga. CD je sadržavao sve moguće tutorijale, alate i resurse vezane za cyber security dostupne do tada na internetu. Napravila ga je grupa/stranica "AstaLaVista" (nema veze sa pretraživačem Astavista) i prodavala online.
Slučajnim dodirom s tim CD-om kroz prijateljske veze, moj život je skrenuo u neočekivanom pravcu. U to vrijeme sam bio gladan informacija, a sadržaj CD-a mi se činio kao cyber securityja na steroidima.
Na samom CD sam pronašao alatke za reverse engineering - crackmes aplikacije, hiew, WinHex i OllyDbg. Uz njih su bili i uvodi u asembler, vx scenu, tutorijali za crackmes i sl.
Moje interesovanje nije bilo usmjereno na razbijanje igara, jer su većina njih tada bile dostupne u crackovanoj verziji. Međutim, aplikacije koje smo često koristili nisu bile dostupne besplatno nakon 30-dnevne probne verzije. Jedan od takvih primjera bio je System Mechanic 3.0.
Ova aplikacija je nudila čišćenje Windows 98, optimizaciju registra i mnoštvo drugih korisnih funkcija.
CD je postao moj put u svijet cyber securityja, otvarajući mi vrata u dubine digitalnog svijeta i razbuđujući strast za zaštitu informacija. Bila je to prekretnica koja je oblikovala moj profesionalni put i ostavila dubok trag na mojoj karijeri.
Godine 1999. osjetio sam potrebu za verzijom programa koja bi nastavila raditi i nakon 30 dana.
Nakon nekoliko neuspješnih pokušaja korištenja NOP instrukcija (no operation, hex kod 0x90) i promjene instrukcije JNZ u JE (ili obratno), uspio sam postići da aplikacija uvijek pokreće s 30 dana dostupnog korištenja. To sam postigao blokiranjem pisanja u registry, tako da je program svaki put pokazivao poruku "još samo 30 dana".
Kasnije sam otkrio da program generiše serijski broj u memoriji prilikom upisa korisničkog imena za "owner". Koristeći WinHex aplikaciju, kreirao sam dump kompletnog RAM-a i pronašao serijski broj za navedeni "username owner".
Ovaj pristup je radio sve do verzije System Mechanic 7.5, kada su u program ugrađene dodatne anti-debugging tehnike.
Slučaj drugi
Pošto sam već do 2001 god stekao slavu u lokalnim opštinama (zezam se, nisam) do mene bi dolazili tehnički problemi koji regularni IT strucnjaci nisu uspjevlali da riješe.
Jedan od problema sa kojima sam se susreo je bila i aplikacija za kafić (uredno plaćena) koja je blokirala oko ponoći 4 Februara 2001 god. Vlasnici kafića su me pozvali nakon armije IT stručnjaka da pokusam da riješim problem.
Pošto sam shvatio da se radi o vremenskoj "smicalici" (na moje pitanje jel aplikacija prestala da radi oko 00h su odgovorili potvrdno sto je upucivalo da je sama aplikacija imala neki time limit i slično).
Kompletan računar sa aplikacijom sam donio kući, hard disk spojio na svoj racunar - pokrenuo Sysinternals alate (procmon, filemon i slično) kako bih dobio informacije o čemu se tu radi. Prvi problem na koji sam naišao je bio serijski broj particije diska (aplikacija gleda serijski broj C:\ uredjaja) - pa sam promjenio svoj na particiji u traženi. Drugi problem je bio putanja do fajla (znaci prilikom startovanja aplikacije, ista trazi fajl a FileMon alat prikazuje to trazenje fajla)
Nakon toga - sam nasao source kod u .arj fajlu - arj fajl je koristio enkripciju. Unutar fajla je bio jedan koji se nalazio u istom direktorijumu kao i arj arhiva. Brutforce na ARJ je isao jako jako sporo 1 pokusaj po sekundi. Nakon čitanja, o ARJ formatu, nasao sam da je moguće uraditi kriptoanalitički napad. Zapravo: ARJ-FILE-NOENC - ARJ-FILE-ENC => SIFRA Ukratko fajl koji se nalazio u cistom tekstu bi se kompresovao istom verzijom ARJ i sa ARJ fajlom koji je imao enkripciju - radjeno je poredjenje, ekstraktovanje šifre.
Jedan od alata: https://www.elcomsoft.com/help/en/archpr/known_plaintext_attack_(arj).html
Nakon što sam otvorio ARJ arhivu (šifra je bila PVSOFT - od Pavle Software), pronasao sam kod u Clipperu. Unutar poruke koja je bila prikazana kada se pokrene aplikacija "not enough memory" a koju sam nasao u source kodu - nasao sam IF gdje ima (otprilike) date => 20010402 i isti promjenio u 20990402 Kompajlirao, testirao, vratio računar vlasniku. Za sve ovo mi je bilo potrebno 12h i veci dio vremena sam proveo na pronalazenje informacija o ARJ, softweru za krekovanje ARJ enkripcije. SysInternals alate sam poceo koristiti jos 1999 god - djelovali su mi super i mogao sam pratiti sta zapravo aplikacije rade (čitanje registrija, pristup fajlovima, korisćenje TCP/IP i drugo) Mislim da je programer htio da zaštiti aplikaciju od kopiranja i da ovdje nije bilo namjerno uradjeno blokiranje.
Kasnije je bilo jos situacija gdje sam koristio reverse engineering alate, vjestine (pored onih za security, RE je jako jako bitan skills)
Pored korišćenja Windows 98, uporedo sam koristio Slackware i Phat Linux (bilo je moguće bootvati direktno iz Windowsa 98 u Linux bez Lilo boot loadera)
To je to.