c0d1ng hoR30R

Kam shume kohe qe nuk shkruaj, dhe shpresoj se do rrij me shume pa shkruajtur deri tek tema e ardhshme, por besoj se kjo qe po shkruhet tani ja vlen pritjen edhe 2 vjet :).
Meqenese eshte keshtu, ja ku e kemi nje teme qe i vetmi vend ku nuk eshte tabu te flitet eshte undergroundi.
Profesioni i dyte me i vjeter eshte lufta, por edhe lufta ka zhvillimet e saj dhe sot kemi IW (Information Warrior), per te hyre ne teme po bejm menjehere disa afirmime ne menyre qe te hapen syte dhe une te kursej rreshta fjalesh (isha duke thene kodi :P).
Jemi ne fushen e informatikes, dhe meqenese jemi ne kete fushe , nuk lejohen devijime nga e verteta qoft edhe me 1 bit sepse kjo do te sillte jofunksionim te plote (siç do te shihet me poshte), keshtu qe ç’do gje qe do lexoni eshte 100% e vertete, dhe 100% e vertetueshme per ata qe duan te kerkojn argumentet per secilen nga frazat e meposhtme:

*Me shume se 3000 kompani ne kete moment jane te infiltruara nga hackerat, ç’do institucion ka siguri te thyer dhe hane exploite (thyhen) ç’do dite nga hackerat.
* Firewallet, IDS , Anti-Viruset nuk punojn aspak mire, shumica e atyre qe i shesin keto produkte kane nje mentalitet “klasik te sigurise” dhe fokusohen tek Network Security nderkohe qe duhet te fokusohen tek Software Security.
* Shumica e makinave ne internet mund te thyhen NE KETE MOMENT (perfshire makinen ku eshte i hostuar ky sit), pa perjashtuar ketu ato me programet dhe sistemet me “up – to – date” kjo sepse ne kete moment egzistojn mijera exploite te quajtura “0-day” qe eshte shume e mundur qe te qendrojn te pa zbuluara per vite me radhe, gjithashtu shume qe jane publike nuk jane ende te rregulluara si probleme.
* Nje hacker serioz mund te futet ne makinen tende ne kete moment, edhe nese ti ke nje imazh sistemmi\backup apo ç’fare do lloj metode per te rikthyer sistemin kjo nuk do e ndihmoj pasi nje “serioz” mund te infektoj pa frik firmwarin e makines, qe do i bente keto tentativa “pastrimi” jo efektive. Kjo edhe sepse nje i tille mban me vete gjithmon nje arsenal qe nuk e ndan me te tjeret, (you know) per ditet e veshtira, si i thone, “mbaje ta kesh me vete, si dihet rruges”.

Tani po thoni “WoW” ç’fare po thot ky, … nuk po e marr vesh, ku do me dal daje? Per ta bere me shume kurioz, po permend disa fakte:

– Nasa humbi 165 milion $ kur Shatelli  per ne Mars u rrezua, kjo per shkak te nje problemi ishte nje bug ne perkthimin midis anglishtes dhe njesive te llogaritjes (shume banal) qe rezultoi me gabim ne llogaritjen e trajektorjes qe rezultoj ne nje perplasje.

– Nje anije ushtarake amerikane , leshoi nje rrakete dhe shkaterroi nje avion pasagjeresh (Airbus A320) duke e mare per nje avion ushtarak. U.S ja hodhi fain programit ushtarak.

– Virusi i njohur “LOVE BUG” shkaktoi biliona deme, kjo per shkak te nje gabimi ne design te microsoft outlook i cili lejonte egzekutimin e kodit te jashtem, realisht shumica e viruseve perdorin probleme sigurie te kodit dhe jo te networkut per te bere ate qe duhet te bejn.

Virusi qe po flisnim 2 tema me pare, eshte edhe ai fakt i kesaj gjullurdie qe flitet.

E pse nuk kam degjuar une o Ardit nga keto qe po shkruan?
Le te lexojm bashk kete histori te vogel..
Ata qe kane studiuar pak software engineering, dine se programi kalon disa etapa deri sa te quhet i perfunduar, dhe nga etapat me te rendesishme eshte edhe testimi per probleme me dizajn apo ne aplikimin e ketij dizajni, i cili eshte nder me te gjatet dhe nder me problematiket sepse hshpesh here ben qe te shkruhen programet nga 0, dhe muaj te tere te shkojn ne kosh :)
Vazhdon historia.., E kemi vene re, qe sapo Apple nxjerr nje version te ri sistemi operativ, Microsoft hidhet edhe ai ne sulm dhe e nxjerr sistemin e vet para dates se caktuar, apo kur dikush nxjerr nje version te ri te programit apo funksione te reja edhe konkurrenti i tij menjehere do e nxjerri diçka te tille.
Dhe programatoret e shkret u kerkohen programe te medha dhe kur pyesin “kur te duhet i perfunduar?” shefi u pergjigjet me “dje!”.
Kjo sepse kemi te bejm me ekonomi tregu, dhe shefat zakonisht preferojn (shpesh te detyruar nga kushtet e egra te xhungles) te marrin leket ne moment se sa te humbin bleresat dhe te ngelen me nje program (relativisht te sigurt) por me pak bleres per shkak te voneses dhe mbizoterimit te tregut nga konkurrenca.
Nga kjo nxjerrim se tregu sot i programeve eshte parajsa e intruderave, me treshen e rendesishme qe vjen e forcohet:
Kompleksiteti Microsoft word ne fillim ka pasur vetem 15000 rreshta kod ndersa ne 95 pati 2000000 ndersa sot 10’000’000 kjo per nje hacker do te thote “njam njam njam”.
Pse , sipas llogaritjeve ne 1 KLOC (njesi matjeje per sasine e kodit) mund te kete nga 5 bug deri ne 50 bugzzzz dhe ky eshte ligj universal. Imagjinoni se sa mund te kete ne 1000000 KLOC? dhe ketu po flasim vetem per nje aplikacion, pa llogaritur aplikacionet e tjera, sistemin operativ, firmwaret, dhe edhe vet sistemet mbrojtese, antiviruset, firwallet….
Windows XP ka 40 milion KLOC, ndersa Windows 7 mendohet 120 milion. (pa programe te instaluara siper, vetem sistemi i fresket).
Dhe per “ata te sigurise” ligji eshte ligj, “me shume kod, me shume bugz”, besoj se tani e kuptoni frazen e çuditshme qe mund te keni hasur ne underground “keep it simple stupid”, e meqe ra fjala:

Ekstensibiliteti kjo eshte arsya kryesore e perhapjes se viruseve, sot programet nuk behen me kompakt si njehere e nje kohe, por sot kemi VM, plugine, shkurtimisht kode qe mund te perfshihen nga nje faqe e jashtme ne internet dhe te egzekutohen direkt ne makinen tende. Kjo eshte trend ne kete moment, dhe nese nje program nuk eshte i tille atehere nuk eshte i “mire”.Per me shume kerko ne google (nese nuk e di) per “Code Red”
dhe historine e tij me serverin e Microsoftit IIS
dhe pika e 3-te e “treshes e famshme” eshte:

Konektiviteti Ne momentin qe po shkruaj kete tem, kam hyre ne internet nepermjet iPhon-it me “internet tethering” dhe e kam lidhur me kompiuterin me USB. (Shih Settings>General> Network> Internet Tethering çoje On). dhe sot siç shkruhet tek “THE TCP-IP GUIDE” eshte e veshtire te mbash 2 aparate elektronike jo te lidhur me njeri tjetrin, kjo ka krijuar mundesine e sulmeve te automatizuara, pra ne momentin qe nje virus apo nje sulmues infekton nje range ip-sh shikon per te tjera, dhe per ta ber kete i duhet vetem nje skanim.

Rrenja e Problemit.

