Cielený objekt detekovať, ukončiť...a po určitom počte ukončení, zničiť počítač...
Tento článok bude akýmsi začiatkom, či základom, pre ďalšie, prípadné články zásahu do systému.
Predstavte si, že chcete písať malware/vir/rootkity. Viete ako sa kryť? Viete, v čom spočíva logika virov, a v čom blbosť nástrojov, ktoré majú detekovať vir?
Pri každom malware, ak ho nepíšu deti niekde doma cez "heslovanie prostredníctvom $net user", je nutné si uvedomiť, na akom počítači (počítači koho), malware beží.
Každý tvorca malware potrebuje zabezpečiť, aby sa o malware možno do poslednej možnej chvíle nevedelo, a zároveň eliminovať možnosť spustenia na počítači, ktorý patrí zdatnejšiemu užívateľovi, prípadne samotnému testerovi.
Takže, ako som už nespočetne mnoho krát popísal, nový malware, aby bol v databázi neakého AV, sa musí najprv odchytiť a odoslať danej AV spoločnosti.
Je zrejmé, že snaha udržať nový malware je dosť dôležitá, hlavne napríklad, pri vytvorených Zoombie Sieťach.
Taktik skrývania a možnosti neakého toho eliminovania, hneď pri spustení infikovaného súboru, je naozaj mnoho.
Dnes si popíšeme jednú časť, ktorá dáva malware akúsi svoju "vyššiu" inteligenciu, v danej situácií vykonať "určitú" akciu.
Predstavme si trocha zložitejšiu sústavu malware. Ak niekto príde na obyčajný keylogger, vydám ďalší.
Čo však v prípade, ak mám vytvorené bootnety... Pri 5000 počítačov by bolo namáhavé na každú mašinu znovu nahrávať nedetekovateľnú verziu zombie a v dôsledku, by som prišiel o počítače. Je síce pravda, že časom sa tomu zabrániť nedá, ale čo takto to všetko eliminovať do spomínanej poslednej chvíle??
Logika Myslenia
Chceme dosiahnúť toho, aby m;j malware infikoval čo najviac počítačov.
Potrebujem, aby malware prvotne zistil, aký zdatný človek s počítačom pracuje a kedy je tá posledná chvíľa pred odhalením, kedy sa "môžem zmazať tak, aby som sa nedostal do spoločnosti AV na disassemblovanie".
Algoritmus:
---> Pred zaktivizovaním zisti, aké programy sú uložené v počítači - (1)
---> Zisti, aké programy sú nainštalované v počítači - (2)
|--> Ak nie sú v počítači zistené NEŽIADÚCE programy, zaktivizuj sa - (2.1)
|--> Ak sú v počítači zistené NEŽIADÚCE programy, vykonaj operáciu (xx) - (2.2)
---> Pokračuj bežaním na pozadí - vytvor vlákna (3)
---> V jednom vlákne pozoruj, aké procesy bežia, alebo boli spustené (4)
|--> Ak sú v počítači zistené NEŽIADÚCE processy, vykonaj operáciu (xx) - (5)
Malware môže obsahovať akýsi list súborov/inštalačiek/častí, ktoré používajú zdatnejší užívatelia, prípadne testeri.
Prejst počítač a vyhodnotiť situáciu, či urobiť percentuálny výpočet je triviálne.
No a na základe neho sa môže malware rozhodnúť a vykonať operáciu vyvolaním funkcie (xx).
V tomto bode, teda v bode (2), sa, napríklad, malware zmaže, zhodí partice v cielenom počítači, zmaže HDD, preformátuje všetke média,... nespočetne veľa možností... avšak, zaujímavejší je bod (4), a to detekovanie pri už zavedenom malware.
Malware beží, tým napríklad blokuje regedit.exe, taskmgr.exe, atď. . Ale, čo ak spustím nástroje ako Hijackthis.exe, Combofix.exe, RSIT.exe ??
Ok, malware mi ich môže defaultne bloknúť. Ale...čo ak ich premenujem? ...
A čo ak chcem blokovať (vypnúť), tieto utility, napríklad, len na 5 krát ? Znamená, že po 5. spustení sa nám zavolá funkcia (xx) - malware vyhodnotí situáciu ako kritickú (niekto sa snaží urobiť výpis bežiacích služieb - najvyšší čas sa odmazať, ale ešte predtým zničiť počítač), a vyvolá funkciu XX.
Je jasné, že je nutnosťou na výbornej úrovni ovládať fungovanie OS, tak ako aj samotných programov.
K programom typu RSIT, HJT, COMBOFIX sa v inom článku ešte vrátim, no samotný článok venujem na bezpečnostné fails combofixu a naozaj pochybujem, že niekto bude nadšený...
Teraz by som však prezentoval popísanú teóriu s trochou praxe, ktoré som simuloval na videu :]]