Citat:
@vlada_vlada,
Ne trce svi servisi pod LocalService / NetworkService nalogom, ima ih koji trce i pod sistemskim nalogom. Ovi novi (LocalService/NetworkService) nalozi su uvedeni u Visti kako bi se limitirao exposure jer gomila 3rd party developera koristi servise koji su puni potencijalnih rupa, ali i dalje nije zabranjeno kreirati servise sa "matorim" sistemskim privilegijama koje su daleko sire.
Dakle, ti imas prava da servisu das sistemske privilegije pri kreiranju servisa sa CreateService() API-jem (lpServiceStartName* parametar, ako je NULL, servis ce trcati pod LocalSystem privilegijama) - naravno da u Windowsu mozes i LocalSystem nalogu ograniciti privilegije ali to bi kompromitovalo funkcionisanje sistema, a po default sigurnosnim polisama taj nalog ima pravo da, recimo, pristupi svim korisnickim fajlovima na sistemu. Doduse, u Visti LocalSystem nije u stanju da menja sistemske fajlove (to moze samo TrustedInstaller) i to je glavna razlika izmedju root-a u Linuxu koji je svemocan i LocalSystem-a na NT-u - ali, opet, LocalSystem ima prilicne privilegije.
Ako obicnom user-level procesu das administratorske privilegije, on ima pravo da pozove CreateService() API i da instalira svoj servis u sistem - tom servisu je moguce dodeliti LocalSystem nalog, i takav servis ima prilicno siroka prava na sistemu, sto malware autoru daje mogucnost daljeg kompromitovanja sistema.
Tacno, moguce je podesiti prava servisa kroz API (a i kroz mmc snapin koji predstavlja uopbicajeni adiminstratorski alat za konfigurisanje ovih stvari). Nazalost, pod XP-om npr. vecina servisa trci pod SYSTEM pravima, iako ne bi trebalo..
LOCAL SERVICE i NETWORK SERVICE nalozi postoje kroz kompletnu liniju NT servera - nisu uvedeni u Visti.
Nego, ako se vratimo na originalni post:
Citat:
“When executed, Backdoor:Win32/Yonsole.A injects itself to services.exe and drops a DLL file to the <system folder>, for example: f00165500k.cmd,” Feng added. “The DLL file contains the backdoor functionality and may be detected as Backdoor:Win32/Yonsole.B. Backdoor:Win32/Yonsole.A installs the dropped DLL as a Service DLL to make sure it is loaded as each Windows start, for example: adds value: "ServiceDll"; with data: "<system folder>\f00165500k.cmd"; under key: HKLM\SYSTEM\CurrentControlSet\Services\F00165500K\Parameters.”
Vidimo da autor kaze da se virus injektuje u services.exe. Ja sam pretpostavio da je u pitanju "dll injection", no to ne mora da bude slucaj. Mozda se virus prosto instalira kao servis. No i za jedan i za drugi scenario potrebna su prethodno Administratorska prava.
Citat:
Sad sam pogledao, svi dependency DLLovi su u system32 zajedno sa services.exe, tako da mora da imas write privilegije na tom folderu da bi uradio DLL injection, pod uslovom da uopste nesto mozes da menjas. Sa stanovicsta windows 2008r2/win7 sam services.exe moze da menja samo trustedinstaller process a sam trustedinstaller process moze da menja samo sam sebe, tako da se prica svodi na to da ove fajlove ne mozes da menjas ni kao admin ni kao local system, jedini vektor napada na ove fajlove je kroz windows update. Trebalo bi sad vremena proveriti ostale dependent DLLove koje services.exe koristi.
Za DLL injekciju DLL-ovi uopste ne moraju da budu u %WINDIR%\system32 folderu. Mogu da se nalaze bilo gde, dovoljno je da SYSTEM moze da ih cita. Prilikom injekcije image services.exe-a se ne menja.
Kada bi se menjao image, bilo bi dovoljno ubaciti staticki DLL dependency u PE header-u, ali to nije DLL injection.