Vetem nje fjale, BUFFER OVERFLOW, aplikacione qe te lejojn te egzekutosh aplikacionin tend ne nje sistem te caktuar, ku ka me mire, vulnerabiliteti qe te lejon diçka te till te lejon kontroll te plote mbi sistemin.
Kjo eshte arsyeja qe e gjithe ajo qe eshte shkruajtur me siper po ndodh, dhe mbrojtja ndaj ketij lloj sulmi eshte shume minimale per te mos thene jo-egzistuese, pasi edhe nese keni firewall, antivirus, apo IDS ai do te monitoroj gjera “standarte” siç u tha ne fillim, psh ç’faj ka firewalli nese ti duke vizituar me internet explorer nje faqe interneti kthehesh ne nje zombie (kompiuteri yt, jo ti) , kodi kalon ne menyre legjitime dhe nese firewalli bllokon porten atehere nuk ka me internet dhe ti s’ke mundesi te lundrosh, e njejta gje me anti-viruset te cilet nuk jane te pergjegjshem nese me ane te nje aplikacioni (te besuar) egzekutohet kod (qe zakonisht mund te jete i maskuar dhe mund te duket normal) nga ky aplikacion dhe sistemi kompromentohet.
Nga keto kuptuam se mbrojtja kunder ketyre lloj sulmesh eshte shume e veshtire, kjo per disa arsye:
1) Nuk mund te monitorohet i gjithe kodi i te gjitha aplikacioneve, edhe nese behet nga ta dalloj sistemi mbrojtes qe ai kod i caktuar eshte kod keqberes dhe jo kod qe po e egzekuton programi? (po mendon tani per Snort dhe db e tij te firmave te shellkodeve dhe exploiteve te ndryshme) edhe nese do te kishte fatin te kapte nje te tille (ne rastin se sulmuesi po perdor diçka te gjetur rrugeve dhe jo te koduar vet [rast fillestaresh] nuk do te ishte ne gjendje ta ndalonte).
2) Sistemet e sigurise sot, maksimumi qe mund te bejn eshte te lajmerojn per nje sulm te till por jo ta parandalojn, (shume te pakt jane ata qe mund ta bejn).
3) Keto lloj vulnerabilitetesh kane te bejn me programatorin me shume se sa me vet programin, keshtu qe nuk ka diçka standarte, eshte gjithmon problem qe mund te ndodhet kudo ne 30000 rreshtat e kodit qe mund te kete shkruajtur dikush. Fakt per kete qe thash, provo te kerkosh ne google me “buffer overflow vulnerability scanner” dhe shiko rezultatet, asnje aplikacion per te bere diçka te tille, nderkohe qe kerko me “port scanner” apo “vulnerability scanner” dhe shiko listen se ku perfundon. Kjo eshte fakteqesi.
4) Tendenca per te nxjerr programet sa me shpejt, e ben kete problem gjithmone e me kritik, keshtu qe mendoni pak per programet gjysem te perfunduara ku edhe per ate qe jane programuar nuk e bejn plotesisht, ç’fare impakti ne nivelin e sigurise mund te kene ato ne nje sistem?
Vetem nje fjale: FATAL.

Si pasoje e ligjit te BUG-eve , dhe si pasoje e arsyeve qe u listuan me siper, ato qe u thane ne fillim te kesaj teme jane plotesisht te verteta, dhe nuk kane egzagjeruar ata qe thane “nje sistem i sigurt eshte nje sistem i fikur, i mbyllur ne nje burg te siguris maksimale i rrethuar me roje te armatosur me shot-gun”.
Mbas kesaj, mund te kuptoni fraza te tilla qe mund te gjenden tek zfo05 (kerkoje se eshte postuar ne kete blog)

“Apologies for the poor quality of the hacklog, but I’m old now and let’s face
it, Kevin Mitnick is done. You can move your box anywhere Kevin, we’ll find you
and own you. You should know best, it’s the “hacker” in us – or something like
that…See you soon.” — ky ishte mesazhi i lene nga profesionist “Kevin Mitnickut” te madh, “HACKERIT” legjendar, bytw FU** Y*U Kev.

Per ta perfunduar:

_____________________________________
Between us and people we know, everything is owned. We keep owning shit that
others have, they own some shit we already have. We don’t exactly hire
secretaries to sort this out.

We’re colonizing the internet the way Europe colonized Africa, cutting it up
into little pieces. We have your accounts, your mail, your dev box, your host,
and your ISP. Code exec on your lappy if we think it’s worth the hassle. We
have so much shit owned we can’t manage, or even remember, half of it
. Targets
pop up and we have to ask ourselves if we already have it, because we just don’t know.

We could set up franchises like McDonalds, one on every corner of the net, over
99 billion served. Supplying you with artery-clogging hax morning afternoon and
night.

We need some goddamn staff, we’re a billion dollar enterprise running on a
lemonade stand budget. If there was much useful help out there, we’d hand out
root passes like candy on hallowe’en. That’s just a pipe dream, we just find
more people we can’t trust. Anyone useful is as busy as we are. Thank your
lucky stars we ramble on.
____________________________________________________

Ky eshte realiteti.
Mire, dikush (supersticioz) eshte duke pyetur veten e tij, per arsyen qe me shtyu te shkruaja kete…
Faktikisht jane shume arsye..
a) Me pelqen e verteta, dhe me pelqen te demaskoj te paverteten, sidomos kur shemb iluzione. (kjo per te bere te kuptohet qe ajo qe shitet sot me emrin “siguri” eshte fraze boshe, dhe te flasesh kete qe eshte shkruajtur ketu eshte tabu sepse biznese te tera bazohen ne keto iluzione).
b) Materiali eshte shume i mire per programatoret qe nuk duan te pushohen nga puna se programi per te cilin ke bere dark te madhe e ke festuar me miqt, 1 vit me vone ben qe kompania blerese te humbi 1’000’000$
c) Me pelqen :)

Conficker Worm

A keni degjuar ndonjeher per kete worm i cili vertitet neper internet kohet e fundit. Eshte nje nder me te rrezikshmit i cili ka bere te jene viktime miliona kompjutera qe nga viti 2003 me sisteme operimi windows.
Dhe e bukura eshte se ky worm u be i ditur vetem ne 2008. Ne 2009 u be e ditur qe ky worm kishte sulmuar mbi 15 milion kompjutera ne mbi 200 shtete te botes. Wormi fillimisht u perhap sipas LAN dhe me pas me ane te usb dhe network share. Ne janar wormi sulmoi Floten Detare Franceze e cila bllokoi dhe uljet e avioneve ne te pasi nuk arrinin dot te benin update planet e fluturimit. Ministria e mbrojtjes se Britanise se Madhe deklaroi qe shum nga kompjuterat desktop te saj ishin infektuar nga ky worm. Ne 2 shkurt 2009 Ministria e Mbrojtjes gjermane deklaroi gjithashtu qe qindra kompjutera te saj ishin infektuar nga Conficker.
Pra kemi te bejme me nje monster te vertete, prandaj une pata deshire te shkruaj kete teme per te palajmeruar te gjithe IT shqiptare per kete rrezik. Ketu do tju jap disa nga nga menyrat se si ky worm punon dhe si mund ta parandalojme dhe ta identifikojme.

Atehere wormi sulmos sic thame sistemet Windows dhe cili eshte nje nga pjeset me vulnerabel te ketyre sistemeve? NetBIOS pasi sic e dime ne kohe me ane te stack overflow dhe Buffer overflow qe ky ka mund te shtrytezojme menyra pa fund per te shperndare dicka nepermjet rrjetit.

-Ne nje rast worm ka shfrytezuar nje Remote Code Execution i cili ben te mundur ekzekutimin e nje komande apo aplikacioni per pa kerkuar te drejta autentikimi.
-Rasti II
Conficker B perdor te njejten gje por nese ky bug eshte mbyllur fillon me brute force pra provon pass dhe username me rradhe me ane te nje fjalori.

-Rasti III
Perdor usb apo krijon dll te cilat te ekzekutojne autorun.

