Glavna arrow Linux/Unix arrow Aplikacije arrow Osetljivost scanera subota 6 septembar 2008 
Sadrzaj
Glavna
Forum
Linux/Unix
Windows
Mreze
Sigurnost
Hardware
Knjige
Mobilni/PDA
Preuzimanje
Whois
Web Alati
Adresar
Galerija
Pretraga
E-mail
Kontakt
Pristup





Zaboravili ste lozinku?
Nemate nalog? Napravite nalog
 
samo po 1o1.com
po celom SCG web-u
Osetljivost scanera | Štampaj |
Autor Tim 1o1   
Document sans titre Web serveri kao sto su Apache, iPlanet i IIS prolaze kroz mnoge revizije i azuriranja bezbednosti. Web osetljivost skenera u osnovi se sastoji iz masine za skeniranje i kataloga. Katalog sadrzi listu zajednickih fajlova, fajlovi poznatih osetljivosti, i zajednickih eksploatacija opsega servera. Na primer, osetljivost skenera trazi bekap fajlove (kao sto je preimenovanje default.asp u default.asp.bak) ili pokusava da iskoristi direktorijumski prelazak (kao sto je proveravanje ..%255c..%255c). masina za skeniranje upravlja logikom za citanje kataloga eksploatacija,saljuci zahteve web serveru, i interpretirajuci zahteve da odredi da li je server ranjen. Ovi alati ciljaju na osetljivosti koje se lako popravljaju bezbednim host konfiguracijama, azuriranjem bezbedonosnih zakrpa i ciscenjem web korena dokumenta.

Whisker
Whisker nije deda common gateway interface (CGI) osetljivosti skenera; medutim, to je bio prvi alat odakle poticu obe tehnike za proveru zajednickih osetljivosti, inteligentnog skeniranja koje reaguje na HTTP kodove odgovora, i izbegava intrusion-detection system (IDS). Whisker koristi jednostavno napisan (iako nije uvek jasan ) Perl skript. Odrzavanje savremenog whisker-a zahteva nista vise do otvaranja uredivaca teksta da se modifikuje njegova podrska fajlovima za korisnicka imena, lozinke i osetljivosti CGI skriptova.

Implementacija
Lista osetljivosti u verziji 1.4 whisker je mozda zastareo, ali takode ukljucuje provere direktorijuma koje nikad ne odlaze. Proverite /backup/ ili /log/ didrektorijume i sam.txt fajlove koji nikada nece zastareti. Da biste pokrenuli whisker sa pojedinadne IP adrese ili imena hosta, koristite -h opciju. Opcija -H (napomenimo veliko slovo) omogucuje Vam da specificirate fajl koji sadrzi listu IP adresa i imena hostova. Takode je dobra ideja uvek koristiti -vv opciju za zapisivanje rezultata svake pokrenute provere skenerom; detaljno cemo izloziti ovo kasnije. Konacno, opcija -W kreira HTML izlaz. Ovo izgleda da spada u kategoriju "zvona i pistaljki", ali njegova korisnost i predstavljanje treba da utisa neke klevetnike.
Osnovna whisker komandna linija izgleda ovako:

$ whisker.pl -h 192.168.42.27 -vv
whisker / vl.4.0+SSL / rain forest puppy / www.wiretrip.net -( Bonus: Parallel support )
Loaded script database of 2045 lines
= Host: 192.168.42.27
Cookie: PREF=ID=28bd8b28723a3f00:TM=1014183574:LM=1014183574:S=iaEPbCBRdvA
Server: IIS/5.0
+ 200 OK: GET /robots.txt

Ispustili smo opciju -W da bi ucinili izlaz citljivijim na papiru. Posto je whisker pokrenut, skladistice izlaz na ekran (stdout, za Unix). Ne gubite rezultate iz whisker pregleda; mozete snimiti izlaz u fajl. Opcija komandne linije je -l pracena imenom fajla prijave, ali to retko koristimo. Umesto toga, koristite ovu Unix komandnu liniju:

$ whisker.pl -h 192.168.42.27 -vv -W 1 tee whisker80 192.168.42.27.html.raw

Opisno ime fajla dozvoljava Vam brz pregled direktorijuma i vizuelno lociranje posebnog fajla. 80 predtsavlja broj porta scanned- u ovom slucaju, whisker podrazumevana vrednost. razlicit port moze se specificirati koriscenjem -p opcije.
Pre nego sto upozorimo V komandnu liniju na "ne-standardne" web sajtove, koncentrisimo se na ispitivanje njegovog izlaza da pronademo realne osetljivosti. Ovde dodajemo html.raw nasem izlaznom fajlu jet fajl sadrzi svaki odgovor web servera, ukljudujuci svaki "404 Not Found" odgovor koji nam nije potreban. jednostavan nacin da izbacimo ove linije je:

