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

Bashkojë apo ndajë fajllat .mp3

Me duhej nje program qe ma mundesonte ndarjen e fajllave mp3 dhe bashkimit te tyre, me duhehej te ishte shum praktik dhe i thjesht me disa kerkime te vogla ne boten opensource 😀 hasa ne keto programe/komanda shum praktike… thash ta ndaj dhe me ju…
Per ti bashkuar dy apo me shum fajlla .mp3 te duhet programi mp3wrap. Kurse per ti ndare dy fajlla mund ta perdoresh programin e ashtu quajtur mp3splt. Per ti instaluar keto dy programe, ne distron tim linuxMint qe vlen dhe per ubuntu mund te shtypesh ne terminal:

sudo apt-get install mp3wrap mp3splt

Tani mund ti bashkosh dy fajlla, te themi e kemi fajllin 1.mp3 dhe 2.mp3 duke shtypur:

mp3wrap merged.mp3 2.mp3 1.mp3

varesisht se cilin fajll e shkruajm separi ateher fajlli i bashkuar do filloj nga ai fajll, ne shembullin tone do filloj me 2.mp3 dhe do mbaroj me 1.mp3

Per ti ndar dy fajlla shkruaj:

mp3splt merged.mp3 0.0 1.2 3.4

kjo do ta ndaj fajllin merged.mp3 ne dy pjes:

prej 00:00 deri 01:02
nga 01:02 deri 03:03

pra xx:xx tregon minutat:sekondat

dhe per ma shum info per keto dy mini programe qe mua tani me ndihmuan mund  shtypni:

man mp3wrap apo mmp3wrap -h

ose

man mp3split apo mp3split -h