Zdravim fsechny zucastnene,
vypada to, ze pro Igiho zacnu psat na plnej uvazek :-) (leda tak zadarmo, tech.poznßmka Igi)
Ano, toto je dalsi clanek
pojednavajici o mym dalsim programu. Igi me pozadal jestli bych nemohl napsat
neco malo o samotne historii, vlastnostech a schopnostech meho noveho internetoveho
cerva, ktereho jsem pojmenoval I-Worm.Universe. Protoze vim, ze Igiho stranka o
virech je hodne navstevovana, rozhodl jsem se ze neco malo bych napsat mohl. Na
moje posledni clanky jsem dostal mnoho mailu - vesmes slusnych, mnoho lidi me
zadalo o pomoc pri programovani, hodne z nich ma pry moje dilka rada - z toho
jsem vydedukoval ze moje prace neni zas tak spatna jak o ni nekteri bohati panove
z bohatych softwarovych firem hovori a cas od casu vydat nejaky ten clanek neni
zas tak od veci.. tak tady je.
Kratce pred dokoncenim cerva XTC jsem si precetl jeden vesmes humorny clanek na internetu, ktery se zabyval moznymi dirami v MSIE 5.0. Byla tam recena jedna zajimava myslenka - pokud by Microsoft potreboval vyuzit vypocetni vykon nekterych pocitacu pripojenych na Internet (treba pro nejake matematicke vypocty, ktere vyzaduji vypocetni vykon nekolikatisettisic az milionu pocitacu), urcite to pro nej nebude velky problem. Vzdyt kolik lidi vyuziva Internet Explorer? Stamiliony a stamiliony uzivatelu. Je teoreticky i prakticky mozne, ze si MSIE dokaze stahnout nejaky "plug-in" umisteny na Microsoftim serveru a vykonat jej. Plug-in muze byt jakakoliv cast programu, treba program pro nejaky vypocet, po jehoz dokonceni se odeslou vysledne informace zpet k Microsoftu. Na velmi podobnem principu pracuje system SETI@home, ktery na kazdem zucastnenem pocitaci analyzuje nektere vybrane informace z vesmiru a vysledek vysle zpet na centralni server. Duvod je jednoduchy. Signalu je takove mnozstvi, ze by to jedna pocitacova jednotka nezvladla zpracovavat, proto se vyuziva tohoto distribuovaneho modelu.
Tato myslenka me velmi zaujala. Vytvorit cerva, ktery by pracoval na bazi modulu, ktere by byly snadno programovatelne a upgradovatelne. Zpocatku by byly k disposici moduly, ktere by zajistovaly samotne sireni. Gdyby se cerv CISTE teoreticky rozsiril, bylo by mozne pridat jiny modul, ktery by napr. vyuzil vypocetniho vykonu treba na crackovani hesel. V pripade velkeho CISTE teoretickeho rozsireni by take bylo mozne naprogramovat a vypustit modul, ktery by se postaral o zniceni samotneho cerva. Proste cokoliv. Take se mi velmi zamlouvala myslenka tzv. komplementarniho cerva, ktery by byl rozdelen na male casti kodu, roztrousene po celem Internetu. Jedna cast neznamena nic, ale 30 casti uz tvori celeho cerva. Toto prinasi radu vyhod pro me, jako autora cerva (absolutni modularita, variabilita) a nevyhod pro tzv. antivirove "specialisty" (nutnost neustale monitorovat moduly).
Rozhodl jsem se tyto dve myslenky realizovat. Architektura mela byt hodne jednoducha. Primarni modul mel pouze za ukol stahnout fsechny dostupne moduly z Internetu a vykonat je. Samozrejme musel umet zakladni veci, jako jsou napr. anti-detekcni schopnosti nebo instalace jako tzv. service do pameti (pozn. neni pravda, jak Igi psal, ze XTC a Universe umi pracovat pouze pod Win2000. tito dva cervi umi pracovat pod fsemi Win32 systemy). Zbyle programove rutiny, ktere mel cerv umet vykonat, byly ulozeny prave v modulech. Tyto moduly byly pouhopouhe DLL knihovny, pri jejichz natahnuti do pameti se automaticky spoustel vykonny kod. Fsechny moduly byly zakryptovane mou oblibenou utilitou "tElock", DLL moduly byly jeste k tomu zasifrovane vcelku silnym algoritmem RSA.
Nyni par technickych detailu tykajicich se samotnych modulu..
Ten mel za ukol jak jsem jiz rekl provest pouze ty nejdulezitejsi veci. Tady je schema jeho cinnosti:
Tento modul se pokusi vyparsovat fsechny mailove adresy ze souboru ulozene v cachi (adresar "Temporary Internet Files") a pokusi se na ne odeslat. Toto je take zpusob jak lze virus upgradovat - neposila pres mail totiz primarni modul ulozeny v systemovem adresari, ale modul umisteny v jeho samotnem tele (vypustenim modulu s novym cervem uvnitr se rozesle novejsi varianta cerva).
V zavislosti na internim citaci systemu provede nasledujici 3 veci:
Tento modul se stara o zaslani tzv. "feedbacku" na moji mailovou adresu. Tato zprava obsahuje IP adresu a jmeno stroje, ktery byl infikovan.
Pokud existuje c:\mirc\mirc32.exe, vytvori c:\mirc\script.ini, ktery se stara o sireni pres IRC klienta mIRC32.
Tento, zatim posledni modul, zjisti standardni "Download" adresar Internet Exploreru a tam se pokusi infikovat vsechny archivy RAR.
Jak jsem jiz rekl, cerv je plne variabilni. Pridat novy modul neni nic tezkeho. Staci naprogramovat DLL knihovnu, zakryptovat ji, umistit ji KDEKOLIV na Internet a pridat URL adresu do seznamu modulu na me strance. Behem par minut si fsichni aktivni cervi tento novy modul stahnou a spusti. Opravdu to funguje.
Nyni vam jeste napisu o mensim incidentu, ktery se v souvislosti s timto cervem
stal. Asi den po zverejneni cerva na me strance vydalo AVP popis. Byly tam
zminene nektere "zavazne" chyby. Byl jsem schopen najit chybu pouze jedinou - byla
to moje chyba, pri testovani fsechno fungovalo spravne, ale pred finalni kompilaci
jsem zapomnel zaZIPovat primarni modul v modulu pro sireni pres postu. Toto
znemoznilo CISTE teoreticke rozsireni cerva mailem. Chybu jsem okamzite opravil,
jak jsem jiz napsal, prace s modulama je velmi jednoducha. Jine chyby jsem
nenasel, testoval jsem to na nekolika masinach, ale zda se ze problemove stroje
maji jenom v Rusku. Par hodin po aktualizaci stranky byl muj website zrusen. Gdo
jiny mohl poslat hlasku na hyperlink.cz (muj drahy web-space provider) nez
Kaspersky, ze?
Napsal jsem velmi slusny dopis do hyperlinku, ve kterem jsem dal najevo svuj
nesouhlas. Zadne stanovy jsem neporusil (dokonce i ikonku hyperlinku jsem si
na stranku pridal), zadne porno, zadny spam, zadne poruseni zakona. Jediny
cim jsem se prohresil byla pritomnost zakryptovanych modulu, ktere je nemozne
umyslne ci neumyslne jakymkoliv zpusobem spustit. Cerva jsem JAKO VZDYCKY
nerozsiril, pouze jsem jej dal k disposici tem, kteri o nej maji zajem - na sve
strance. Zadny zakon, zadny pravidla jsem timto neporusil. Musim priznat, ze me
to hodne vytocilo - nejaka softwarova firma z Ruska napise na bonusweb.cz, ze Igi
si doma udelal destruktivni program FORMAT.COM, ktery muze udelat i miliardove
skody, zverejnil jej na sve strance a do jedne hodiny je Igi bez stranky. Je to
fer?
Odpovedi jsem se bohuzel od hyperlinku nedockal, protoze hned druhy den byla
zrusena i moje e-mailova adresa benny_29a@hushmail.com, z ktere jsem odesilal
mail. Proc byla zrusena? Jenom kvuli samotne EXISTENCI modulu, ktery se stara o
odesilani mailu na moji adresu (modul pro zpetne ohlaseni). Opet jsem napsal
mail, tentokrat na hushmail.com, vysvetlil jsem ze se jedna o nedorozumeni, ze
zakon ani pravidla neporusuju.. nebylo mi to nic platne, dodnes na adresu
benny@post.cz nedosla odpoved.
Az me presla zlost, kontaktoval jsem jineho providera (obdoba jiz nefungujiciho
coderz.net), na kterem jsou nyni umisteny moje stranky, vcetne cerva a fsech
modulu. Jediny mail, co me vzdy fungoval, funguje a doufam ze i bude fungovat
je benny@post.cz. Na hushmailu jsem si vytvoril novou schranku a upravil onen
zmineny modul tak, aby maily odesilal tam. Toto hodlam delat do te doby, nez
to toho ducha Kaspera prestane bavit. Ja mam casu dost na vytvoreni nove schranky
a aktualizaci modulu, jsem zvedavy kolik casu ma on na delani nesmyslnych veci
(jako treba bezduvodne ruseni mailove schranky kazdy den dvakrat ;-).
Umeni je rehole :-) V soucasne dobe pracuju na novem "programu". Bude to virus a bude to bomba, jako vzdycky :-) To je to jedine, co vam k tomu ted muzu rict. Dekuju za to, ze jste zabili cas prave s timto clankem. Pokud budete mit neco (cokoliv) na srdci, rad si prectu vas mail a odpovim na nej, pokud mi zase nezrusi schranku :-/
Autorem Φerva I-Worm.Universe i Φlßnku je Benny/29A - benny@post.cz