Traženje ranjivosti - OpenVAS / NeXpose

Izvor: SIS Wiki
Skoči na: orijentacija, traži

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:

Login screen


Uspješno logiranje korisnika prebacuje na glavnu stranicu, gdje korisnik ima administrativne ovlasti:

Početna stranica


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:

Dodavanje novog korisnika_1


Ispunjenjem osnovnih podataka, klik na "Save":

Dodavanje novog korisnika_2


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:

Dodavanje novog korisnika_error


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“:

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

Site Configuration - FOI


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:

Asset - FOI


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:

Scan Template - FOI


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“:

Enable schedule - FOI


Pod „Credentials“ se daje alatu mogućnost dubljeg skeniranja ako mu se pruži odgovarajuće korisničko ime i lozinka za skeniranu stranicu:

Credential - FOI


Add credential“ otvara prozor gdje se upisuje domena te odgovarajuće korisničko ime i lozinka:

Add credential - FOI


Pod „Login type“ postoji širok spektar vrsta logiranja:

Add credential for elf.foi.hr - FOI


Dalje, pod „Organization“ se mogu unositi informacije o organizaciji koje se kasnije ispisuju u izvještajima (o izvještajima dalje u tekstu):

Information about organization - FOI (NAPOMENA: uneseni podaci su izmišljeni te se ne smiju kopirati)


Dalje, pod „Access“ se daje pravo korisnicima da pregledavaju skeniranu stranicu. Klik na „Save“:

Add access and Save - FOI


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:

FOI in site listing - FOI


Klik na zeleni gumb otvara prozor sa osnovnim informacijama koje su prethodno unijete:

Start scan elf.foi.hr - FOI


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:

Scanning over - FOI


Za detaljnije informacije, potrebno je kliknuti na link „www.elf.foi.hr“ gdje se detaljno vide informacije prikupljene skeniranjem:

Scan results - FOI


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“):

Solution to PHP Integer overflow in shmop_read( - FOI

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:

New dynamic asset group - filter - FOI


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“:

OS name filter - FOI


Pod drugi padajući izbornik se odabere „contains“ te naposljetku se upiše „Linux“ i klik „Search“:

OS name filter - contains - Linux - FOI


Time se izliste sve skenirane stranice koje za operacijski sustav koriste Linux, u konkretnom slučaju to je www.elf.foi.hr:

Filter result: elf.foi.hr - FOI


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“:

ELF dynamic group - FOI


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:

New static asset group - FOI


Ovdje se definira ime grupe (Name) te proizvoljan opis (Description). Dalje, desno pod „Assets“ se moraju odabrati određene stranice:

New static asset group - assets - FOI


klikom na „Select assets“, se dobiva sljedeće:

Select assets - FOI


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):

Filtered results - FOI


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:

Create site report - FOI


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:

Report Configuration General - FOI


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):

Report Configuration Scope - FOI


"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.:

Report Configuration Advanced Properties - FOI


"Schedule" omogućuje da se izvještaji generiraju samo jedanput, nakon svakog skeniranja ili prema ponavljajućem, definiranom vremenu:

Report Configuration Schedule - FOI


Preko "Access" dajemo prava ostalim korisnicima za pregled kreiranog izvještaja. Klik „Save“ :

Report Configuration Advanced Access - FOI


Time se izvještaj generira:

Report Created - FOI


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.

Struktura OpenVAS-a

Instalacija OpenVAS-a

OpenVAS se može instalirati na bilo koji sustav.

OpenVAS podržani sustavi

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:

Instalacija OpenVAS-a

Nakon što se instalira, u glavnom izborniku BackTrack-a se pojavljuje naš program. Kao što je vidljivo, prisutni su svi alati koje nudi OpenVAS.

Backtrack - 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.

Dodavanje korisnika

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 Scanner
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.

Manager
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

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:

Web sučelje

Novi zadatak se postavlja klikom na New task. Unesu se osnovni parametri:

Novi zadatak

Nakon "Create Task", zadatak postaje vidljiv te pritiskom na zelenu strelicu (desno), pokreće se skeniranje:

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).

Detalji skeniranja
Dio izvještaja

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:

Desktop sučelje - login

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.

Dodavanje zadatka

Kada se doda, on se pokrene i čeka se da skeniranje sustava završi.

Skeniranje

Kada skeniranje završi, možemo (isto kao i kod web sučelja), pregledavati rezultate putem izvještaja.

Rezultat skeniranja



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)

Osobni alati
Imenski prostori
Inačice
Radnje
Orijentacija
Traka s alatima