$ grep -v 404 whisker80 server.html.raw whisker80 server.html

Drugi kandidati ove linije mogu biti 400 (log odgovor), 401 (neautorizovan) i 403 (zabranjen). Medutim, interesuju nas 400 i 401 greske. 400 greska treba da je retkost, posto whisker najvise trazi opte fajlove sa opstim ekstenzijama. 401 greska znaci da fajl ili direktorijum postoji (verovatno), ali potrebno nam je ispravno korisnicko ime i lozinka da mu pristupimo-dve stvari na koje whisker mole naici. 403 greska predstavlja fajl ili direktorijum kome nemamo pristup usled nekog pravila servera koji zahteva neke vrste akreditiva. Pa, da izbacimo samo 403 i 404 gresku kodova, koristimo ovo:

$ grep -v 40[34] whisker80 server.html.raw whisker80 server.html

Ako pretpostavimo sablon, mozete pogoditi da izbacivanje sve cetiri prethodne 40x greske koda izgleda ovako:

$ grep -v 40[0134] whisker80_server.html.raw whisker80_server.html

Podsetite se da iako je povratni HTTP kod 200 za neki osetljivi fajl koji je otkriven skenerom, neka informacija koju vraca skener je korisna. Ako zahtev za /.old/ direktorijum dovodi do toga da server vrati 401 gresku, bar znamo da direktorijum postoji. Mznda pronademo razlicit nacin da dobijemo njegove sadrzaje.
Drugi trik je da prisilimo Whisker da nastavimo pregledavanje sajta cak iako njegova home strana zahteva autenticnost. Ponekad administrator mozda primenjuje pristup kontrolama za direktorijum na vrhu nivoa-/admin/ na primer-ali zanemarite pristup kontrolama manjim direktorijumima ili fajlovima, kao sto je /admin/Docs/default.cfg. Pa mozemo koristiti prisilan trik menjanjem linije u whisker.pl skriptu. Originalna linija i njeni presedani izgledaju kao sto je ovde prikazano:

if($D{'XXAuth'} ne ""){
wprint("- Server demands authorization.");
wprint("- We don't have a login, so skipping host...n");
$D{'XXServerInject'}="exit";}

Promenite $D{' XXServerInject' } promenljivu da izjednacite sa exit. Ovo ce naciniti whisker, da ignorise stvar za koju nemate odgovarajuce akreditive za sajt.

if($D{'XXAuth'} ne ""){
wprint("- Server demands authorization.");
wprint("- We don't have a login, so skipping host...n");
$D{'XXServerInject'}="foo";}

Server moze vratiti 401 gresku ili 30x redirekcija strane prijave za svaki zahtev koji cini whisker, ali je vredan za tih nekoliko slucaja gde su liste pristupa kontrole loge primecene. Bilo kad, mozete uvek koristiti grep da izbacite greske.
Originalna verzija 1.4 whisker nije podrzavala Secure Sockets Layer (SSL) protokol. Ovo nije neophodan problem, iako, posto mozete postaviti OpenSSL proxy , ali proxy nije izvodljiv kada skenirate vise od jedne IP adrese u trenutku. Zbog toga, H. D. Moore modifikuje whisker da podrzi Perl SSL funkcije.
NAPOMENA
Net::SSLeay modul, kao kod svakog drugog Perl modula, mode se pronaci na adresi http://www.cpan. org. Instalirane instrukcije su iskrene. Obicni koraci su perl Makefile.PL, make, make test i make install za bilo koji modul. Net::SSLeay modul zahteva rad sa OpenSSL binarnim. Unix i Cygwin olaksavaju ovo ?
Komanda koja pokrene whisker pomocu SSL podrske zahteva - x opciju. Port 443 bise postavljen kao podrazumevana, ali se moze promeniti -p opcijom.

$ whisker.pl -x -h 192.168.42.27 -vv -W tee whisker443 192.168.42.27.html.raw

Ili, stvarno koriscenje opcije -x, mozemo pokrenuti za listu hostova:

$ whisker.pl -x -H hosts ssl.txt -vv -W 1 tee whisker443 hosts ssl.html.raw

Ako ste ikad citali izvorni kod whisker, znate da se pokrene kao CGI modul sa web servera. Podesite web server, preimenujte whisker u whisker.cgi, i postavite ga u direktorijum /cgi-bin/ web servera. Kao sto se podrazumeva, ovaj rezim ogranicava whisker funkcionalnost da skenira samo pojedinacni host, specificiranjem proizvoljnih portova i prisiljavajuci udaljeni tip servera. Zatim ponovo, ako razumete izvorni kod, treba da prilagodite CGI verziju standardu.

