Sveučilište u Zagrebu
Fakultet elektrotehnike i računarstva
SEMINAR
Analiza malicioznog softvera u
Windows Sysinternals
Zagreb, siječanj 2019.
Sandra Dobrić
0069068869
1
Sadržaj
1. Uvod ....................................................................................................................... 2
2. Sysinternals Suite ................................................................................................... 3
2.1. Process Explorer .............................................................................................. 4
2.2. Process Monitor ............................................................................................... 5
3. Analiza malicioznog softvera Sysinternals alatima ............................................... 6
3.1. Process Explorer - Analiza malicioznog softvera ........................................... 6
3.2. Process Monitor – Analiza malicioznog softvera ........................................... 8
4. Zaključak ............................................................................................................. 11
Literatura .................................................................................................................... 12
2
1. Uvod
Windows Sysinternals Suite jedan je od trenutno najpopularnijih besplatnih softverskih paketa za
nadzor, upravljanje i otklanjanje pogrešaka na operacijskom sustavu. Iako je dosad korišten
isključivo na Windows sustavima, 2018. godine najavljena je prilagodba i za Linux.
Sysinternals su 1996. godine razvili Mark Russinovich i Bryce Cogswell pod nazivom NT Internals.
Zbog prevelike sličnosti s Windows NT operacijskim sustavom, 1998. godine mijenjaju ime u
Sysinternals. 2006. godine preuzima ga Microsoft, a Mark Russinovich postaje direktor tehnike
(CTO) za Microsoft Azure.
Osim zanimljivog životopisa, genijalnog uma i niza poznatih projekata na kojima je Russinovich
radio, zanimljiva je i činjenica da je porijeklom Hrvat.
Skoro svaki Windows sistemski administrator navodi Sysinternals alate kao jednu od najboljih
besplatnih opcija i must-have alate u svakodnevnom radu. Osim njima, alati su iznimno korisni i
sigurnosnim inženjerima koji pomoću analitike koju im omogućava Sysinternals uspijevaju
prepoznati neuobičajene aktivnosti operacijskog sustava za vrijeme izvršavanja nekog procesa, a to
im pomaže pri detekciji malicioznog softvera (engl. malware).
Što datoteka radi po datotečnom sustavu, pokušava li nešto slati mrežom, pokreće li druge procese,
mijenja li ili stvara DLL-ove, radi li nešto po registrima… Na sve to odgovor može dati Sysinternals
Suite.
3
2. Sysinternals Suite
Prema službenoj stranici [1], alati se mogu podijeliti u šest skupina, ovisno o kojem interesnom
dijelu sustava pružaju informacije: datoteke i diskovi, mreža, procesi, sigurnost, informacije o
sustavu i ostalo.
Alati ne zahtijevaju instalaciju, već se preuzmu s Microsoftove stranice [2], pri čemu je moguće
odabrati preuzimanje svih alata ili odabir i preuzimanje samo pojedinačnih. Nakon preuzimanja, za
većinu alata samo je potrebno pokrenuti izvršnu datoteku odabranog alata, prihvatiti uvjete
korištenja i on počinje s radom - motri i prikazuje događaje u sustavu od trenutka paljenja. Neki
alati koriste se iz konzole (npr. AccessChk) pa je prije korištenja potrebno dodati putanju do njih
(engl. path) u varijable okoline.
Na slici 1.1. prikazana je mapa s preuzetim alatima gdje je vidljivo da su to u stvari male izvršne
datoteke.
Slika 1.1. Windows Sysinternals alati
4
Iako svaki alat ima svoju svrhu, dva najpopularnija i najčešće korištena alata Sysinternals Suite-a
su Process Explorer i Process Monitor koji pružaju uvid u događanja na Windows operacijskom
sustavu tokom izvršavanja nekog procesa. Čak je i sam Russinovich (jedan od dvojice razvijatelja
Sysinternals Suitea) preporučio da prvi koraci detekcije malicioznog softvera uvijek budu analize
ponašanja sustava u Process Exploreru i Process Monitoru za vrijeme pokretanja sumnjivog procesa.
2.1. Process Explorer
Process Explorer je zamišljen kao napredna i poboljšana verzija Windowsovog Task Managera i
nadopunjuje Task Manager na način da pruža detaljnije informacije o pokrenutim procesima.
Prikazuje detalje pokrenutih procesa od trenutka pokretanja alata pa do njegovog gašenja.
Sličnog je sučelja kao i Task Manager i također omogućava i grafičke prikaze korištenja procesora,
I/O operacija, memorije i grafičke kartice.
Pomoću Process Explorera moguće je identificirati datoteke, učitavane DLL-ove, ključeve registra
i ostale objekte koji se dodijele procesu tokom njegovog pokretanja i izvršavanja.
Process Explorer nas može uputiti u prve pokazatelje da nešto nije u redu s procesom, tj. da je
sumnjiv:
• ako nema nikakvu ikonu
• ako nema opis ili naziv tvrtke koja ga je razvila
• ako ima nepotpisane Microsoft slike (engl. unverified image signatures)
• ako se nalazi u Windows direktoriju
• ako u svojim string varijablama poziva čudne URL-ove
• ako je nekakvom sažetom formatu, npr. zip
• ako je kriptiran
• ako koristi sumnjive DLL-ove ili servise
• ako nema informaciju o verziji
Također, mogu se koristiti i ugrađeni alati za online pretraživanje nadgledanog procesa, sa dosta
dobrom šansom da je će antivirusni programi s kojima surađuje VirusTotal.com, najveća baza
malicioznog softvera, uspješno detektirati maliciozni softver.
5
2.2. Process Monitor
Process Monitor pruža uvid u sva događanja na datotečnom sustavu i mreži, Windows registre, i
sve detaljne informacije o aktivnostima za svaki pokrenuti proces.
I dok s jedne strane postoji velika količina informacija korisnih za analizu ponašanja nekog procesa,
istovremeno je riječ o jako velikom broju podataka kojih se zabilježi na stotine u sekundi, tako da
ih je teško pratiti.
Kad se Process Monitor pokrene, počinje sa snimanjem aktivnosti sustava i prikazuje ih poredane
po vremenu. Prikazano je vrijeme početka, ime procesa, PID (engl. process ID), putanja (engl. path)
i dodatne informacije. U vrlo kratkom vremenu uhvatit će više stotina ili čak tisuća aktivnosti i
korisno ih je filtrirati po različitim kriterijima.
Filtere možemo postaviti u izborniku Filter -> Filter, a neki od najkorisnijih odnose se na:
• arhitekturu (32-bitna ili 64-bitna)
• operaciju (stvaranje datoteke, brisanje, pisanje, čitanje, zaključavanje datoteke ili ključa u
registru, učitavanje slike, stvaranje, pokretanje, zaustavljanje procesa, slanje ili primanje
podataka TCP/UDP-om…)
• ID procesa koji mu je roditelj (engl. Parent PID)
• ID procesa, ime procesa, vrijeme…
6
3. Analiza malicioznog softvera Sysinternals alatima
Sysinternals pruža dinamičku i statičku analizu procesa. Analizirat ćemo zloćudni program na 32-
bitnom Windows 7 operacijskom sustavu podignutom na Oracle VirtualBox-u. Riječ je o trojancu
u datoteci sample2.exe koji prilikom pokretanja stvara više kopija datoteke ALYac.exe u Windows
direktoriju. U tu se datoteku zatim kopira, pokreće je i u njoj se skriva pretvarajući se da je antivirus
i modificira registre tako da postavlja automatsko pokretanje procesa uz pokretanje računala (engl.
Autorun). Osim toga, kao i većina trojanaca, otvara TCP vezu svakih 5 sekundi iz koje očekuje
primiti napadačeve naredbe. Za analizu će se koristiti već opisani Process Explorer i Process
Monitor.
3.1. Process Explorer - Analiza malicioznog softvera
Prvo što ćemo primjetiti na Process Exploreru jesu boje. Zelena boja predstavlja novi proces, i kao
što je prikazano na slici 3.1.1., vidimo da se pokretanjem izvršne datoteke sample2.exe stvara proces
sample2.exe.
Slika 3.1.1. Pokretanje procesa sample2.exa (zelena boja)
Nakon toga taj se proces gasi, što označava crvena boja, ali on stvara dijete proces ALYac.exe koji
je sada zelene boje. Trenutak gašenja procesa sample.exe i pokretanja novog procesa ALYac.exe
prikazan je na slici 3.1.2.
7
3.1.2. Gašenje procesa sample2.exe i stvaranje njegovog djeteta, procesa ALYac.exe
Svijetla ljubičasta boja označava mogućnost da postoji nekakav sažeti (engl. compressed) kod
skriven u procesu. Provjerit ćemo još i potpise i sumnjivim smatrati sve procese bez potpisa i naziva
tvrtke. Vrlo je korisno i efikasno odabrati opciju Check VirusTotal koja se nudi nakon desnog klika
na sumnjivi proces. Na slici 3.1.3. vidljivo je kako naš promatrani proces nema naziv tvrtke niti
potpis, što smanjuje vjerojatnost da je riječ o pravom antivirusu ALYac, a povećava vjerojatnost da
je riječ o malicioznom softveru koji se krije iza procesa s takvim nazivom.
Slika 3.1.3. Detalji procesa ALYac.exe
Dakle, naš proces, nakon što se pokrene, stvori novi proces, zatim sebe ugasi, i nije potpisan.
Iako je odmah vidljivo da je na VirusTotal.com-u 48 od 57 antivirusa prepoznalo promatrani
proces kao maliciozan, nastavit ćemo promatrati procese sample2.exe i ALYac.exe u Process
Monitoru.
8
3.2. Process Monitor – Analiza malicioznog softvera
Općenito, u detekciji malwarea najinteresantnije aktivnosti su:
1. aktivnosti koje se odnose na spajanje na mrežu
2. aktivnosti koje se odnose na učitavanje DLL-a ili izvršnih datoteka
3. aktivnosti koje rade nešto s registrima i ključevima registara
4. aktivnosti koje rade nešto s datotekama (CRUD)
5. aktivnosti koje učitavaju slike (engl. load images)
Te se operacije, radi boljeg prikaza, mogu filtrirati kao što je prikazano na slici 3.2.1.
Slika 3.2.1. Postavljanje filtera
Naravno, možemo zatražiti i da nam se samo izlistaju sve aktivnosti procesa s određenim ID-em, tj.
ALYac.exe i sample2.exe. Na sljedećim slikama prikazan je zanimljiv dio snimljenih aktivnosti, dio
koji se odnosi na aktivnosti trojanca.
9
Slika 3.2.2. Aktivnosti procesa sample2.exe i ALYac.exe (1. dio)
10
Slika 3.2.2. Aktivnosti procesa sample2.exe i ALYac.exe (2. dio)
Kao što je vidljivo na prethodnim slikama, prilikom pokretanja sample2.exe stvara više kopija
datoteke ALYac.exe u Windows direktoriju. U tu se datoteku zatim kopira, pokreće je i u njoj se
skriva pretvarajući se da je antivirus i modificira registre tako da postavlja automatsko pokretanje
procesa uz pokretanje računala (engl. Autorun).
Osim toga, spaja se na mrežu, što je uobičajeno za trojanca jer očekuje udaljene naredbe od
napadača.
11
4. Zaključak
Windows Sysinternals besplatan je, više-manje jednostavan alat koji ne zauzima puno prostora, a
može biti itekako efikasan pri detekciji zlonamjernog softvera. Iako su napadači sve pametniji i idu
uz korak s tehnologijama namijenjenima njihovom otkrivanju, svejedno postoji velika vjerojatnost
da će maliciozni softver raditi promjene na sustavu koje će osoba odgovorna za sigurnost na vrijeme
uočiti.
Postoje drugi slični komercijalni i besplatni alati, a u posljednje doba su čak i automatizirani ne
samo do razine analize sličnoj Sysinternals paketu, već idu toliko daleko da virtualizaciju odrade
sami, odnosno dižu privremene virtualne strojeve automatski te ih brišu nakon odrađene analize.
Sve u svemu, razumijevanje malicioznog ponašanja može učiniti bilo koji alat za nadzor
operacijskog sustava korisnim.
12
Literatura
[1] Microsoft: „Windows Sysinternals“, s Interneta, https://docs.microsoft.com/en-us/sysinternals/
, zadnji pristup 13.01.2019.
[2] Microsoft: „Sysinternals Utilities Index“, s Interneta https://docs.microsoft.com/en-
us/sysinternals/downloads/ , zadnji pristup 13.01.2019.
[3] Margaret Rouse: “Windows Sysinternals”, s Interneta,
https://searchwindowsserver.techtarget.com/definition/Windows-Sysinternals , zadnji pristup
13.01.2019.