-Rasti IV
Eshte nje menyre qe perdor Conficker D qe realisht akoma nuk eshte zbuluar.

P.S Nese dikush gjen source kodin ta postoj, po nuk besoj pasi ne keto momente ate vetem mund ta blesh pasi nuk e gjen gjekundi.

Per te vazhduar te infektoi Worm vazdhon keto procedura:
-Bllokon Dns LookUp
-C’aktivizon AutoUpdate
-C’aktivizon Safe Mode
-Dhe mbyll proceset e anti malwareve
-Me pas kontrollon qe keto jane mbyllur.
Worm synon proceset explorer.exe dhe services.exe dhe si perfundim eshte lidhet me ane te p2p te serverat .
Fale vegles me te mire per security nmap ne mund ta detektojme kete worm me ane te kesaj komande:

nmap -PN -T4 -p139,445 -n -v --script smb-check-vulns,smb-os-discovery --script-args safe=1 [targetnetworks]
Pas ekzekutimit aplikacioni ju informon me nje mesazh qe komjuteri eshte i infektuar apo jo.
Pra sic shohim te sulmuara jane portat 139 dhe 445.

Ndersa per nje analize me te detajuar te worm do ta gjeni ketu:
http://www.honeynet.org/files/KYE-Conficker.pdf
e shkruajtur nga gjenia Dan Kaminsky.

Te zgjerojm limitet e iptables

Jemi ne nje nga temat me * ketu ne albanianwizard.org, them me * sepse ky eshte nje koncept origjinal i patrajtuar me pare, koncepti eshte te kthejm Iptables firewall ne IPS (Intrusion Prevention System), dhe shkrimi eshte paksa i nje niveli te avancuar (kjo edhe pse jane koncepte te reja dhe jo diçka e perditshme) keshtu qe nese nuk  keni informacione se ç’fare jane:
buffer overflow
sql injection
CSS (XSS)
Local File Inclusion , RFI (remote file inclusion) dhe nuk keni te qarte –string te iptables atehere eshte me mire te kaloni ne teme tjeter pasi ne kete teme nuk do te sqarojm sulmet por metoden se si mund te “bllokohen” keto sulme, gje qe e kthen iptables ne nje IPS, por ky eshte thjesht nje koncept dhe shume sulme te alteruara mund te rezultonin te sukseshme edhe mbas metodave mbrojtese qe mund te aplikojm (e shohim me poshte), por kjo vetem ne rastet kur perdoret buffer overflow (stack\heap – overflow), ne rastet e tjera mbrojtja eshte shume efikase.

iptables VS buffer overflow
Sulmet me te rrezikshme sot, nuk jane ato qe i drejtohen sistemit, apo nje platforme por ato qe i drejtohen drejtpersedrejti vet aplikacionit ,  le te shohim sebashku dhe arsyen.
Nje firewall ne pergjithesi do te shkoj dhe do te monitoroj portat qe jane te mbyllura, apo te filtruara dhe do te anashkaloj monitorimin e portave 80\22\25 etj ku nje server ofron sherbimet e veta “duke ja lene ne dore” keshtu sigurine vet aplikacionit qe eshte duke perdorur porten. [gabim ky qe lejon shumicen e sulmeve qe ndodhin sot]
Kjo sjell qe keto sulme nga ana tjeter te jene te suksesshme dhe ne sisteme jo te rregulluara (not hardened) edhe te pakapshme.
Te shohim disa rregulla qe mund ti impostojm iptables kunder disa sulmeve normale.

Iptables VS buffer overflow

Ky edhe pse sulm goxha i vjeter ne ‘moshe’ eshte edhe ne kete moment shume i perdorur dhe tipik per nje root account.

Shfrytezohet nje aplikacion i koduar ne C\C++ zakonisht dhe nje funksion malloc()  strcat() scanf() , strcpy() i pa kontrolluar me ane te se cilit arrihet ne zona te memorjes qe nuk duhet te jene te aksesueshme, duke ber “rishkrim” te ketyre zonave ne RAM e rjedhimisht nese hyet ne zona te rezervuara te memorjes si ato te sistemit operativ atehere mund te modifikosh pid-t e proçeseve e keshtu dhe uid (root @ uid= 0) dhe sistemi kompromentohet.
Rasti tipik eshte nje reverse shell qe lidhet me makinen e sulmuar.
Keto lloj sulmesh jane shume te veshtira per tu kapur, edhe nese nje sistem ka firewall dhe antivirus nuk ka shance kunder nje exploiti 0-day. Nje zgjidhje ne keto raste do te ishte nje fwsnort i integruar me snort + iptables normalisht dhe te shpresonim qe sulmi te njihej nga snort, ose me sakt snort te kete te regjistruar ne db shellin qe eshte duke perdorur sulmuesi.
Po marrim nje rast se si mund te bllokojm nje te tille nga porta 443 ku dihet qe per te bere overflow e mbushim hapesiren e memorjes me karaktere ç’faredo pastaj kur jemi ne hapesiren e duhur perdorim shellcode (ku shumica e atyre qe perdoren jane ne db e snort)
iptables -I INPUT 1 -p tcp –dport 443 -m string –string “AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAA” -j DROP
Ne kete rast vihet re mire pjesa me “AAAA” e cila nuk do ishte e zakonshme, ne keto raste keshtu qe kjo lloj lidhjeje do te duhej te ndalohej.
Nje menyre per ta anashkaluar gjithsesi eshte qe ta mbushesh me BBBB ose CCCC ose me ABDEF… keshtu qe siç e thashe do te duhej nje snort i konfiguruar mire per tu marre me keto lloj sulmesh, por ne shumicen e rasteve kodi i exploitit perdoret nga worme, boote keshtu qe pjesa me siper mund te jete shume efektive.

iptables VS sql Injection

LoL, ne kete rast nuk kemi ç’fare te sqarojm, shkoni tek nje PKSH-crew dhe do jete gjeja e pare qe do u mesojn, ne keto raste duhet te evitojm string si “select, union, from, apo karaktere null”, dikush i zgjuar eshte duke menduar tani, se edhe nese ne bllokojm union, select etj etj duke njohur mire iptables mendon po sikur ti fus ne hexadecimal karakteret e sql injection?
Dhe ben mire te mendoj keshtu pasi mund ti behet evazion kesaj metode mbrojtese por per fat te mire iptables ka dhe opcionin –hex-string dhe per ta bllokuar nje null character ne hex do te ishte diçka e tille:
iptables -I INPUT 1 -p tcp –dport 1433  -m string –hex-string “‘|00|” –algo bm -m string –hex-string
“-|00|-|00|” –algo bm -j REJECT
Siç e shohim porta qe monitorohet eshte 1433, pra e mysql-s . Me sa me shume opcione gjithperfshirese, aq me pak do te ishin shanset per te pasur nje sulm te suksesshem, e ne kete rast duke marre parasysh nje server dhe 2000 website te hostuara ne te, do te ishte nje LAJM MADHESHTOR per klientet qe do e ndienin veten nen nje sherbim perfekt.

iptables VS Local File Inclusion

Ne keto raste, perdoret nje fail psh nje php dhe me ane te tij mund te aksesohet nje fail tjeter ne direktori, psh e zeme se faili yne skedari.php ka nje rresht ku shkruhet ky funksion:

 require("./../".$_GET["emriskedarit"]);

Duke pare thjesht me browser nje file te tille dhe duke perfituar nga ndonje funksion mund te shkojm direkt tek:

file.php?shko_tek=../../../../../../../etc/passwd%00
Ose mund te jete nje config.php, ose mund te jete nje /etc/shadow%00
Thame qe per keto perdorim browserin keshtu qe porta per tu monitoruar eshte 80 (web-server).
Keshtu qe:
iptables -I INPUT 1 -p tcp –dport 80 -m string –string “/etc/shadow” –algo bm -j REJECT
ose
iptables -I INPUT 1 -p tcp –dport 80 -m string –string “../../” –algo bm -j REJECT