RAD SA PROBLEMATICNIM WEB SAJTOVIMA
Whisker nije dobar alat jer skenira odredene portove iz odredene liste osetljivih CCI skriptova. Dobar je alat zbog svoje fleksibilnosti. Whisker nudi druge opcije komandne linije koje zaobilaze neke jednostavne mere bezbednosti.
Najlaksa bezbednost, i jedan nacin koji ce poraziti najvise diletantnih pokretaca skripta, je da se promeni identifikacioni string web servera. Kao administrator, ne treba nikada da se oslanjate na bezbednost nepoznavanjem IIS 5.0 servera koji se pokazao kao Apache 1.3.22. medutim, neki alati-koje ukljucuje Whisker-nece pokrenuti provere posebno za IIS ako se web server baner pojavi kao Apache.
Whisker Vam dozvoljava da prisilite udaljeni tip servera koriscenjem - S (veliko slovo) opcije:

$ whisker.pl -h 192.168.42.27 -vv -W -S "IIS/5.0"

Ova opcija prisiljava whisker da pokrene sve specificne IIS provere u svojoj bazi podataka, s obzirom na cinjenicu na sta ukazuje informacija zaglavlja servera.
Nadamo da ste zadovoljni sa Perlom, jer poseduje jos jednu prednost, a to je da -S opcija radi bolje. Nakon ove dve linije,

$D{'XXUserAgent'} = "Mozilla/5.0 [en] (Win95; U)";
$D{'XXForce'}=1 if defined($args{f});

dodajte novu liniju da se uverite da skenira tip servera koji je specificiran u komandnoj liniji. Promenljiva XXForceS je u logici pregleda kada odredujemo koje fajlove testirati:

$D{'XXForceS'}=1 if defined($args{S});

Druga prepreka nekoj osetljivosti skenera je rad sa sajtovima koji zahteva autenticnost. HTTP Basic Authentification je prilicno laka za upravljanje. Korisnicko ime i lozinka se kodiraju sa osnovom 64, i nisu sifrovani nekim jakim algoritmom. Plus, akreditivi autenticnosti su postavljeni u informaciji zaglavlja koje je snabdeo klijent (web pretrazivac ili osetljivost masine za skeniranje). Za neki sajt koji zahteva osnovnu autenticnost, koristite -a opciju da specificirate ispravne akreditive. Korisnicko ime i lozinka se odvajaju dvotackom:

$ whisker.pl -h 192.168.42.27 -vv -W -a "grauf:penguin"

Whisker moze izvesti napade grubom silom u pokusaju da pogodi ispravna korisnicka imena i lozinke. Nazalost, ovo nije jedna od dobrih whisker tacaka prodaje. Ne mole upravljati autenticnoscu koja se bazira na Form. Takode, sajt ce zbuniti algoritam pogadanja ako vraca nesto drugo, a ne HTTP 401 kod kada je kombinacija korisnicko ime/lozinka neispravna.
Ako zelite da proverite Vas IDS radi marljivog nadgledanja web osetljivosti, za Vas je skup -I opcija. Svaka od opcija generise URL zahtev kojim se manipulise na poseban nain da se izbegnu IDS potpisi. Da biste testirali IDS, pokrenite svih 10 provera (od 0 do 9) na serveru mreze:

$ whisker.pl -h 192.168.42.27 -vv -W -13

