Traženje ranjivosti - OpenVAS / NeXpose
Sadržaj |
Uvod
U ovo urbano, informatičko doba, informacije se sele na Internet. Na mrežne infrastrukture i web stranice kojima svakodnevno pristupamo, ali sa ograničenjima. Ranjivosti pojedinih stranica dopuštaju pojedincima da pridobe prava na delikatan sadržaj na koji inače nemaju pristup, često uz krađu ili mijenjanje tog sadržaja. Svjedoci smo takvih akcija gotovo svakodnevno. Upravo alati poput OpenVas i NeXpose testiraju i traže ranjivosti koje bi pojedinci mogli zloupotrijebiti te na prikladan način nude zaštitu.
--Dalcujzek 18:20, 6. siječnja 2012. (CET)
NeXpose
NeXpose opisao: --Dalcujzek 18:26, 6. siječnja 2012. (CET)
O alatu
NeXpoze je alat za detektiranje i upravljanje ranjivosti mreža koji se razvija od strane američke IT tvrtke Rapid7. Alat skenira mrežu sa ciljem identifikacije uređaja koju ju pogone te ih testira za veliki spektar ranjivosti. Testiranje ranjivosti identificira sigurnosne propuste u svim slojevima mrežnog okruženja, uključujući operacijske sustave, baze podataka, aplikacije i datoteke. Nexpoze detektira maliciozne programe, prepozna ranjive dijelove mrežne infrastrukture koje su podložne napadima te korisnika obavještava o dostupnim sigurnosnim nadogradnjama.
Instalacija
Postoji nekoliko verzija Nexpoze-a:
• Nexpoze Enterprise Edition o Za organizacije sa velikom mrežnom infrastrukturom
• Nexpoze Consultant Edition o Za sigurnosne savjetnike
• Nexpoze Express Edition o Za manje/srednje organizacije
• Nexpoze Community Edition o Besplatna verzija za ograničenu komercijalnu upotrebu, mogućnost skeniranja do 32 IP adrese
Iz očiglednih razloga, za potrebe pisanja ovog seminara, korišten je Nexpoze Community Edition. Postupak instalacije spomenutog alata se sastoji od njegovog preuzimanja sa službenih stranica, uz obavezno registriranje te sama instalacija na računalo.
NeXpoze Community Edition je dostupan za sljedeće operacijske sustave:
• MS Windows Server 2003 SP2 / Server R2 (32 – bitna i 64 - bitna verzija) • MS Windows Server 2008 R2 (64 - bitna verzija ) • MS Windows 7 (32 – bitna i 64 - bitna verzija) • Red Hat Enterprise Linux Server 5.x (64 - bitna verzija) • Ubuntu 8.04 LTS (32 – bitna i 64 - bitna verzija) • Ubuntu 10.04 (64 - bitna verzija)
Nakon preuzimanja instalacijskog paketa na računalo, postupak instalacije je standardan te ne zahtijeva posebna objašnjenja, osim sa napomenom da prilikom se instalacije od korisnika zahtijeva „Work E-mail“, što isključuje besplatne E-mail servise (poput gmail, hotmail i sl.) te da su minimalni hardverski zahtjevi, između ostalih, 4 GB RAM (32-bit) i 8 GB RAM (64-bit. Budući da je za potrebe pisanja seminara korišten laptop sa MS Windows 7 (64-bit) sa 4 GB RAM, alat potvrđeno radi sva standardna skeniranja koja su opisana dalje u tekstu. Na dani E-mail korisnik dobije aktivacijski ključ kojim registrira proizvod.
Nakon instalacije, važno je reći da se NeXpoze kao servis utomatski pokreće sa MS Windows operacijskim sustavom. Da bi to spriječili potrebno je učiniti sljedeće:
1. Pritisnite Windows Start i upišite „Run“. 2. U „Run“ prozoru upišite „services.msc“ i kliknite OK. 3. U „Service“ prozoru pronađite i dvostruki klik na Nexpoze Security Console. 4. Za „Startup type“ iz padajućeg izbornika odaberite „Manual“ te kliknite OK. 5. Zatvorite „Service“ prozor.
Rad u alatu
NeXpoze se pokrene u Internet pregledniku, na adresi: https://localhost:3780/, ukoliko je preglednik na istom računalu kao i konzola alata. U protivnom, ako je korisnik na udaljenom računalu, potrebno je promijeniti localhost odgovarajućom IP adresom. Početna stranica je Log in stranica gdje se korisnik logira prije danim podacima:
Uspješno logiranje korisnika prebacuje na glavnu stranicu, gdje korisnik ima administrativne ovlasti:
Sučelje se sastoji od ukupno 5 tabova za navigaciju, redom:
• Home o Početna stranica nakon logiranja, gdje se mogu vidjeti stranice koje su skenirane, stranice koje se trenutno skeniraju, grupe stvorene prema određenim kriterijima i sl.
• Assets o Mogućnost pregleda „imovine“ koja je organizirana prema grupama poput stranica kojima pripada, operacijskom sustavu koji ih pokreće i sl.
• Reports o Pregled i prepravljanje svih napravljenih izvještaja, kao i mogućnost stvaranja novih.
• Vulnerabilities o Pregled svih detektiranih ranjivosti
• Administration o Dostupno samo korisniku sa administrativnim ovlastima, koji ima mogućnost manipulacije korisnicima, grupama, opcijama skeniranja i sl.
Dodavanje novog korisnika
Administrator ima ovlasti dodavanje novih korisnika, što se čini na sljedeći način: U tabu Administration kliknemo na Create user:
Ispunjenjem osnovnih podataka, klik na "Save":
Nažalost, u ovoj verziji NeXpoze-a, maksimalan broj korisnika je 1, što je i logično budući da je ovo besplatna, Community Edition verzija, za osobne potrebe:
Skeniranje
Skeniranje proizvoljne stranice se obavlja na sljedeći način: U tabu Home pod „Site Listing“ (gdje je ujedno i popis svih, do sada, skeniranih stranica) klik na „New static site“:
Time se dobije sučelje kojim se konfigurira i unose sve potrebne informacije za obavljanje skeniranja:
Name – proizvoljno ime kojim se opisuje stranica koja se želi skenirati
Importance – postavljanje razine važnosti dane stranice za daljnja strategijska računanja važnosti određene stranice
Type – Static (objašnjenje dalje u tekstu)
Description – proizvoljan opis
Dalje, desno pod „Assets“ se unose IP adrese ili host ime koje su vezane uz stranicu koja se želi skenirati. Mogu se unositi pojedine IP adrese ili cijeli host ime, kao i unos liste sa određene datoteke. Također, postoji mogućnost da određene IP adrese i host ime isključimo iz skeniranja:
Dalje, desno pod „Scan Setup“ se odabere vrsta skeniranja (iz padajućeg izbornika pod Scan Template). Za ovaj primjer, odabran je Full audit Scan Template:
Skeniranje se može konfigurirati da počne u točno određeno vrijeme, da traje određeni vremenski period, da se skeniranje automatski ponovi u zadanom terminu, te što ako skeniranje dosegne definirani vremenski period. Te mogućnosti su dostupne ukoliko se označi checkbox „Enable schedule“:
Pod „Credentials“ se daje alatu mogućnost dubljeg skeniranja ako mu se pruži odgovarajuće korisničko ime i lozinka za skeniranu stranicu:
Add credential“ otvara prozor gdje se upisuje domena te odgovarajuće korisničko ime i lozinka:
Pod „Login type“ postoji širok spektar vrsta logiranja:
Dalje, pod „Organization“ se mogu unositi informacije o organizaciji koje se kasnije ispisuju u izvještajima (o izvještajima dalje u tekstu):
Dalje, pod „Access“ se daje pravo korisnicima da pregledavaju skeniranu stranicu.
Klik na „Save“:
Time se novostvoreno skeniranje pojavljuje u Home tabu pod „Site Listing“, uz „Scan status“ Not scanned. Postoji i mogućnost pokretanja skeniranja, izmjene postavki ili brisanje:
Klik na zeleni gumb otvara prozor sa osnovnim informacijama koje su prethodno unijete:
Klik „Start now“ pokreće skeniranje koje, ovisno o Scan Template-u, traje. Okvirno vrijeme je oko 5 minuta.
Po završetku skeniranja, dobije se informacija da je skeniranje završeno uz informaciju o operacijskom sustavu, broju pronađenih ranjivosti, vremenu skeniranja te status skeniranja:
Za detaljnije informacije, potrebno je kliknuti na link „www.elf.foi.hr“ gdje se detaljno vide informacije prikupljene skeniranjem:
Najvažnije je gledati „Vulnerability Listing“ gdje je popis svih pronađenih ranjivosti.
Kako se vidi na slici, postoji ukupno 29 ranjivosti, od kojih je 4 kritičnih. Ako se klikne na jednu od prikazanu ranjivost (PHP Integer overflow in shmop_read(), može se dobiti detaljan opis ranjivosti, ali i rješenje za određenu ranjivost (pri dnu pod „Solutions“):
Definiranje Asset Groups
Asset Group je grupa u koju se može svrstati određene skenirane stranice kako bi bile lako dostupne kasnije, prema vlastito određenim kriterijima.
Postoje dvije vrste Asset Groups:
Dynamic asset group – grup koja se definira skupom skeniranih stranica prema određenim kriterijima poput operacijskog sustava, koji sadrži/ne sadrži određeni naziv; prema rasponu IP adresa i sl.
Static asset group – grupa koja se definira skupom skeniranih stranica prema određenim kriterijima te se uključuju u grupu.
Razlika između navedenih AssetGroup-a je što se u Dynamic asset group dodaju i buduće skenirane stranice koje zadovoljavanju postavljene kriterije, dok to nije slučaj kod Static asset group.
Stvaranje nove Dynamic asset group
Do stvaranja nove Dynamic asset grupe se može doći na nekoliko načina. Prvi je u tabu Home, u okviru Asset Group Listing klik na „New dynamic asset group“. Ili pod tabom Assets klik na View assets by the asset groups they belong to (gdje se ujedno i mogu vidjeti sve stvorene asset grupe ). Klik na „New dynamic asset group“ se prikaže sljedeće:
Prikazuje se filtar čime se pod raznim kriterijima mogu svrstati prethodno skenirane stranice u određenu grupu. Primjer: Operacijski sustav je Linux. Time, pod „Asset name“ se odabere „OS name“:
Pod drugi padajući izbornik se odabere „contains“ te naposljetku se upiše „Linux“ i klik „Search“:
Time se izliste sve skenirane stranice koje za operacijski sustav koriste Linux, u konkretnom slučaju to je www.elf.foi.hr:
Naravno, klikom na link se dobiju sve informacije vezane uz dotičnu stranicu, uz mogućnost ponovnog skeniranja te izradu izvještaja. Kada se dobije odgovor na postavljeni filtar, klik na „Create asset group“. Time se dobije mogućnost odabira tipa grupe (iako se prvotno želi dynamic, može se promijeniti na static), ime grupe te njezin opis. Klik na „Save“:
Time se automatski dobije grupa nazvana „ELF“ pod Asset Group Listing, koja je podložna danjim skeniranjima.
Stvaranje nove Static asset group
Kao i stvaranje dynamic asset grupe, stvaranju static asset grupa se pristupa na jednak način, uz odabir „New static asset group“. Time se dobiva sljedeće:
Ovdje se definira ime grupe (Name) te proizvoljan opis (Description). Dalje, desno pod „Assets“ se moraju odabrati određene stranice:
klikom na „Select assets“, se dobiva sljedeće:
Ovdje se nudi mogućnost pronalaska stranica koje zadovoljavaju postavljene kriterije, a to su raspon adrese (Address / Range), ime (Name), odabir skenirane stranice iz padajućeg izbornika (Site), odabir prema operacijskom sustavu iz padajućeg izbornika (Operating System). Primjera radi, postavljanjem kriterija na operacijski sustav Linux, rezultat je FOI (www.elf.foi.hr):
Odabirom stranice (naravno, može ih biti više) te klik na „Save“ vraća na početnu stranicu konfiguracije. „Access“ pruža mogućnost odabira korisnika koji mogu pogledati novostvorenu grupu, no zbog ograničenja verzije alata, broj korisnika je jedan. Klik na „Save“ dobivamo novu static grupu pod Asset Group Listing.
Izvještaj
Stvaranje izvještaja o skeniranoj stranici, odnosno pronađenim ranjivostima uz čitljive grafove je poželjno, a Nexpoze sam generira izvještaj sa informacijama prikupljenim skeniranjem postavljene stranice. Pod tabom „Assets“ klik „View“ kod Sites prikazuje sve do sada skenirane stranice te ih prikazuje grafički prema određenim kriterijima (Sites by Risk, Sites by Vulnerabilities i sl.). Klik na određenu skeniranu stranicu vodi do detaljnog prikaza dotične stranice, uz odabir kreiranja izvještaja klikom na „Create site report“ pod Site Summary:
Izvještaj se može generirati u .pdf, .rtf, .html, .xml, i Text formatu, uz mogućnosti odabira imena izvještaja, formata, predloška izvještaja (Template) i vremenske zone. Predlošci koji su dostupni u ovoj verziji su Executive Overview te Audit Report:
Pod „Scope“ se definira koje ranjivosti će ući u izvještaj (Vulnerabilities to include) te hoćemo li uključiti podatke dobivene zadnjim skeniranjem ili svih podataka (ukoliko se stranica skenirala više puta):
"Advanced properties" su napredne opcije izvještaja poput vrste grafova koji će se prikazati, trendovi ranjivosti, različitosti između dva skeniranja koja se mogu usporediti i sl.:
"Schedule" omogućuje da se izvještaji generiraju samo jedanput, nakon svakog skeniranja ili prema ponavljajućem, definiranom vremenu:
Preko "Access" dajemo prava ostalim korisnicima za pregled kreiranog izvještaja. Klik „Save“ :
Time se izvještaj generira:
Klik na link otvara izvještaj u .html obliku (jer se tako definiralo) sa svim podacima koji su definirani da se prikažu, uz pripadne grafove.
OpenVAS
OpenVAS opisao:--Alencamilov 22:04, 6. siječnja 2012. (CET)
O alatu
OpenVAS, odnosno Open Vulnerability Assessment System, je framework koji se sastoji od nekoliko servisa i alata koji nude sveobuhvatno i moćno rješenje koje se odnosi na upravljanje i skeniranje ranjivosti sustava. OpenVAS skener se svakodnevno ažurira testovima koji se odnose na ranjivosti mreža (NVT - Network Vulnerability Test), te ih ima preko 20.000 sveukupno. Svi OpenVAS proizvodi su besplatni, te je većina njih licencirana od strane GNU (General Public Licensce) licence.
Instalacija OpenVAS-a
OpenVAS se može instalirati na bilo koji sustav.
Prilikom postavljanja OpenVAS-a, imao sam dosta problema. Naime, prvo sam skinuo verziju za Windows-e, ali nisam obratio pažnju da je to samo klijentska verzija, te tako nisam imao "dignut" server, i nisam se mogao spojiti na njega. Nadalje, pokrenuo sam Linux Ubuntu, te sam tamo preko Terminala probao instalirati OpenVAS prema uputama sa službenih stranica. Također, nisam uspio. Naime, javljao mi se problem kod dodavanja repozitorija (u uputama je korišten repozitorij za Ubuntu 10.04, a ja koristim Ubuntu 11.10). Tada sam instalirao Linuxovu distribuciju BackTrack 5 R1, na kojoj radi kako spada.
Instalacija OpenVAS-a je vrlo jednostavno, dapače, samo jedna linija koda koja izgleda ovako:
Nakon što se instalira, u glavnom izborniku BackTrack-a se pojavljuje naš program. Kao što je vidljivo, prisutni su svi alati koje nudi OpenVAS.
Rad s alatom
Dodavanje korisnika
Kako bi se mogao koristiti program, potrebno je prvo dodati korisnika. U izborniku BackTracka, pod kraticom OpenVAS odabere se "OpenVAS adduser". Pokreće se terminal te se tamo unosi korisničko ime i lozinka za korisnika kojeg želimo unijeti.
Certifikati i testovi
Nakon što se doda korisnik, potrebno je dobiti cerfitikat te sinkronizirati sve testove (NVT). Kako bi se napravio SSL certifikat, potrebno je u izborniku BackTracka, pod kraticom OpenVAS odabrati "OpenVAS Mkcert". Dalje se samo prate upute. Sinkronizacija NVT testova se mora obaviti, jer se zapravo tim testovima testira ranjivost određenog sustava. Kako bi se napravila sinkronizacija, potrebno je pod OpenVAS kraticom odabrati "OpenVAS NVT Sync". To zahtjeva neko određeno vrijeme, jer se zapravo "skidaju" sa interneta svi testovi.
Konfiguracija servisa
Podešavanje OpenVAS Scanner-a, Manager-a i Administrator-a
OpenVAS Scanner
Nakon što se obave prethodni koraci, potrebno je podesiti skener. Otvori se OpenVAS Scanner, te se čeka da se učitaju svi "plugin-ovi". Pošto se prvi puta pokreće, traje poprilično dugo (oko 40 minuta).
OpenVAS Manager
Nadalje, potrebno je dodati upravitelja u OpenVAS. U terminalu se upise jednostavna naredba:
openvas-mkcert-client -n manager -i
Korisnik, odnosno upravitelj pod imenom manager je dodan.
OpenVAS Administrator
Na kraju, potrebno je dodati administratora. Kao što smo dodali "managera", tako i administratora, samo što je naredba malo drugačija (ipak, radi se o administratoru :))
openvasad -c 'add_user' -n administrator -r Admin
Tako je dodan administrator imenom administrator
Pokretanje servisa
Nakon što se uspješno konfigurira skener, upravitelj i administrator, potrebno ih je pokrenuti. Kada se svaki od tih servisa pokrene, oni rade u pozadini sustava.
Pokretanje upravitelja
openvasmd -p 9390 -a 127.0.0.1
Pokretanje administratora
openvasad -a 127.0.0.1 -p 9393
Sada treba pokrenuti servis nazvan Greenbone Security Assistant
gsad --http-only --listen=127.0.0.1 -p 9392
Web sučelje
Nakon što se pokrenu servisi, pokreće se Web preglednik. U web pregledniku se kao adresa upisuje localhost:9293 Otvara se stranica koja zahtjeva logiranje, te se pomoću korisničkih podataka (korisnika kreiranog u ranijim koracima) logira u sustav. Kada se korisnik logira, prikazuje se sljedeći prozor:
Novi zadatak se postavlja klikom na New task. Unesu se osnovni parametri:
Nakon "Create Task", zadatak postaje vidljiv te pritiskom na zelenu strelicu (desno), pokreće se skeniranje:
Kad je skeniranje završilo, možemo vidjeti detalje skeniranje. Tu vidimo koliko prijetnji je otkriveno tijekom skeniranja sustava. Također, možemo skinuti izvještaj u nekoliko formata (ja sam skinuo u .txt formatu).
Također, osim samog skeniranja, ukoliko smo ulogirani kao administrator, možemo dodavati korisnike, konfigurirati kakvo skeniranje želimo, raditi rasporede skeniranja. Zapravo sve ono što se može preko terminala (kao što sam ja radio), samo uz ljepše sučelje.
Desktop sučelje
Osim web sučelja, OpenVAS nudi i desktop sučelje preko Greenbone Security Desktop alata. Kada se pokrene, potrebno se logirati:
Kada se korisnik ulogira, prikazuje se klasično sučelje sa nekim opcijama. Kako bi se dodao novi zadatak, potrebno je kliknuti na Task i odabrati New.
Kada se doda, on se pokrene i čeka se da skeniranje sustava završi.
Kada skeniranje završi, možemo (isto kao i kod web sučelja), pregledavati rezultate putem izvještaja.
Zaključak
Osobno, radeći sa alatom Nexpose shvatio sam važnost otkrivanja ranjivosti stranica radi prevencije eventualnih napada te zaštite imovine. Smatram da je NeXpose vrlo koristan alat koji uvelike pomaže da se otkriju slabe točke određene mrežne infrastrukture, uz ponudu pomoći kako se zaštititi od otkrivene ranjivosti. Tim više što i postoji besplatna verzija koja nema ograničenja u smislu skeniranja, već u broju predložaka za izvještaje, stvaranje grupa korisnika i sl. Za osobnu potrebu, sasvim dovoljno, dok će tvrtke ipak morati razmisliti o kupovini alata, što svakako nije loša investicija. S obzirom na Nexpose, OpenVAS je besplatni software. Iako im je funkcija ista, otkrivanje ranjivosti sustava, alati se razlikuju po načinu skeniranja, izgledu te ostalim osobinama. OpenVAS je malo teže konfigurirati, jer se (kako sam ja radio) većina radi preko Terminala u Linuxu. Web i desktop sučelje nije baš "user-friendly", ali se da snaći ukoliko se malo više potrudi.
Sve u svemu, alati koje smo testirali jako su kvalitetno napravljeni te služe svrsi. Pogotovo kod izgradnje većih informacijskih sustava, jedan od tih alata je neizbježan, jer oba daju uvid u ranjivost sustava te se iz generiranih izvještaja mogu pročitati "rupe" koje treba "pokrpati". --Alencamilov 22:10, 6. siječnja 2012. (CET)
Literatura
- http://download2.rapid7.com/download/NeXpose-v4/NeXpose_Install.pdf
- http://www.westcoastlabs.com/downloads/productTestReport_0015/NeXpose.pdf
- http://www.rapid7.com/vulnerability-scanner.jsp
- http://www.backtrack-linux.org/wiki/index.php/OpenVas#Openvas_check_setup
- http://www.openvas.org/index.html
- http://searchenterpriselinux.techtarget.com/tip/Getting-started-with-OpenVAS
- sve navedene stranice su dostupne na dan 6.1.2012.g.
- Screenshot ovi su napravljeni na spomenutom računalu sa programom Snipping Tool.
NeXpose alat opisao: Dalcujzek 18:13, 6. siječnja 2012. (CET)
OpenVAS alat opisao: Alencamilov 22:13, 6. siječnja 2012. (CET)