iptables VS CSS (XSS) dhe RFI

Ketu besoj se imagjiononi vet…

shembull kunder Cross Site Scripting

iptables -I INPUT 1 -p tcp –dport 80 -m string –string “<>” –algo bm -j REJECT

Shembull kunder Remote File Inclusion
iptables -I INPUT 1 -p tcp –dport 80 -m string –string “=http://” –algo bm -j REJECT

Konfigurimi baze i Iptables ne nje Sistem Linux

Iptables eshte nje program shume i njohur dhe popullor per te gjithe perdoruesit e sistemeve Linux, ai eshte nje firewall goxha i mire dhe ne baze te tij jane ndertuar dhe shume te tjere.
Ne kete “mini-guide” te vogel do te shohim konfigurimin e tij te thjeshte.
Supozohet qe ky firewall te perdoret nga nje kompiuter personal, nese deshironi qe te perdorni firewallin nga ndonje server atehere normalisht duhet te lejoni sherbime te caktuara psh (httpd), (ssh), (ftp)(mysql)(dns) etj .
INSTALIMI

Shume i thjesht, ne shumicen e distribucioneve Linux e keni te instaluar, keshtu qe mund ta instaloni direkt nga package manageri.

KONFIGURIMI

Perpara kesaj duhet te fiksojm disa gjera te vogla shpejt e shpejt, Iptables ka disa “zinxhir” apo fronte ne te cilat kalojn paketat (sepse eshte thjesht nje software qe analizon paketat qe hyjn nga skeda ethernet apo wireless).
Kemi 3 tabela:
FILTER  : ka 3 fronte /INPUT/FORWARD/OUTPUT
NAT : nuk do merremi kesaj rradhe
MANGLE : nuk do merremi kesaj radhe

Ne kete here perderisa po behet fjale per nje konfigurim baze do te shohim vetem tabelen e pare, ate FILTER e cila na ndihmon te konfigurojm firewallin tone me ane te 3 fonteve, Input, forward [perdoret per te kaluar paketa nga makina jote tek nje makine tjeter, pra makina jote eshte thjesht nje “ure” dhe ti zgjedh ti kaloj apo jo]  output [kontrollon paketa qe gjenerohen nga sistemi e ne kete rast ti mund te kontrollosh psh nese dikush (user) nga makina jote kerkon te lidhet me ssh ti mund ta bllokosh duke percaktuar rregulla tek output] .
Ne rastin tone, do te shohim se ç’fare mund te bejm me Input i cili percakton se ç’fare duhet te bejm me paketat qe vijn ne kete zinxhir (pasi eshte kontakti i pare). Pra fronti i pare i “luftes” ku hyjn paketat nga jashte.
Kemi 3 rregulla te ndertuara ne kete front, kemi DROP, ACCEPT dhe REJECT.
ACCEPT – kemi kur paketa pranohet dhe kalon permes firewallit dhe ne kete rast pra eshte kur kemi nje port te hapur dhe nje server httpd. Koneksioni krijohet pa problem.
DROP –  i njohur ndryshe dhe si “blackhole” i cili thjesht injoron paketen duke mos derguar paket pergjigje per tek hosti origjinar.
REJECT – ndalon paketen te kaloj duke derguar nje paket pergjigje ICMP si “destinacioni eshte i paaritshem” duke lene te kuptoje se hosti eshte offline.

DROP versus REJECT
Kemi ndryshim midis ketyre 2 opcioneve qe na ofron iptables, ku secili ka te mirat dhe te keqiat e veta, psh ne aspektin e koneksionit, DROP do i thoshte klientit, ose atij qe kerkon te lidhet apo te sulmoj qe paketa ka humbur dhe ne baze te ligjeve te rrjetit automatikisht do te bente ritransmetimin e kerkeses derisa te perfundonte kurse Reject do ti thoshte qe ne fillim me nje paket “destination unreachable” ICMP keshtu qe do te thote kursim kohe dhe kursim rrjeti.

Per me shume info, provoni firewallin tuaj me netcat ,hping dhe nmap per te testuar keto 2 opcione.
Si fillim:
iptables -A INPUT -p icmp -j REJECT  #Blloko ç’do lloj ICMP-je qe vjen tek kompiuteri yt, gjithmon nese nuk ke ndonje sherbim (server\ftp etj) kjo do te kthej kompiuterin ne nje fare “fantazme” per skanerat qe nuk perdorin opcionin (no-ping)  te nmap.

iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT #Per te garantuar qe koneksionet qe jane te fiksuara te mos mbyllen.

Bllokojm lidhjet udp dhe tcp

iptables -A INPUT -p tcp -j REJECT –reject-with tcp-reset
iptables -A INPUT -p udp -j REJECT –reject-with icmp-port-unreachable
Bllokojm trafikun qe mund te kaloj nepermjet kompiuterit tone, ne kete rast psh evitohet qe kompiuteri te shnderrohet ne nje zombie:
iptables -P FORWARD DROP
Tani na ngelet te kontrollojm trafikun qe del nga kompiuteri yne, dhe nese duam qe te lejojm ç’do gje (eshte diçka normale nese nuk doni te kufizoni ndonje perdorues) atehere:
iptables -P OUTPUT ACCEPT

Krijojm 2 zinxhir te ri te personalizuar si:

iptables -N hapur
iptables -N interface

Persa i perket zinxhirit apo frontit interface do e perdorim per te lejuar komunikimet e brendshme te kompiuterit (loopback) qe mund te perdorin shume aplikacione keshtu qe :
iptables -A interface -i lo -j ACCEPT
KUJDES: nese japim psh iptables -A interface -i eth0 -j ACCEPT dhe eth0 perdoret per tu lidhur me internetin atehere kjo do te mbishkruaj rregullat e mesiperme dhe nuk do jet me firewall lol.
Kalojm tek zinxhiri “hapur” qe sapo krijuam.
Ketu mund te shtojm portat qe ne do i leme te hapura, psh per sherbime te ndryshme qe mund te ofrojm si web-server, ftp-server, mail-server, ssh e keshtu me radhe.
Keshtu qe:

iptables -A hapur -p tcp –dport 80 -j ACCEPT #kjo do te lejonte lidhjet e jashtme per tek porta 80, pra ne rastin tone me web-serverin.
Nese duam qe serverin ta vizitoj vetem ndonje miku yne qe psh ka ip 192.168.1.140 atehere japim ne vend te asaj qe shkruajtem:
iptables -A hapur -p tcp -d 192.168.1.140 –dport 80 -j ACCEPT

Kunder sulmeve te ndryshme

Te kujdesemi qe te gjitha paketat ne hyrje te jen kerkesa per sinkronizim, ne te kundert DROP IT!!

iptables -A INPUT -p tcp ! –syn -m state –state NEW -j DROP
Kjo do te evitonte nje sere sulmesh me nmap.
Kunder sulmeve te tipit “Fragmentation”
iptables -A INPUT -f -j DROP
Kunder XMAS scan
iptables -A INPUT -p tcp –tcp-flags ALL ALL -j DROP
Kunder FIN scan

iptables -A INPUT -p tcp –tcp-flags FIN ALL -j DROP

iptables -A INPUT -p tcp –tcp-flags ACK,FIN FIN -j DROP
Kunder NULL Scan

iptables -A INPUT -p tcp –tcp-flags ALL NONE -j DROP
Mbrojtje e pergjithshme:

iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j ACCEPT
Kunder “pingut te vdekjes”
iptables -A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT
Kunder sulmeve syn fload dhe DoS
iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT
Kunder skanimeve SYN\RST
iptables -A INPUT -p tcp –tcp-flags SYN,RST SYN,RST -j DROP

Per sulme te personalizuara, personalizoni iptables, psh kunder nje sulmi FIN,SYN mbrojtja do te ishte:
iptables -A INPUT -p tcp –tcp-flags FIN,SYN FIN,SYN -j DROP

Kunder spoofing:

iptables -A INPUT -d 224.0.0.0/4 -j DROP
iptables -I INPUT -i eth0 -s 10.0.0.0/8 -j DROP
iptables -I INPUT -i eth0 -s 172.16.0.0/12 -j DROP
iptables -I INPUT -i eth0 -s 192.168.0.0/16 -j DROP
iptables -I INPUT -i eth0 -s 127.0.0.0/8 -j DROP

Thame qe ishte nje konfigurim i thjeshte, ky konfigurim firewalli mund te modifikohet shume here me shume, por shpresoj se do kem kohe dhe do e shkruajm ndonje skript ne bash :)
PS, te gjithe kesaj duhet ti shtoni psad dhe fwsnort.

Skanimi dhe identifikimi

Ne kete paper do te trajtojme skanimin e nje hosti ne nje network, te gjejm portat qe perdor dhe te identifikojme sistemin e operimit qe perdor.
Ky pikerisht eshte hapi i dyte pasi kemi mbledhur informacione publike nga footprinting.
Nmap eshte nje nga toolset me te kompletuar dhe te mir per tu perdorur per kete qellim.
Ai eshte free kshu qe mund ta shkarkoni nga faqja zyrtare keni dhe version GUI per windows.

Para se te fillojm doja te benim nje permbledhje te shkurter mbi procesin e lidhjes TCP. Ato te cilet jane te informuar nga kjo ane mund te kalojne me poshte 😉
Kur nje lidhje TCP realzohet midis dy sistemeve, nje cikel i njohur “three way handshake” kryhet, Kjo perfshin shkembimin e 3 paketave dhe sinkronizimin e sistemeve me njeri tjetrin.
Sistemi i cili nis lidhjen dergon nje pakete sistemit me te cilin do qe te lidhet. Paketat TCP kane nje pjese (header) me nje fushe qe percakton “flamurin” (tipin e paketes)
Ketu do flasim per 6 tipat e mundshme te paketave, te cilat jane :
1. SYN (Synchronise) – permbajne nje numer sekuence te TCP, te cilat e njohin sistemin remote, se cilen sekuence te perdor per lidhjen pasardhese.
2. ACK (Acknowledge) – njehuri mbi marrjen dhe futjen e paketave.
3. FIN (Finished) – dergohet kur lidhja ka perfunduar
4. RST (Reset) – dergohet kur lidhja eshte per tu rikrijuar.
5. URG (Urgent) – do te thote qe segementi permban data urgjente
6. PUSH (Push)  – i tregon krahut qe po merr ne lidhjen TCP qe duhet te njoftoj procesin e marrjes per kete fakt.
Per te nisur nje lidhje TCP, sistemi qe fillon lidhjen dergon nje pakete SYN tek destinacioni, kjo e fundit do te dergoj nje pakete SYN nga ana e saj dhe nje ACK e cila do te njoftoj per ardhjen e paketes se pare.
Keto jane te kombinuara ne nje pakete te vetme SYN/ACK. Mbas kesaj sistemi i pare dergon nje pakete ACK per te informuar qe SYN/ACK arriti me sukses dhe qe mund te filloj shkembimi. Ky informacion do ju duhet per me poshte 😉

Ping
Menyra me e shpejte per te percaktuar nese nje host eshte “gjall” apo jo eshte te ping-ojme ate.
Kemi dy menyra pingimi me ane te nmap:
1. Dergojme nje kerkes echo ICMP, e cila ben qe ti kthehet si pergjigje nje paket ICMP. Nje host mund te konfigurohet qe mos ti pergjigjet
ketyre kerkesave kshuqe nuk eshte e then qe ai te mos jet “gjall” 😀 .

nmap -sP 192.168.1.*          – ne kete menyre do te pingojme te gjitha hostet

2. Per te verifikuar nqs jan bllokuar kerkesat ICMP apo eshte ne te vertet hosti down, bejm nje TCP Ping.
Nje tcp ping dergon nje paket SYN apo ACK te nje porte e caktuar (80 porta default) tek sistemi qe po skanojme.
Nqs nje RST apo nje SYN/ACK thehet atehere sistemi remote eshte online. Nqs jo atehere mund te jete offline ose porta e caktuar eshte e filtruar.

nmap -PT porta_qe_do_te_dergohet_paketa destinacioni

Per te ndaluar TCP ping apo ICMP ping mund te perdorim nje firewall te mir-konfiguruar.

Skanimi i portave
Eshte procesi i lidhjes me portat UDP dhe TCP te nje hosti per te percaktuar cilat porta jan hapur ne pritje te lidhjeve.
Skanimi mund te realizohet ne rrug te ndryshme. Keto qe paraqes me poshte jane me te perdorshmet:

1. Lidhje me ane te TCP.
Sic njihet TCP connect() scan, e ka marr emrin nga socket e programimit te UNIX e cila perdor nje thirrje te sistemit, connect()
per te realizuar nje lidhje me hostin. Nqs connect() realizohet me sukses lidhja realizohet, Nqs jo lidhja nuk realizohet, serveri mund te jete offline, porta mund te jete e mbyllur
apo mund te ket ndonje problem tj gjat rruges. Krijohet lidhja nje nga nje me portat kryesore ose nqs duam me te gjitha portat dhe per ato porta qe realizohet lidhja klasifikohen te hapura
te tjerat te mbyllura.
Gjeja e keqe eshte se kjo i regjistron ip derguese dhe indetifikohesh shpejte. Gjithsesi ky lloj skanimi mund te realizohet me ane te komandes -sT ne nmap.

2. Skanimi TCP SYN.
Ky tip skanimi ben qe te dergohet nje pakete SYN ne host. Nqs hosti eshte duke pritur lidhje ne nje porte te caktuar atehere kthen nje pakete SYN+ACK. Nqs hosti eshte online dhe nuk eshte ne pritje
ne ate porte atehere dergon nje pakete RST dhe nqs eshte e filtruar atehere nuk dergohet asgje. Kjo eshte rruga qe ndjek nmap per te skanuar. Ne kete rast nuk perfundohet i gjith cikli three-way handshake. Kjo menyre eshte e pakapshme(e fshehur) derisa nuk logohet nga hosti xD .

nmap -sS destinacioni -g porta – nqs firewall ka bllokuar ndonje porte.

3. Skanimi me ane te paketes FIN
Ne kete metode dergohet nje pakete FIN ne hostin qe do te skanojme. Nqs hosti eshte online por nuk eshte ne pritje ne nje porte te caktuar
atehere ai pergjigjet me nje pakete RST, perndryshme nqs nuk eshte ne pritje ne ate porte atehere nuk kthen pergjigje. Duhet te keni parasysh qe ne Windows perher hosti dergon nje paket RST. Kjo eshte ne interes per te
percaktuar sistemin operativ, por eshte me thjesht me fingerprining qe do te shohim me poshte.
Gjithashtu FIN dhe skanime te tj qe do te shohim me poshte jan e nevojshme per te shmangur firewall dhe IDS te cilat perqendrohen shumicen e rasteve tek paketat SYN.
Komanda per te realizuar FIN SKAN :
nmap -sF destinacioni

4. Skanimi me XMAS
Kjo metode skanimi perfshin dergimin e paketes TCP me flamujte FIN, URG, PUSH. Atehere nqs hosti eshte ne pritje ne nje porte te caktuar atehere kthen nje pakete RST, nqs jo atehere nuk kthen pergjigje.
Paketat FIN jane normalisht te perdorura per te hedhur posht nje lidhje TCP te realizuar.
Komanda: nmap -sX destinaioni

5. Skanimi NULL
Atehere, dergohet nje paket TCP me asnje flamur te inseruar ne header…Nqs hosti eshte ne pritje ne nje porte te caktuar atehere nuk kthen pergjigje, ne te kundert dergon nje pakete RST.
Komanda: nmap -sN desinacioni