Najbolja odbrana kod pasivnog nadgledanja je enkripcija. Krajnje je tes`ko za IDS nadgledati saobracaj preko SSL. Drugim recima, lako je pokrenuti whisker preko SSL i otkriti neku slabost.

PROUCAVANJE SLUCAJA: AZURIRANJE SCAN.DB U POLJU
Whisker tarball dolazi sa cetiri pregleda baza podataka: brute.db, dumb.db, scan.db i server.db. Svaki pregled baze podataka sadrzi listu zajednickih direktorijuma, zajednickih fajlova i osetljivosti CGI skriptova koje whisker koristi da skenira cilj. Ove baze podataka su nesto starije i zbog toga ne pokrivaju nove eksploatacije. Takode im nedostaju provere koje odgovaraju Vasim web serverima.
Najosnovniji ulaz opisuje direktorijum korena ili direktorijume i posebno ime fajla koje se proverava. Pravilo u scan.db koje proverava /robots.txt, na primer, zahteva jednu liniju:
scan () / robots.txt
Ova linija je stvarno nemoguca (ili "bez komentara") kao sto se podrazumeva. Da bi bila moguca, izbacite povisilicu (#) sa pocetka linije, koju smo uradili. Sledeca tabela opisuje komponente svakog pravila pregleda:

Jedna od najvecih prednosti tih pravila je da whisker optimizuje sebe posto skenira server. Na primer, ako zelimo da proverimo prisustvo tri opsta JavaScript fajla u sigurnom direktorijumu, pravilo moze izgledati ovako:

scan (iis) /library global.js, local.js, toolbar.js

Whisker proverava postojanje /library direktorijuma pre skeniranja bilo kojih '.js fajlova u tom direktorijumu. Ako ovaj direktorijum nije predstavljen (znaci da je zahtev za /library vratio 404 gresku), nece skenirati ta tri fajla. Ovo je sporedno, ali krajnje od pomoci, brza optimizacija.

DEFINISANIE NIZOVA DIREKTORIJUMA
U mnogim slucajevima, pojedinacan fajl moie se pronaci u jednom od nekoliko direktorijuma. Na primer, opsti /cgi-bin direktorijum moze se preimenovati nekoliko nacina. Niz se moze deklarisati pre nego sto ga pravilo pregleda pozove. Zatim, koristite Q simbol koji se odnosi na niz:

array cgis = cgi-bin, cgi, cgi-old, bin
scan () @cgis shopping.pl
clear @cgis

Naredba clear izbacuje niz iz memorije. Ovo nije stvarno neophodno za izvodenje,Niz moze takode sadrzati niz. Evo primera:

array common = include, library, scripts, tools
array admin = adm, admin, manage, manager, secure, @common

Niz admin sadrzi pet novih derektorijuma i svaki od direktorijuma u zajednickom nizu. Ovo pomaze klasifikaciji direktorijuma u odredene tipove da bi se skeniranje ucinilo potpunijim.
Relevantan primer je dodavanje provere za IIS Unicode i Superfluos Decode direktorijum prelaska osetljivosti. Prvo, definisimo niz koji sadrzi najopstije podrazumevane direktorijume u IIS serveru:

array iisdirs = admin, certadm, certcontrol, certenroll, certque,
certsvr, cgi-bin, exchange, help, iisadmin, iisadmpwd, iishelp,
iissamples, images, info, mem bin, msadc, pbserver, rpc, scripts,
vti bin

Sledece, definisimo pravilo skeniranja za proveru (ovo pravilo treba da je pojedinacna linija):

scan () @iisdirs
..%cO%af..%cO%af..%c0%af..%cO%af..%c0%afwinnt/system32/cmd.exe?/c+dir, ..%cO%af..%cO%af..%c0%af..%c0%af..%cO%afwinnt/system32/ipconfig.exe?/all+dir, ..%255c..%255c..%255c...255c...255cwinnt/system32/cmd.exe?/c+dir, ..%255c...255c..%255c..%255c..%255cwinnt/system32/ipconfig.exe?/all+dir, cmd.exe, root.exe

%c0%af i %255c su samo dva od mnogih mogucih stringova direktorijuma prelaska, ali oni rade. Takode, ovo pravilo proverava listinge direktorijuma iz binarnog cmd.exe. Neki administratori ogranicavaju pristup ovom fajlu da sprece ovaj tacan napad; medutim, ipconfig.exe je jos lepa igra. Konacne dve provere cmd.exe i root.exe namenjene su da pronadu smrvljene prethodne hakerske pokusaje ili crve. Ovo pravilo skeniranja moze se dodati whisker originalnom scan.db ili smestiti u svom *.db fajlu.
Da biste koristili alternativni *.db fajl, specificirajte - s opciju u komandnoj liniji:

$ whisker.pl -h 192.168.42.27 -vv -W -s unicode.db

OPSTI DIREKTORIJUMI I FAJLOVI Whisker upotrebivost nije ogranicena na skeniranje poznate osetljivosti. To je takode odlican alat za pronalazenje "skrivenih" URL, bekap fajlova i upravljackih interfejsa. Whisker scan.db fajl vec sadrzi dobru kolicinu opstih fajlova i direktorijuma. Medutim, treba da prosirite *.db fajl pomocu struktura direktorijuma koju ste identifikovali "kao divlju". Na primer, mnogi web sajtovi su napisani da omoguce odredivanje jezika. Ovi sajtovi pripremaju /en u deo fajla URL, koji utice na whisker sposobnost da skenira opste CCI skriptove i fajlove. Whisker trazi /index.html.bak, ali ne trazi /en/index.html.bak. Pravila pregleda moraju se modifikovati da poprave ovo.
Ovde, umesto trazenja *.inc i *.js fajlova u opstim direktorijumima specificiramo nizom, whisker priprema jezicki specifikator i skenira /en/inc/database.inc i tako dalje:
array common = inc, include, lib, library, tool, tools
scan (iis) en/@common database.inc, global.inc, local.inc, toolbar.js


Potrudicu se da u sto kracem roku postavim i objasnjenje o slicnom alazu koji ima naziv Nikto.pl

 
: Glavna :: Forum :: Linux/Unix :: Windows :: Mreze :: Sigurnost :: Hardware :: Knjige :: Mobilni/PDA :: Preuzimanje :
Powered by 1o1
PodignimoStupove!