Citat:
Bojan Basic: A šta bi trebalo da radi to čudo ako kod nekog slučajno prođe?
Evo sto sam iskopao u 15-ak min:
Prvo pokusava stvoriti mutex "RegisterServiceProcess" sto je standardna provjera kod malwarea da li je njegova instanca vec pokrenuta kako bi se sprijecila ponovna infekcija. Ako GetLastError vrati ERROR_ALREADY_EXISTS onda je vec pokrenut :)
Nakon toga, kao sto sam vec spomenuo, pokusava pronaci "RegisterServiceProcess" API u kernel32.dll, koji postoji samo u win9x verzija. Ovaj ce API sakriti program iz win9x task managera - ali ne i iz liste procesa kod specijaliziranih alata (tipa Process Explorer). Kod NT sistema je komunikacija sa SCM malo kompliciranija, autor izgleda da se nije dovoljno dobro informirao :)
Nakon toga radi neke pizdarije koje mi se ne da detaljno proucavat (mislim da je nebitno, neki obican housekeeping).
Potom se kopira u Windows direktorij pod nazivom "init32.exe" (kad je pokrenut iz browsera nalazi se u nekom temp direktoriju od IE-a koji ce se vjerojatno ispraznit pri rebootu ili ako korisnik flusha IE cache - bolje je da se kopira na neko "sigurnije" mjesto) te taj path do svoga kopiranog executable-a dodaje u registry pod novi kljuc HKLM\Software\Microsoft\Windows\CurrentVersion\Run\<windows direktorij>\init32.exe. Jos u system.ini dodaje pod sekcijom "BOOT" kljuc "shell" sa vrijednoscu "Explorer.exe shl32.exe".
Ako se radi o NT-baziranom win (win9x nema winlogon proces), mijenja jos i kljuc HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon\shell koji predstavlja defaultni shell za win (defaultno stoji samo na "explorer.exe) u "Explorer.exe shl32.exe", te se usput i kopira u <windows direktorij>\shl32.exe.
Nakon toga u beskonacnoj petlji ceka da se korisnik spoji na net preko InternetGetConnectedState fje, a ako nije spojen, uspava svoju nit na 10s i onda opet provjeri...i tako sve dok se ne spoji.
U trenutku kad je spojen na net skida sljedecu datoteku u windows direktorij:
http://gsmms1.netfirms.com/cgi-bin/get.cgi\syncw.exe i to dva puta (bug?) te je po uspjesnom skidanju pokrece sa ShellExecuteA API-jem.
Datoteka syncw.exe ima 372K i, kao sto netko spomene, napisana je u Delphiu u pakirana sa nekim smecem. Ne da mi se sad to dirat, nije asm :>
Ovaj sajt bi trebalo jako, jako, jako gadno shebat. Stoka jedna.