6. Skanimi RPC
Ky lloj skanimi dergon paketa NULL ne menyre qe te kontrolloj nqs nje porte e caktuar eshte port RPC (remote procedure call) apo jo. Gjithashtu percakton programin dhe versionin.
Komanda: nmap -sR destinacioni

7. Skanimi IP Protocol
Ky lloj skanimi krontrollon protokollet te cilat jan te suportuara ne hostin qe po skanojme.
Komanda: nmap -sO destinacioni

8. Skanimi Window
Ky tip skanimi, eshte i ngjashem me ate ACK, shpesh na ndihmon te gjejme portat e hapura, te filtruara , jo te filtruara ne nje sistem.
Perdoret per te pecaktuar dhe OS e hostit, nje list te mir per te ber krahasime mund ta gjejm ne google.
Komanda: nmap -sW destinacioni

9. Skanimi UDP
Per te percakuar nqs nje host eshte ne pritje ne nje porte te caktuar UDP, nje pakete UDP dergohet ne ate porte. Nqs hosti nuk eshte ne pritje atehere nje paket ICMP na dergohet nga hosti.
Perndryshe nqs hosti eshte ne pritje ne nje port te caktuar atehere nuk dergohet asnje lloj pakete.
Komanda: nmap -sU destinacioni

10. Skanimi Idle
Skanimi Idle eshte nje skanim i avancuar, ku paketat te cilat dergojme ne hostin qe skanojme nuk mund te identifikojne sistemin qe po ben skanimin.
Nje host zombi mund te percaktohet per te ber kete skanim. Ky host zombi duhet fillimisht te plotesoj disa kritere qe te na realizohet skanimi.
Ky tip skanimi funksionon duke exploit-uar sekuencat IP ID te gjeneruara ne hostin zombi per te percaktuar portat e hapura ne hostin qe do te skanojme.
Ne fillim sqarojme…C’eshte IPID Cdo pakete ne internet ka nje ID identifikimi nje nr. Shume sisteme operative thjeshte e shtojne kete nr me  1 per cdo pakete qe dergojme.Duke kontrolluar me kujdes IPID, nje person qe po realizon skanimin mund te marri informacion sesa paketa jane derguar nga kontrolli i fundit.
Skanimi kontrollon IPID tek zombi dhe realizon nje lidhje me nje host qe do te skanohet, duke e ber ate te duket sikur vjen nga zombi 😀
Nqs porta qe skanohet eshte hapur nje SYN/ACK kthehet nga hosti qe po skanohet tek zombi :D, dhe ky i fundit ben reset lidhjes (RST) sepse ai nuk ka asnje lidhje me par ne memorje. Nqs porta eshte e mbyllur nje RST dergohet tek zombi dhe asnje paket tj nuk dergohet.
Atehere cfare bejm ne…Ne shkojme e kontrollojme IPID pasi e kemi kontrolluar njeher ne fillim. Nqs ajo eshte rritur me nje atehere porta eshte mbyllur sepse nuk i ka khyr pergjigje hostit qe skanojme dmth hosti ka derguar nje paket RST. Rritjen me e ka ber lidhja qe kemi kryer ne per te marr IPID.
Rasti dyte eshte kur rritet IPID me 2 ne kete rast nje paket eshte derguar tek ne dhe nje paket eshte derguar tek hosti qe po skanojme dmth, hosti i ka derguar nje SYN/ACK dhe zombi eshte pergjigjur me RST :D. Ne kete rast kemi porte te hapur, jo 100% e sigurte por ka shume shume mundesi. Rasti 3 eshte kur kemi rritje me me shum se 2 atehere hosti zombi
qe po perdorim nuk eshte per kete pune sepse ka shum trafik.
Komanda: nmap -sI zombi destinacioni

Nje her tj do te trajtojme kohen e dergimit te paketave, fingerprinting, skanime te fshehta si ne rastin e idle 😉
shpresoj te jete sa me teper informative :) .

Footprinting

Sic e kemi trajtuar edhe ne tema te tjera ne AW, edhe ne kete teme do te trajtojm FOOTPRINTING.

Hapi i pare dhe i rendesishem per nje hacker dhe sigurisht e rendesishme te studjohet nga nje Security IT.  Pikerisht ky eshte dhe qellimi i ksaj teme te shfaqim disa menyra te footprinting dhe menyren se si te parandalojme ato.  Eshte e rendesishme per nje person qe merret me siguri te ket mentalitetin e nje hackeri.  Footprinting eshte procesi i mbledhjes se datave fillestare per nje x target duke perdorur metoda te pranishme ne publik.  Ky informacion mund te perdoret per te kuptuar me mire arkitekturen e network-ut te viktimes.

Motoret e kerkimit –  mund te perdoren per te mbledhur informacione te rendesishme. Celsi qendron ne menyren se si kerkojme ne databasen e ketyre motoreve. Psh disa kompani kerkojne ne internet profesionista ne fushe te sigurise,  kjo tregon se dicka nuk shkon me rrjetin e tyre.  Ky fakt e ndihmon nje sulmues ku te fokusohet. Pra e rendesishme eshte qe informacione te tilla,  kerkesa te tilla te mos behen ne publik.   Me ane te motoreve mund te gjejme dhe log file te cilat jane lene ne menyre te pavullnetshme ne web root te web server-it.  Psh.

“Index of” log_file ,  ky log_file mund te jete: syslog, maillog, access_log, error_log etj…

Query te tilla mund te perdoren ne motoret e kerkimit dhe informacione sensitive per hostin tuaj mund te ekspozohen. Eshte mir qe te kujdeseni per file te tilla. Nqs jeni administrator ne linux atehere eshte mir te kerkoni per ekzistencen e fileve log ne web root me kete komand ne shell:

ls -alR “web-root” | grep log – ne vend te web-root vendosni adresen ku ndodhet ne sistemin tuaj. (pa thonjeza)

Regjistruesit e domain-eve

Nje organizate mund te kete disa rrjeta ne vende te ndryshme. Te gjejme domaine te lidhur me nje organizate te caktuar realizohet me ane te pyetjeve “whois”. Shume regjistrues te domainve kane nje server publik “whois” me porte 69 ne te cilen klientet mund te lidhen ne menyre per te marr informacion mbi ato qe kane domainet. Informacioni i kthyer nga kerkesat whois permban dhe POC, DNS te cilat jane te rendesishme per te percaktuar network-un e viktimes. Domainet regjistrohen nga regjistrues te ndryshem, kshu qe si fillim na duhet te kerkojme regjistruesin e domainit dhe me pas te bejme kerkes mbi xkompani.com ne serverin regjistrues. Nje server i mir publik nga te fillojm punen eshte whois.crsnic.net Atehere komanda qe duhet ekzekutuar ne shell eshte:

whous -h whois.crsnic.net xkompani.com

kjo do te na shfaqi te dhena te tilla:

Domain Name: xkompani.com

Registrar: whois.serveriregjistrues.com

Name Server:

NS1.XKOMPANI.COM

Name Server: NS2.XKOMPANI.COM

Tani qe kemi serverin qe ka regjistruar domain, bejm perseri kerkese por tashme ne serverin qe gjetem. Kshu qe do kemi:

whois -h whois.serveriregjistrues.com xkompani.com

Tani do na shfaqen info mbi personin qe ka bler domain (ownerin)

Emri Mbiemri Emaili Adresa Nr i tel … Kontakt administrativ .. . NS1.serveri.com 18.0.0.1 NS2.serveri.com 192.168.1.1

Vazhdojme… Gjithashtu ne database mund te kerkohet edhe me keyword. Dmth mund te perdorim nje query te till:

whois -h whois.crsnic.net “albanianwizard.”

dhe do te shfaqen te gjitha domainet qe jan kshu: albanianwizard.org albanianwizard.com albanianwizardblabla.com e kshu me rradh…

Regional Internet Registries

E ngjashme me domainet, organizatat mund te keni edhe blloqe Ip Adresash. Keto adresa afishohen ne database te medha per zona te ndryshme te globit. Serveri per europen eshte whois.ripe.com Ne te njejten menyre do te bejm perseri whois per blloqe IP apo kerkojme per nje organizat te caktuar. Do te na afishohen info te cilat mund te jene te nevojshme.

DNS Reverse – Lookups

DNS reverse lookup nevojitet per te kaluar nga nje IP ne HOST dhe nese bejme ne shell:

host 18.0.0.3 (pa lidhje)

mund te na shfaqen info te rendesishme mbi ekzistencen e ndonje lloj serveri.

Mail Exchange

Per te gjetur hostname-t dhe IP-te e mail serverave te nje organizate perdorim komanden dig mx ne shell:

dig mx xkompani.com

Do te na shfaqet mail serveri ne formen mail.xkompani.com (nje gje e till).

Zone Transfers

Nje transferim ndodh kur nje DNS server dytsor kontakton me nje primar ne menyre qe te bej update e informacionit te asaj zone. Per te realizuar nje zone transfer per nje organizat te caktuar na duhet IP e DNS server-it. Kete gje mund ta realizojme thjesht me whois, dhe nqs na jepet ne hostname atehere perdorim komanden qe pershkruam me larte. Tani qe kemi dhe DNS, ekzekutojme komanden ne shell:

host -l domaini IP_DNS

Do na shfaqen:

mail.xkompani.com has address 192.168.1.10

Using domain server:

Name: 10.0.0.1

Address: 10.0.0.1#53

firewall.xkompani.com is an alias for vpn.xkompani.com

Using domain server:

Name: 10.0.0.1

Address: 10.0.0.1#53

vpn.xkompani.com has address 192.168.1.9

Using domain server:

Name: 10.0.0.1

Address: 10.0.0.1#53

Pra do te na shfaqen hostname dhe me IP perkatese ne network te ketyre serverave Menyra se si ti ndalojme Zone Transfer:

* Nuk duhet te lejojme hoste te pa autorizuara te bejne transferime nga DNS juaj.

* Perderisa transferimet behen ne porten TCP 53, konfiguroni firewall qe te bllokoj lidhjet me te.

* Eshte nje ide e mire qe te instalojme nje DNS server per hostet e intranetit qe te mos jete i aksesueshem nga jashte.

Traceroute

Me ndihmen e kerkesave te mesiperme qe realizuam, IP adresat mund te merren lehte po te njohim emrin e nje organizate qe na intereson. Perderisa paketat per te arritur ne destinacion kalojn ne shtegje te ndryshme eshte mir qe te mesojme per gateway-t qe kalon midis nesh dhe hostit destinues. Per te realizuar kete na hyn ne pun komanda ne shell traceroute:

traceroute 10.0.0.1

Ky program funksionon duke derguar paketa UDP ne porta te larta tek destinacioni me vleren TTL (Time to Live) 1 fillimisht dhe qe shtohet me 1 per cdo paket pasardhese. Gateway-t e ulin TTL me 1 perpara se ta bejn forward ate. Nqs TTL eshte 0 atehere ajo i kthen nje paket ICMP Time To Live Exceeded ne hostin qe dergoi kerkesen fillestare. Ne kete menyre funksionon ky program derisa i ben route te gjith getway-ve. Me parametrin -p mund te ndryshojme porten per te anashkaluar firewall qe mund te ken Gatway-t. Menyra per te parandaluar traceroute:

* Konfigurojme firewall ne menyre qe te thyej paketat qe dergohen ICMP Time to Live Exceeded”

* Konfiguroni firewall ne menyre qe te lejoj vetem ato paketa UDP hyrese te cilat vijn nga porta 53 (DNS) dhe nga IP specifike.

Wireless – Mbrojtja, nderthurje DMZ-Firewall-VPN.

Nje DMZ apo nje demilitarized zone,  eshte nje koncept mbrojtjeje. Ajo percakton ku te vendosim serverat qe aksesojne internetin. Kjo lejon perdoruesit e internetit te ken akses ne informacionin e serverit por neqoftese nje person arrin te futet ne server ai nuk mund ta perdor kompjuterin e hackeruar per te kerkuar pjesen tj e network-ut. Pra DMZ eshte nje network i vogel,  i ndar nga pjesa tj e networkut te brendshem dhe i ndar nga interneti.
Nje Firewall shpesh mbron DMZ nga sulme te jashtme.  Sidoqofte nje server do te komunikoj me boten e jashtme,  por firewall duhet konfiguruar ne menyre te tille qe te mos pranoj disa lloje lidhjes.  DMZ shpesh konfigurohet ne menyre te till qe te jete i aksesueshem lehte nga perdoruesit e network-ut te brendshem.
Kjo mund te realizohet me ndihmen e nje firewall ne formen e hardware apo software. Nje hardware i till mund te kete tre porta. Nje per lidhjen e internetit, nje per lidhjen lokale te network-ut dhe nje per DMZ (nje hub apo switch mund te lidhet qe te lejoj servera te ndryshem.
E njejta porte mund te perdoret per te lidhur access pointin e wireless. Duke ber kete mund te vendosim WLAN ne nje zone gjysme-tbesuar qe pritet te sulmohet. Duke ecur me mentalitetin qe WLAN juaj eshte mposhtur, ju mund te caktoni ke dhe cfare te lejoni ne networkun tuaj te brendshem.
Gjithsesi kjo mund tju ndihmoj per te mbrojtur informacione te brendshme, por nuk mund te mbroj perdoruesit e rrjetit Wireless.
DMZ eshte thjesht nje pjese e planit tuaj per mbrojtjen e WLAN.
Eshte e nevojshme te perdorim firewall per te ndar rrezikun e userave te jashtem.
Nje firewall i mir konfiguruar mund te eleminoj shum rreziqe.
Eshte e rendesishme qe rregullat e firewall te percaktohen ne menyre korrekte.Keshillohet te perdorni nje hardware firewall te dedikuar sepse mund ta konfiguruar per te bllokuar gjithcka.
Nje element tjeter i rendesishem per te ngritur planin tone te sigurise eshte dhe VPN.

VPN – Virtual Private Networks. eshte nje network virtual dhe i enkriptuar i ndertuar ne maje te nje network-u ekzistues.
Gjithashtu njihet dhe si tunneling sepse datat e enkriptuara mbahen brenda nje lidhje normale jo te enkriptuar.
Nje VPN mban rrjetin tone te brendshem te sigurte nga userat e jashtem.Rrjeti wireless mbetet i disponueshem, por nje tunel VPN krijohet per te lidhur klientin remote me rrjetin e brendshem.
I trajtojm bashke firewall dhe vpn per arsyjen qe mund te bashkepunojn mjaft mir me njera tjetren ne planin tone te sigurise.

Nje firewall mund te bllokoj te gjitha kerkesat qe vijne nga jashte ne perjashtim te klienteve VPN te autorizuar.
Sic thame tek temat e kaluara nje person mund te mbledhi te dhena te mjaftueshme per te crackuar WEP, por prezenca e VPN ja ben shum te veshtire punen. Atij i duhet te kaloi dhe enkriptimin e VPN, probabiliteti qe te bej nje gje te till eshte mjaft i vogel. Pervec ketij avantazhi te madh qe na ofron ky bashkpunim kemi dhe nje ane negative.
Datat qe te kalojne duhet enkriptuar njeher kalon nga WEP me pas nga VPN kshuqe koha per transmetimin e te dhenave eshte me e madhe… Gjithashtu klienteve i duhet dhe software i instatuar qe te perdor VPN…

Gjithsesi eshte nje zgjedhje e mir per shtepi dhe per plane te bizneseve te vogla.  :)

Wireless – Mbrojtja Bazike – 2

Do vazhdojm me sigurine mbi rrjetat wireless…

WEP
Ateher sic tha dhe Arditi tek komentet WEP eshte e pasigurte…
Po, eshte shume e vertete, por e perfshiva ne liste sepse gjithsesi edhe se ka shume dobesi ka nje avantazh.Nje sulmues i rastit mund te bllokohet para WEP ne piken kur kerkon per nje objektiv te dobet.
Eshte e vertete qe versioni kurrent i wep eshte i crack-ueshem.Megjithate, shum njerez qe duan te futen ne rrjetin tuaj nuk mund te kene nerva apo njohurite e mjaftueshme per te thyer WEP. Apo jo?
Me fjale te tjera, duke aktivizuar nje mbrojtje te tille qe eshte minimalisht efektive, mund te eleminojme nje numer te konsiderueshem sulmuesish.
Ky rast eshte i ngjashem me kycin e nje shtepie, pra edhe se shtepie eshte e mbyllur mund te futemi brenda duke thyer xhamat e dritares :D. Edhe ne rastin e WEP nje sulmues i zoti mund te infiltrohet lehte
ne rrjetin tone, megjithate duke veshtiresuar pak punet nuk bejm keq 😉

Filtrimi i MAC adresave.
Cdo device ne nje rrjet Wireless ka nje adres unike qe quhet MAC adrese.
Mac Adresen mund ta shikoni duke shkuar tek cmd me komanden ipconfig /all dhe Physical Address eshte MAC e device-t tuaj.
Ne linux : tek shelli ekzekutoni komanden ifconfing -a dhe do te gjendet tek fusha ADDR.
Duke njohur mac adresat e cdo device qe do lejoni te marr pjese ne rrjetin tuaj mund te vendosim filtera per ato mac te cilat duam te ken akses.
Edhe ne kete rast ekziston mundesia e sniffing dhe te marrim mac adresen e nje device qe ka akses dhe te fitojm akses, por gjithsesi bllokojm disa raste te mira.

Rrjeza e sinjalit
Kur aktivizohet nje wireless ajo krijon sinjale radio frekuenc me nje rreze te caktuar.Keto sinjale perdoren per te transmetuar datat nga access point-i ne nje device qe ndodhet ne rrjet dhe anasjelltas.
Rrezja e zones me sinjal mund te jete shum e madhe bazuar nga vendodhja dhe forca e njesis baze. Keto zona shpesh here jane me te medha sesa reklamohen ne dokumentacionet e WLAN.
Edhe se kjo zone ka nje limit te caktuar, sinjali mund te amplifikohet me toolse te ndryshme qe mund te perdore sulmuesi dhe te arrij ne zgjerim te sinjalit.
Me fjale te tjera ju nuk jeni ne gjendje te dilni ne dritare dhe te shikoni kush po ju vjedh 😀 sepse sulmuesi mund te jete goxha larg.
Per fat te mir kemi disa menyra per te kontrolluar rrjedhjen e sinjalit.Si fillim poziciononi access pointin ne qender te ambjentit qe do te mbani nen rrjet.Gjithashtu antena e wireless ka nje kontroll panel ku mund
te percaktojme fuqine e sinjalit, drejtimin e gjera te tilla. Pra eshte shum e mir per te shmangur interferencat dhe mos aksesohet nga persona te pa deshiruar.Edhe se mund te shmangim disa raste perseri ekziston rreziku.
Por duke nderthurur keto metoda mund te arrim nje far sigurie…

Ne vazhdim do te trajtojme:
DMZ, Firewall, VPN, RADIUS etj… 😉

Kalofshit mir :)

Wireless – Mbrojtja Bazike

Ne kete paper do te trajtoj menyrat kryesore te mbrojtjes te rrjetit wireless.
Do te studiojme sigurine ne wireless IEEE 802.11
C’eshte IEEE 802.11 ??
Jane standarte per wireless per te zgjeruar opsionet fizike, per me teper siguri, cilesi ne transmetim (QoS).
Te dhenat e transmetuar nga nje rrjet wireless mund te kapen dhe te shikohen nga nje sulmues.
Eshte e rendesishme qe mbrojtja e wireless te ndertohet brenda rrjetit wireless.
Kemi tre kategori mbrojtje per WLAN :
1. Access control
2. Wired equivalent privacy (WEP)
3. Authentication

Access Control
Qellimi eshte qe te ruaj disponibilitetin e informacionit. Ajo limiton pranimin e userave ne Access Point.
Access Point-erat jane transmetuesit kryesore te marrjes dhe dhenies se radio sinjalit.
Limitimi i pranimit te userave ne AP mund te behet duke filtruar MAC Address dhe duke pranuar te bejn lidhjen me AP vetem ato MAC adresa qe jemi ne dijeni.
Ja nje foto per ta kuptuar me mire.

Kontrolli i Aksesit

Access control ashtu si dhe pjeset e tjera ne vazhdim do te trajtohen ne menyre me te zgjeruar. :)

Wired equivalent privacy (WEP)
* Ben te mundur qe vetem pjesa e autorizuar te vezhgohet nga guest.
* Perdoret ne IEEE 802.11 per enkriptimin e informacionit.
Kriptografia WEP:    Shkenca e transformimit te informacionit ne menyre qe ajo te jete e sigurt per tu transmetuar.
Encryption:                Transformimi i informacionit nga tekst ne tekst i shifruar.
Decryption:                Transformimi i informacionit nga tekst i shifruar ne tekst.

Enkryptimi

Authentication
Procesi ne te cilin AP pranon apo kthen mbrapsh nje lidhje wireless…

Ne vazhdim cdo gje do te merret me shtruar…

Testim per Vulnerabilitete ne nje Windows Vista te axhornuar

Pershendetje, Me kishte marre malli per Windows Vista :'(
Heh, po bej shaka , mu desh ti rregulloja nje mikut tim te vjeter gabime ne hardware (hdd) keshtu qe mbasi perfundova thash, te bejm ca testime te vogla.
Per motive sigurie, nuk do te permendet ne kete teme aplikacioni qe perdora per testing dhe as vulnerabilitetet e zbuluara.
Gjithsesi behet fjale per nje windows vista home premium i axhornuar deri ne palc, me Kaspersky Internet Security 2010 te instaluar dhe fully updated.
Per skanim perdora nje aplikacion aspak profesional, (per te mos thene shume amatoresk) i cili skanoi disa sherbime dhe aplikacione te instaluara.
DUHET THENE SE:
Ky sistem , eshte i mbajtur shume paster, ne te instalohen vetem programe qe duhen dhe nuk dyzohen funksione (dmth nuk instalohen 2 programe qe kane te njejtin funksion), ka te instaluar dhe program per mirembajtjen e regjistrave, cache, faileve temporane, draiverave , com interface etj etj etj…
Do me thoni e ke kapur me windows?, po ç’fare te ka bere? Jojo, gaboni , sikur ta kisha kapur me windows do te testoja per vulnerabilitete buffer overflow (stack overflow, heap overflow) do te shihja per BOF exploits, nderkohe qe siç e thashe skanimi qe i bera ishte shume elementar, kjo edhe pse shkova per te rregulluar nje kompiuter dhe jo per te bere nje auditing te nje sistemi operativ.

REZULTATI

Po permend vetem 3 vulnerabilitete dhe IMPAKTIN qe ato kishin ne sistem.
E perbashketa ishte qe te 3-ja ishin te explotueshme nga jashte (remote exploits), 2 ishin te nje niveli HIGHLY CRITICAL kurse 1 ishte ne nivel te moderuar.
IMPAKTI:
DoS (Denial of Service)  jo i bandwithit por konsumim i memorjes qe mund te shkaktonte krashin e nje aplikacioni gjithashtu te gjith sistemit.
System Access – Lejon aksesin e sistemit duke egzekutuar kod nga nje akont lokal i sistemit
Bypass i Sigurise – Mundesi per te anashkaluar sisteme mbrojtese si Firewalle, Antiviruse, etj
Te gjitha vulnerabilitetet jane te konfirmuara dhe te provuara, secila ka CVE-n e saj edhe pse sistemi eshte UPDATED.

Perfundim

Kliko dhe SHIKO me syte e tu ne GOOGLE