0×08 – CVE-2013-5216 CapaSystems Performance Guard Path Traversal Vulnerability

Application Performance Guard
Vendor CapaSystems
Link http://www.capasystems.com/it-performance-monitorin

Discovered by Kerem Kocaer <kerem.kocaer(at)gmail(dot)com>

Problem
——-
Path traversal vulnerability in the “download logs” section allows remote attackers to read
arbitrary files by intercepting and modifying the file path in an HTTP request to “uploadreader.jsp”.

The vulnerability is confirmed to exist in version 6.1.27. Other versions may also be vulnerable.

Exploit
——-
This issue can be exploited with a web browser and a proxy tool to intercept and modify parameters
sent to: http://[address]/logreader/uploadreader.jsp

Fix

The vendor has reported fixing the problem in version 6.2.102.
Bug Fix PG-8050 (http://capawiki.capasystems.com/display/pgdoc/PG+6.2.102)

Timeline
——–
2013-05-16 Provided details to CapaSystems
2013-06-07 Performance Guard version 6.2.102 released (with Bug fix PG-8050)

Reference
———
CVE Number: CVE-2013-5216

0×07 – Digiturk

0×03 numarali yazimda, Digiturk’un yurtdisi WebTV hizmetini Macintosh bilgisayar ile nasil izlenebilecegini, ve varolan bir guvenlik acigini kullanarak hesap paylasmanin, hatta bedava izlemenin nasil mumkun oldugunu anlatmistim. Bu seferki yazimda ise WebTV’yi degil, evlere kurulan Digiturk hizmetiyle ilgili bir guvenlik sorununu paylasacagim.

Baslamadan once yine belirtmek isterim ki, bu “acik” (guvenlik acigi olarak yorumlanmayabilir bu olay, ama benim kisisel gorusum acik oldugu yonunde), Digiturk’e bildirildikten kisa bir sure sonra duzeltilmistir.

Kompozisyonumuza baslayabiliriz.

Giris

Yazin Turkiye’deyken ev ahalisine ufak bir hediye olarak eve Digiturk taktirmaya karar verdim. Her sirket gibi Digiturk de uye olmak isteyen insanlari hic uzmuyor, sagolsunlar aramamim ertesi gunu gelip kurulumu tamamladilar, haftasonu maclarina bile yetistik. Turkiye’den donme vaktim yaklasinca, yurtdisindan fatura odemelerini nasil gerceklestirebilecegimi incelemeye basladim, ve www.digiturk.com.tr’deki “Online Islemler” sayfasini buldum. Buraya basinca telefon numaraniz ve sifrenizi girerek giris yapabiliyor, fatura odeyebiliyor, uye bilgilerinizi gorup degistirebiliyor, yeni paket satin alabiliyorsunuz, vs vs.. Su ana kadar gayet normal.

Gelisme

Uyelik sirasinda bana herhangi bir sifre verilmemisti ve elimde sadece bir uyelik numarasi vardi. Ben de “Sifremi sms’le sifirla” linkine tikladim ve soyle bir yazi cikti karsima:

“Sayin Uyemiz,
Kayitli cep telefonunuzdan DIGISIFRE SIFIRLA yazip 3555′e gondererek sifrenizi safirlayabilirsiniz.”

(buraya kadar guzel)

“Kayitli cep telefonunuz yoksa veya ilk defa giris yapiyorsaniz UYELIKNO DIGISIFRE SIFIRLA yazip 3555′e gondererek sifrenizi alabilirsiniz.”

Oups. Bunu okuyunca kendi kendime bir “eyvah” patlatip hemen denemeye basladim. Rastgele bir uyelik numarasi kullanarak 3555′e XXXXXXX DIGISIFRE SIFIRLA yazdim, ve soyle bir cevap geldi:

“Sn KOLUNSAG; DIGIWEB’e giriste kullanacaginiz DIGISIFRE’niz dijital kartinizin son 5 hanesi (XXXXX) olarak guncellenmistir.”

Sn KOLUNSAG kim (kendisinden ozur dilerim sifresiniz resetledigim icin)? Ben niye onun sifresini sifirlayabiliyorum? Ben niye bu yeni sifre ile onun hesabina girebiliyorum? Ben niye Sn KOLUNSAG’in adina soyadina telefonuna adresine, hangi pakete uye oldugu, faturasini ne zaman odedigi gibi bilgilere ulasabiliyorum?

“Neyse artik bu uye nosu herhalde sms’i gonderen telefon numarasi ile eslesmistir, baska uye sifresi alamam” diye dusunup bir kez daha denedim, ve..

“Sn ISIK; DIGIWEB’e giriste kullanacaginiz DIGISIFRE’niz dijital kartinizin son 5 hanesi (XXXXX) olarak guncellenmistir.”

Hmmm.. Bu olayi abartsak ne yapabiliriz? Toplu sms atip uyelerin sifrelerini resetleyen, yeni sifrelerle sistem giris yapip uye bilgilerini toplayan bir uygulama yazilabilir mesela. Ya da “hangi takimin en fazla Digiturk uyesi var” sorusuna cevap bulunabilir (uyelik bilgilerinde tuttugu takim da var). Hatta herkes “Mega Super Ultra Pahali Paket”e gecirilebilir. Ama bunlari yapmiyoruz, cunku suc islemek istemiyoruz. Fakat boyle durumlarda, bilgileri koruyamayan site sahibinin de ayni derece suclu sayilmasi gerektigi kanaatindeyim.

Sonuc

Muhtemelen uyelere ve musteri hizmetlerine kolaylik saglamak amaciyla yaratilmis bir sifre sifirlama hizmetinin nasil kotu amacli kullanilabileceginin ornegini goruyoruz burada. Sorunu cozmek oldukca basit. “UYENO DIGISIFRE SIFIRLA” seklinde bir hizmet sunulmamali, telefonu kayitli olanlar sadece “DIGISIFRE SIFIRLA” ile yeni sifre alabilmeli, telefonu kayitli olmayanlar da musteri hizmetlerini arayarak kaydini yaptirmali, ya da ilk uyelik formu doldurulurken yazilan telefon numarasinin kaydi Digiturk tarafindan otomatik yapilmali.

Nitekim Digiturk’un sitesinde “sifremi sms’le sifirla”ya tikladiginizda artik soyle yaziyor:

“… Kayitli cep telefonunuz yoksa veya ilk defa giris yapiyorsaniz 0212 xxx xx xx Musteri Hizmetlerimizden sifrenizi alabilirsiniz”.

“Acaba hala 3555′e UYENO DIGISIFRE SIFIRLA yazip sifre elde etmek mumkun mudur” diye merak etmiyor degilim ama… :)

Edit: Mumkun olmadigi, “Sn. XXX, bu telefon uyeliginize kayitli degil. Bu telefonu kayit ettirmek için XXX’ten Musteri Hizmetlerini arayiniz” seklinde cevap geldigi yonunde bilgi geldi. Bunu da ekleyelim.

0×06 – NetWin Surgemail XSS

Application    NetWin Surgemail 4.3e
Vendor         NetWin – http://netwinsite.com

Discovered by  Kerem Kocaer <kerem.kocaer@bitsec.com>

Problem
——-
Cross-site scripting (XSS) vulnerability in the Surgemail webmail login page
(/surgemail) allows remote attackers to inject arbitrary web script or HTML.

Input passed to the “username_ex” parameter is not properly sanitised before
being returned to the user, therefore enabling the execution of arbitrary
script code in a user’s browser session, which can lead to cookie theft and
session hijacking.

The vulnerability is confirmed to exist in version 4.3e (latest version at
the date of vulnerability discovery). Previous versions may also be vulnerable.

Exploit
——-
http://[address]/surgeweb?username_ex=”/><scri<script>alert(document.cookie);</script><input type=”hidden
(tested on Firefox)

Fix

The vendor has reported fixing the problem in version 4.3g.

Timeline
——–
2010-05-13 Notified NetWin (ChrisP.)
2010-05-13 Received response from NetWin
2010-05-13 Provided details to NetWin
2010-05-26 Surgemail patched

Reference
———
CVE Number: CVE-2010-3201

0×05 – GS 1:0 FB

Ezeli rakipler, ebedi dostlar… Galatasaray – Fenerbahce rekabetini ozetlemenin en tatli yolu bu olsa gerek. Ben de bir Galatasarayli olarak firsat buldukca Fenerbahce ile ugrasmayi eglenmeyi seviyorum, ipin ucunu kacirmadan. Zira ipin ucunu kacirinca neler oldugunu goruyoruz: kufur, kavga, sporu spor olmaktan cikaran sahneler… Bu yazida, “tatli rekabet”imizin guzel bir ornegini okuyabilirsiniz.

Daha onceki tum yazilarimdaki guvenlik aciklarinda yaptigim gibi, bu sefer de bu yaziyi yazmadan once gerekli kisilere haber verdim ve acigin kapatilmasini bekledim. Hatta acigin kapatilmasina yardim ettim diyebilirim. Artik sorun kalmadigina gore de yazmakta bir sakinca gormuyorum.

Isvec Fenerbahceliler Dernegi

Isvec’te, Stockholm temelli bir FB dernegi bulunmakta. Web siteleri uzerinden mac skorlari, yorumlar, duyurular, vs yazarak uyelerine ulasiyorlar. Bu sitede biraz dolasirken “Hangi CMS sistemini kullaniyorlar acaba” diye merak ettim ve ana sayfanin kaynak koduna bir goz attim.  Bu kodda asagidaki gibi linkler gormek mumkun:

http://fenerbahce1907.se/admin

/admin sayfasina bir goz atinca, “CuteNews” isimli CMS (content management system, WordPress, Joomla gibi)  sisteminin kullanildigi,  1.3.1 versiyonunun kurulu oldugunu ogreniyoruz.

Guvenlik acigi

Google’da yapacagimiz basit bir “CuteNews v1.3.1″ aramasi ise karsimiza hemen su adresi cikariyor: http://www.waraxe.us/advisory-60.html

Burada belirtildigi gibi, CuteNews 1.4.6 versiyonu oncesinde onemli bir guvenlik acigi bulunmakta, ve bu acik sayesinde kritik bilgiler (kullanici adi, sifre gibi) elde edilebilmektedir. Yukaridaki adreste detayli bicimde acik anlatildigi icin tekrarlamak istemiyorum, direkt “saldiri” kismina gecelim..

Bu acigi kullanmak icin herhangi bir arac kullanmaya gerek kalmasa da, isimizi kolaylastirmak icin, yukarida sayfada linki verilen araclari kullanabiliriz. http://www.waraxe.us/tools/ adresinden indireceginiz cuteuser ve cutemd5 php scriptlerini, hafif ayarlar yaptiktan sonra (dosyanin icindeki adresleri degistirmek gibi), php calistiran bir web server’a upload ediyoruz, ve sirayla calistiriyoruz.

cuteuser.php sayesinde kullanici adini ogreniyoruz. Bu biraz zaman alabilir, cunku her bir harf icin bircok request yollaniyor web sayfasina, o yuzden isin icine biraz da “tahmin” katarak bu sureyi kisaltabiliriz. Ornegin ben calistirdigimda “fenerb” harflerini cikardiginda zaten kullanici adinin “fenerbahce” oldugunu anlamistim. Kendim manual olarak web sayfasina 1-2 request yollayip bunu kontrol edip emin olunca (‘fenerbahce’ ile bitmeyebilirdi kullanici adi, ‘fenerbahce1907′ ya da baska bir sey olabilirdi mesela) da scripti durdurdum.

Sirada parola var, bunun icin de cutemd5.php scriptini kullaniyoruz. Bu script size parolanin kendisini degil, md5 hash’ini verecektir. Bunu elde edince karsinizda iki secenek var. Ya rainbow tables’lar yardimiyla bu hash’i kirmayi deneyebilirsiniz (yazimizin konusu disinda), ya da CuteNews’a parolayi bilmeden sadece md5 hash’i ile login olabilirsiniz. Ikincisi daha zahmetsiz oldugu icin tabii ki onu sececegiz.

Sut…

Tek yapmamiz gereken, Firefox ve bir cookie editoru ile (Cookie Editor Firefox eklentisi olabilir mesela), fenerbahce1907.se domain’ine ait iki tane cookie yaratmak:

username=[buldugunuz kullanici adi];
md5_password=[buldugunuz md5];

… ve gol

Bu cookie’leri elde ettigim kullanici adi ve hash ile yaratip, http://fenerbahce1907.se/admin/ sayfasina girdigim zaman karsima su ekran cikti:

fenerbahce1907.se Admin sayfasi

Admin kullanici olarak (“fenerbahce” kullanicisi yani), resimden de anlasilacagi uzere, haber eklemek, kullanici eklemek, icerigi bosaltmak dahil her turlu islemi yapmak mumkun.

Bu asamada bir Galatasarayli olarak aklima binbir turlu senaryo gelse de, (maalesef) hepsini bir kenara attim ve sitenin sorumlusuyla konusup problemi anlattim, nasil duzeltilecegi konusunda bilgi verdim. Sorumlu da birkac gun icinde CuteNews’i 1.4.6 versiyonuna upgrade etti ve acigi kapatmis oldu.

Bu maceradan bana geriye kalan tek sey de, durumu 1-1 yapacak Fenerli cikip cikmayacagi meraki oldu :)

PS: Gelecek yazimda, birkac milyon kullanicisi olan bir sitede buldugum kritik aciktan bahsedecegim.. ama once acigin kapatilmasi lazim..

0×04 – Penetration Testing

Iki hafta kadar once, Stockholm Kungliga Tekniska Högskolan (Royal Institute of Technology)’daki ICSS (Information and Communication Systems Security) yuksek lisans ogrencilerine yaptigim sunumu burada da paylasmak istiyorum.

Konumuz “penetration testing”. Nedir ne degildir? Niye yapilir? Nasil yapilir? sorularina kendi bakis acimdan yanit vermeye calistigim sunum suresince, guvenlik aciklariyla donatilmis bir makineyi (daha dogrusu yamalanmamis bir Windows XP’yi) gercek bir projede yapilmasi gerektigi gibi test ederek (sure kisitlamasindan dolayi cook cok basitlestirilmis olarak tabii ki), penetration testing adimlarini ornekledim.

Bu “demo” suresince yaptiklarim asagi yukari soyleydi:

  • 6.2. Active Information Gathering:
    • nmap ping scan ile networkteki hostlari bulmak
    • nmap OS detection ile saldiracagim XP makinesini belirlemek
    • nmap portscan ve service detection ile bu makinedeki acik portlari ve bu portlarda calisan servisleri belirlemek
    • acik olan portlardan bazilarina (80, 21, 25, ..) nc, telnet ile baglanip banner’lara bakmak.
  • 6.3. Vulnerability Scanning:
    • Nessus ile tarama, raporun incelenmesi
    • port 80′deki acigin incelenmesi, neohapsis’ten bilgi alinmasi
    • RPC aciginin tespit edilmesi, onceki nmap scan ile sentezlenmesi, acigin CVE numarasinin kaydedilmesi
  • 6.4. Penetration Testing:
    • CVE numarasi ile exploit bulunmasi
      • web’den (securityfocus, …)
      • Metasploit ile
    • Metasploit ile exploit’un kullanilmasi ve sistemin ele gecirilmesi
      • command shell elde edilmesi
      • VNC ile uzaktan yonetim elde edilmesi
      • meterpreter shell elde edilmesi
        • meterpreter ve cesitli ozelliklerinin tanitilmasi
    • Meterpreter kullanilarak diger kullanicilarin parola hashlerinin elde edilmesi
    • BackTrack uzerinde raibow tables’lar ile Admin kullanicinin sifresinin kirilmasi (privilege escalation)
    • “Maitain” ve “Clean Up” adimlari hakkinda ornekler.
  • 7. Social Engineering
    • Acrobat Reader’daki adobe_geticon acigindan faydalanarak zehirli bir PDF yaratmak ve social engineering ile birlestirip karsi sistemi ele gecirmek
  • 8. Wireless
    • Daha once blogumda bahsettigim Fon+Jasager teknigini kullanarak yapilabilecek Wireless saldirilarindan bahsetmek ve gostermek.

Sunumu indirmek icin tiklayin.

0×03 – Digiturk WebTV

321 milyon dolar… Digiturk’un, onumuzdeki 4 senenin SuperLig yayin hakki icin odeyecegi meblag. Biraz “fahis” bir fiyat gibi gozukse de, saglanacak gelir 321 milyon dolardan fazla oldugu surece sasirmanin, isyan etmenin, elestirmenin pek bir anlami yok.. Peki nedir bu gelir yollari? Digiturk kutulari ve uyelik paketleri ile reklam gelirleri tabii ki en onemlileri. Bunun yanisira, yurtdisinda yasayan futbol meraklilari icin “Digiturk WebTV” hizmeti de sunuluyor; bu sayede 30$ karsiliginda internetten LigTV ve baska turk kanallarini da izlemek mumkun. Benim gibi, kiralik yasadigi apartmana Digiturk uydusu taktirmanin imkansiz oldugu ulkelerde yasayanlar, ve JustinTV ya da benzeri beles izleme yollarina basvurmak istemeyenler icin bu cozum birebir.. Her ne kadar zaman zaman takilip insani sinir etse de, genel olarak faydali bir servis diyebilirim.

Neyse, Digiturk WebTV’yi (kisaca WebTV diyelim) bilmeyenler icin kisa bir giris paragrafindan sonra simdi asil konuya girebiliriz. Bu yazinin iki amaci var:

  1. WebTV’yi Windows disindaki bir isletim sisteminden (MacOS, Linux gibi) nasil izleyebildigimi gostermek.
  2. Yukaridakini gerceklestirmeye calisirken ortaya cikardigim, ve WebTV’yi bedava izlememi saglayan bir guvenlik acigini paylasmak.

Yazinin sonunda, bu iki amaca yonelik gelistirdigim basit bir Python scriptini de paylasacagim.

Bu yazida yazdiklarimin tamami, Digiturk WebTV’nin yurtdisina acik olan sitesi ve sistemi uzerinde denenmistir. Turkiye’den mac izlemek icin saglanan portalda ayni yontemlerin ise yarayip yaramayacagini bilemiyorum.

Bu yazimin amaci, insanlari IT guvenligi konusunda ornekler vererek bilinclendirmektir. “Digiturk rezalet, bilinciz” vs gibi bir iddiam yok, zira bu tarz aciklara her gun her yerde rastliyoruz. Ayrica Digiturk, bircok sirketin aksine, durumu ciddiye alip kisa bir surede acigi kapatmistir.

 

Windows bagimliligindan kurtulmak

Digiturkwebtv.com’daki Sikca Sorulan Sorular kismina gore sistem gereksinimleri: “İşletim sistemi:Windows 2000, XP,Vista,7. Tarayıcı: Internet Explorer 7.0 yada üzeri”.. Yani Linux ya da MacOS ile izlemek mumkun degil.. Aslinda yine ayni sayfada yazan “Yayın formatı Windows Media 9 formatında olup, Microsoft DRM (Digital Rights Management) sistemi ile güvenli olarak şifrelenmektedir.” ibaresine guvenecek olursak, bunun dogru olmasi lazim.. cunku DRM lisansi sadece Windows ile indirilip kullanilabiliyor. Ancak birazdan goreceginiz gibi, DRM kullanilmamakla birlikte, yayinlari Windows disindan izlemek de gayet mumkun. En azindan ben su anda Apple Macbook’um uzerinde VLC programi ile izleyebiliyorum.

Yapmamiz gereken, WebTV tarafindan stream edilen video’nun direkt linkini elde etmek. Bunu nasil yapacagimiz anlamak icin ise WatchTv2.aspx sayfasinin kaynak koduna goz atmak yeterli. Anasayfadan giris yaptiktan sonra “TV izle” linkine tiklayip WatchTV2.aspx sayfasina gelebilirsiniz. Bu sayfanin sag tarafinda, eger parasini odeyip paket satin almis bir uye iseniz, kanallarin listesi yer aliyor. Kaynak kodda bu bolume bakarsak, bir kanala tiklandigi zaman islemkutu fonksiyonunun bir parametre ile cagrildigini gorebiliriz. Ornegin LigTV icin:

<span  class="c_item" onclick=javascript:islemkutu('817142825')>
   <img src="images/kanal_isim/ligtv_logo.png"></img>
</span>

817142825 parametresi, LigTV kanalinin id’si. ShowTurk 817132544, ATV 817132536, vs…

islemkutu fonksiyonuna bakarsak:

function islemkutu(deger) {
            //http.open('get', 'generatelink.aspx?kanal=' + deger);
            http.open('post', 'adminchannel.aspx', true);
            http.onreadystatechange = cevapFonksiyonu;
            http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            //http.send(null);
            http.send('kanal=' + deger);
        }

Burada goruyoruz ki, adminchannel.aspx adresine bir POST request yollaniyor. Bu POST request’te ayrica istenilen kanalin id’si de “kanal=id” seklinde yollaniyor. Ornegin ShowTurk icin, “kanal=817132544″ request’ini yollayabiliriz. Bu request’e admin channel.aspx tarafindan gonderilen cevap ise, cevapFonskiyonu‘na besleniyor. cevapFonksiyonunun tek yaptigi da WatchTV2.aspx sayfasinda bulunan “gomulu” (embedded) Media Player ile cevapta gelen linki acmak.

Peki, biz kendimiz adminchannel.aspx‘e, izlemek istedigimiz kanalin id’sini iceren bir POST request yollasak, gelen cevabi da VLC gibi harici bir medya programinda acsak, WebTV’nin sayfasina bagimli kalmadan rahat rahat izlesek olmaz mi? Olur.

Bunu denemek icin telnet programini kullanabiliriz.
> telnet www.digiturkwebtv.com 80 komutuyla baglanti kurulduktan sonra,

POST /adminchannel.aspx HTTP/1.0
Content-type: application/x-www-form-urlencoded
Referer: http://www.digiturkwebtv.com/WatchTv2.aspx
Cookie: ASP.NET_SessionId=[cookie buraya]
Content-length: 15

kanal=817142825

seklinde bir POST request yollanabilir. Burada onemli olan, [cookie buraya] kismina, login olmus bir uyenin gecerli cookie degerini (eubwzv550ljwjk20bljccp55 gibi bir deger) yazmak…

Bu request yollandiktan sonra asagidaki gibi bir cevap gelecektir:

mms://a347.l7614612346.c76146.g.lm.akamaistream.net/D/347/76146/v0001/reflector:12346?auth=da_boaObmcJbXcRc1cjcadQazc5dnagbpd2-blk8sK-jy-FnlECpzsyEH-n2tWkamUp4q6n0q5pVoRoUk8mlpXt4nSn0t3j6mSp6r5

Bu MMS adresini VLC gibi bir programla acip sectiginiz kanali izleyebilirsiniz.

 

Daha basit bir yontem…

Kim ugrasacak telnetle cookie’yle diyorsaniz, bu yaziyi yazarken tesadufen kesfettigim bir baska yontemi de aktarayim. Sikca kullandigim pratik bir Firefox uzantisi olan Tamper Data sayesinde, zahmetsiz bir sekilde MMS adresine ulasmak mumkun. Oncelikle uzantiyi buradan yukleyip, Firefox’u restart edin. Daha sonra digiturwebtv.com’a girip uye girisi yapin. Kanallarin listelendigi sayfaya gelince, Firefox’un “Tools” menusunden “Tamper Data”yi secerek calistirin. Herhangi bir dugmeye basmaniza gerek yok. Simdi WebTV sayfasina donup, izlemek istediginiz kanala tiklayin. Tamper Data’ya donup, Method’u POST, URL’i “http://www.digiturkwebtv.com/adminchannel.aspx” olan satiri bulun (bastiginiz anda cikmasi lazim zaten). Sag tikayip “View Source”u secin.. Acilan kutuda MMS adresi yer alacaktir. Tek yaptigimiz, kanala tiklayarak yolladigimiz POST request’e gelen, ve normalde bize gizli olan cevabi, Tamper Data sayesinde goruntulemek.

 

Hesap paylasimi

Bu asamada akla gelen muzip soru: elde ettigimiz linki arkadaslarimizla paylasip ayni anda izleyebilir miyiz?

WebTV’nin buna karsi aldigi onlem, WatchTV2.aspx sayfasinin kaynak kodunda gorebilecegimiz CheckUser fonksiyonu. Bu fonksiyon, belli araliklarla checkuser.aspx sayfasina POST request gonderiyor. Boylece sunucu, request’in geldigi IP adresine bakip farkli IP’lerden giris yapilip yapilmadigini kontrol edebiliyor. Ancak CheckUser() tarayici tarafindan calistirilan bir script oldugundan, ve biz yukaridaki yontem sayesinde tarayici kullanmadan (ornegin VLC uzerinden) kanal izleyebildigimizden, bu yontem paylasimin onune gecemiyor.

Ote yandan, yaptigim denemeler sonucu, verilen MMS linkinin de IP’ye bagli oldugu kanaatine vardim. Asagida da paylastigim script’imi baska bir sunucu uzerinde calistirip, elde ettigim linki kendi bilgisayarimda calistirmayi denedigimde link gecersiz hatasi aldim. Dolayisiyla, bu anlattigim yontemle alinan adres, ayni evde bulunan, ayni IP ile internete cikan bilgisayar icin gecerli sadece.

Bu sinirlama tabii ki hesap paylasiminin onune gecemiyor, zira ben linki elde ettikten sonra tarayicimi kapatip VLC ile izlemeye devam ederken, baska bir yerde oturan (farkli IP adresiyle internete giren) bir arkadasim ayni hesap bilgileri ile login olup kendine link alip aynen izlemeye baslayabilir.

 

Sonuc?

Su ana kadar yaptiklarimizin sonuclarini soyle ozetleyebiliriz:

  1. WebTV sitesinde yazilanin aksine, DRM kullanilmiyor,
  2. WebTV sitesinde yazilanin aksine, yayinlari izlemek icin Windows isletim sistemi ve Media Player programi sart degil,
  3. Ayni anda birden fazla bilgisayar uzerinden WebTV izlemek mumkun.

Bitti mi? Bitmedi :)

 

Bedava Digiturk

Kendi bilgisayarimda (Macbook) mac izleyebilmek icin yukarida yazdiklarimi denerken bir guvenlik aciginin farkina vardim. Daha onceki yazimda (0×02) da yaptigim gibi, oncelikle Digiturk’e acigi bildirerek kapatilmasini bekledim. Surec soyle gerceklesti:

  • 28 mart 2010: Digiturk Web TV musteri hizmetlerine mail atip, durumu bildirip, IT departmanindan birinin benimle iletisime gecmesini istedim.
  • 29 mart 2010: Digiturk’te calisan tanidik bulup direkt kendisine mail attim.
  • 31 mart 2010: Digiturk’ten yetkililer benimle iletisime gecip acik hakkinda bilgi aldilar.
  • 1 nisan 2010: Acik kapatildi.

Hemen ilgilenip acigi bu kadar cabuk kapattiklari icin kendilerini kutluyorum. Daha onceki yazimda bahsi gecen Isvecli sirketin acigi kapatmasi 2 ay kadar surmustu.

Neyse kendilerine attigim mail’den bir kismini buraya aktariyorum:

“[...] sorun surada ki, bu POST request’ini yapmak ve serverdan gecerli MMS linki almak icin, paket satin almis olmak gerekmiyor, herhangi bir uyelik ile login olmak yeterli. Ornegin benim suresi gecmis olan hesabim [email adresim]. Bu hesapla login oldugumda WatchTv2.aspx sitesinde kanal listesini goremedigim icin normalde izleyememem lazim, ama kanallarin id’sini bildigim icin, login olduktan sonra adminchannel.aspx’e o id ile POST gonderip MMS linki alabiliyorum. [...]“

Acik bir “access control” eksikliginden ibaret: adminchannel.aspx, gelen request’in kim tarafindan gonderildigini kontrol etmeden cevap gonderiyor. Bu durumda, siteye kayit formunu kullanarak 2 dakikada uye olmus biri ile, ayda 30 dolar veren bir uye arasinda fark kalmiyor.

Bu acigi kapatmak icin, adminchannel.aspx kodunda, POST requesti yollayan kullanicinin uyelik tipinin (Spor paketi, Aile paketi, paketsiz) kontrol edilmesi ve ona gore cevap verilmesi yeterli.

Bu acigin kapatilmasi belescileri onluyor, ama demin anlattigim, bir kac bilgisayardan ayni anda izleme sorununu cozmuyor. Bu sorunu engellemek icin, adminchannel.aspx kodunda, gecerli bir linkin verildigi IP adresi kayit edilip, tekrar request geldigi taktirde bu IP ile karsilastirilip, farkli IP oldugu taktirde (bir sure?) link verilmeyebilinir. Bu yontem hesap paylasimini engelleyebilir ama baska sorunlari beraberinde getirecektir. Devre arasinda komsuya gidip mac izlemek isteyen kullanicinin bunu yapmaya hakki oldugu halde yapamamasi gibi… Aslinda yapilmasi gereken, streaming hizmeti veren cogu sirketin yaptigi gibi, DRM lisanslari kullanmak. Yillar once ilk acildiginda bu yolu kullanan WebTV, sonra neden vazgecip yeni sisteme gecis yapti bilemiyorum.

 

Script

Digiturk’e guvenlik acigina proof-of-concept gostermek amaciyla yazdigim python scripti, WebTV’ye login olup istedigim kanalin linkini ekranda gosteriyor. Detayli anlatma geregi duymuyorum, ama bir sorunuz olursa cevaplayabilirim. Script “mechanize” modulunu kullaniyor, dolayisiyla scripti calistirabilmek icin mechanize’i bu linkten indirip kurmaniz lazim. Scripti calistirmak icin:

> python digiturk.py kullaniciadi parola

yazmak yeterli. Guvenlik acigi kapatilmadan once, kullaniciadi ve parola olarak girdiginiz hesabin paket satin almis olmasina gerek yoktu, ancak artik bu duzeltilmis durumda. Yine de scripti kullanarak, gecerli hesabiniz ile linux veya macos altinda kolayca yayinlara ulasabilirsiniz.

Scriptte kanallarin id’leri “hard-coded” olarak yazilmistir. Bunlar Digiturk tarafindan degistirildigi taktirde, WebTV’ye normal yoldan login olup, kaynak koduna bakarak kanallarin yeni id’lerini bulabilir ve scripti kendiniz guncelleyebilirsiniz. Ayrica istediginiz kanallari ekleyip cikarabilirsiniz.

Scripti buradan indirebilirisiniz.

0×02 – “Gizli” guvenlik hatalari

Bazi programlama hatalari vardir ki, defalarca yazilmasina, dergilerde kitaplarda bloglarda uyarilmasina ragmen, hala ve hala yapanlar cikar. SQL Injection, Cross-Site Scripting (XSS) en bilinen aciklardan ikisi, ve hala (ufak olsun buyuk olsun) bircok web sitesinde rastlamak mumkun. Google Translate’te, Gmail’de bile bunlara rastlandigi gorulmustur. Neyse SQL Injection’i ve XSS’i bir kenara birakiyorum, bir baska basit programlama hatasi var ki, hala yapilmasi bence kanunen yasaklanmali, ya da Diyanet tarafindan gunah ilan edilmeli.

Bu “gunah”, aslinda bir “input validation” eksikligi ornegi. Uygulama icin kritik bilgilerin sayfalar arasinda gizli form ogesi (hidden form value) olarak gecirilmesinden bahsediyorum. Bu hataya asikar olmayanlar icin bir ornek vereyim. Diyelim uzun ugraslar sonucunda buyuk bir online alisveris sitesi kurdunuz. Kullanicilar (musteriler) sitede dolasip urunleri sepete atiyor, sonra da kasaya gidip odemeyi gerceklestiriyorlar. Simdi bu urunlerin fiyatlarinin bir veritabaninda tutulmasi, ve kullanici urun sayfasina geldiginde ya da kasaya vardiginda, fiyatlarin bu veritabanindan cekilmesi ve gosterilmesi mantikli, degil mi? Ya da en en kotu, fiyat bilgisi sunucu tarafinda kodun icinde yazili olur (hardcoded). Kesinlikle yapilmamasi gereken sey ise, fiyat bilgisini kullanici tarafindan (client-side) almaktir. Bu ‘client-side’ nasil olur? Urunun sepete eklendigi sayfada, ya da son satin alma (checkout) sayfasinda bulunan formda soyle bir input olur:

<input type=”hidden” name=”fiyat” value=”100″ />

Simdi bu input “hidden” yani gizli oldugu icin, kullanici sayfada “fiyat” diye bir kutucuk gormez, dolayisiyla da fiyatla oynamak aklina gelmez. Ama cin bir arkadasimiz cikar da sayfanin HTML koduna bakarsa o “gizli” input da arkadasimiza davetkar davetkar goz kirpar. Cin arkadas formu sunucuya yollamadan once o 100 degerini 1 diye degistirirse ne olur? 100 liraya satmaya calistigimiz urunun fiyati da 1 liraya duser. Tabii o  input degeri sunucu tarafindan ignore ediliyor olabilir, ama o zaman orada durmasinin bir anlami yok zaten…

Peki bu degeri nasil degistirebilir kullanici? O da gercekten cok basit, bircok yontemi var. Ornegin WebScarab gibi bir proxy kullanilip request’ler intercept edilebilir, ya da Tamper Data gibi bir Firefox eklentisiyle ayni islem yapilabilir.

Bu kadar basit bir hataya gunumuzde hala rastlamak mumkun mu? Cevabini daha Temmuz ayinda tesadufen yakaladigim bir siteyi ornek gostererek paylasmak istiyorum. Ama baslamadan once, acigi buldugumda ne yaptigimi ve acigin su anki durumunu soylemem lazim. Zaman cizelgesinde soyle anlatabiliriz:

  • 2009/07/21 – Guvenlik zaafini tespit ettim. Site sahibine mail attim.
  • 2009/07/27 – Site sahibinden cevap gelmeyince sitenin genel iletisim adresine mail attim.
  • 2009/07/29 – Site sahibinden, acik hakkinda detay isteyen bir mail geldi
  • 2009/08/13 (tatil donusu:)) – Acik hakkinda detayli bilgi site sahibine verildi
  • 2009/09/07 – Acigin hala var oldugunu gorunce kontrol amacli bir mail daha attim. Son uyari olarak gordugum bu maile cevap gelmedigi ve acik kapatilmadigi taktirde bir sure sonra baskalariyla paylasmayi dusunuyordum.
  • 2009/09/18 – Site sahibinden, acigin kapatildigina dair bilgi ve tesekkur maili geldi.

Sonucta herkes mutlu oldu, ben kendimi kahraman gibi hissettim 5 dakikaligina, adamcagiz da sitesinden para kazanmaya devam etti.

Simdi acik hakkinda biraz detaya inelim. Dedigim gibi acik artik kapatildi, dolayisiyla siteyi bulmaya calismayin.

Sitemiz Isvecli bir acik arttirma ile alisveris sitesi. Urunler acik arttirmaya sunuluyor, acik arttirma basladiginda X saniye geri sayim basliyor, bu surede bir uye teklif vererek (“bid” ederek) fiyati bir unite (1 kron, 5 kron, vs. acik arttirmaya gore) yukseltiyor. Her bir teklif sonrasinda sure (X saniye) yeniden basliyor. X saniye sonunda kimse arttirmazsa son teklif veren muzayedeyi kazaniyor. Sitenin ticaret sistemi ise bu “teklif”ler uzerine kurulu, yani muzayedede teklif verebilmek icin “teklif kredisi” (bids) satin almak gerekiyor. Ornegin 20 kredi 100 kron, 100 kredi 250 kron, 200 kredi 500 kron gibi.

Teklif satin almak icin ise her alisveris sitesinde oldugu gibi bir satin alma sayfasi hazirlanmis. Iste bu sayfaya goz attigimizda yukarida tarif ettigim guvenlik acigi goze carpiyor. Hatta birazdan goreceginiz gibi, siteyi hazirlayanlar gozumuze carpsin diye ugrasmislar adeta :) Satin alma sayfasindan bir parca kodu aynen kopyaliyorum:

<!-- Here you add the price, the format is 2.00, the divider must be a dot (.) -->
<input type="hidden" name="freeform_price_1" value="4.50" />
<!-- Here you add the VAT, it must be in percentage ie. 25.00 for 25% VAT -->
<input type="hidden" name="freeform_vat_1" value="25.00" />

Gordugunuz gibi burada “freeform_price_1″ ve “freeform_vat_1″ hidden fields’leri ile sirasiyla unite fiyati ve kdv yuzde degerleri gonderiliyor. Yani tekrar etmek gerekirse, urunun satis fiyatini belirleyen degerler kullanici tarafindan yollaniyor sunucuya. Bu durumda kullanici olarak o formda bulunan degerleri yani 4.50 ve 25.00′i 0.1 ve 1 yaparsak, urunu cok daha ucuza alabiliriz. Ayrica farkettiyseniz programcilar boyle bir hata yapmakla kalmamis, ayrica 2 adet yorum yazarak “su sekilde oynayarak fiyati degistirebilirsiniz” diye bize yardimci olmaya calismislar.

Acigin kullanilabilir durumda oldugunu gostermek amaciyla site sahibine 4 tane resim gondermistim. Ilk ikisinde normal satin alma sayfalari gozukuyor. Sonrakindekilerde ise benim oynadigim degerler ile nasil daha ucuza satin alabilecegim gozukuyor. Buyrun:

Normal - 100 tanesi 460 kron

Normal - 100 tanesi 460 kron


Normal - Odeme sayfasi

Normal - Odeme sayfasi

Hack - 1000 tanesi 10 kron

Hack - 1000 tanesi 10 kron

Hack - Odeme sayfasi

Hack - Odeme sayfasi

Onlem

Yazilim guvenliginin ana kurallarinda biri, kullanicidan gelen girdiye (input) hicbir zaman guvenmemektir. Kullanicidan gelen input program icerisinde isleme sokulmadan once mutlaka kontrol edilmelidir (input validation). Yukarida orneklenen, formlardan yani kullanici tarafindan gelen input’lar da, “gizli” olsalar bile, kontrol edilmelidir.

Ancak yukaridaki ornek hakkinda biraz dusunursek su sonuca variriz: fiyat, kdv ve bunun gibi uygulama sahibi tarafindan belirlenen degerlerin kullanici (client) tarafindan sunucuya (server) gonderilmesi gereksiz ve son derece tehlikelidir. Bu gibi degerler sunucu tarafinda, ornegin bir veritabanindan, saklanmali, kullaniciya bu kaynaktan sunulmalidir.

0×01 – Kablosuz olta ile balik avlamak

Yazimiza, yukaridaki metaforu aciklayarak baslamak istiyorum. Denklemdeki degiskenlerimiz ozetle soyle:

  • Kablosuz olta = Fon + Jasager + Laptop
  • Balik = Bilincsiz kullanici
  • Avlamak = Trafik dinleyerek bazi gizli bilgilere erismek

Kablosuz internet guvenligi konusuna merakli iseniz daha once KARMA’nin ismini duymussunuzdur. KARMA sayesinde, bilgisayarinizin kablosuz internet kartini yamalayarak, etrafindaki butun SSID sorgulamalarina cevap veren bir 802.11 Kablosuz Erisim Noktasi (Access Point, AP) yaratabilirsiniz. 2004’te ilk surumu cikarilan KARMA, daha sonra Metasploit’e katilarak Karmetasploit adini aldi. KARMA ve Karmetasploit hakkinda daha fazla bilgi vermeyecegim, ancak merakliysaniz http://trailofbits.wordpress.com/karma/ adresinden baslayarak biraz arastirmanizi tavsiye ederim.

Yazimizin basrolunde ise Jasager isimli bir ”uygulama” bulunuyor. Jasager’i kisaca Fon uzerine kurulan KARMA olarak tanimlayabiliriz. Peki Fon nedir?

Karma (ve Karmetasploit)in laptop uzerinde kullanilmasini zorlastiran temel etken, sadece bazi wifi (kablosuz) kartlari desteklemesidir. Yani her laptop uzerine KARMA kurup hemen balik avlamaya baslayamazsiniz, once kartinizin desteklendigini kontrol etmeniz gerekir. Merak edenler icin, desteklenen kartilarin listesi burada bulunuyor: http://www.aircrack-ng.org/doku.php?id=compatibility_drivers&DokuWiki=7410e691710ab144fc10b0828415adf9

Fon (aslinda LaFonera), iste bu KARMA tarafindan desteklenen kartlardan birine (Atheros) sahip, hem de OpenWRT isimli acik kaynak platformuyla calisan, dolayisiyla uzerine cesitli araclarin kurulmasina izin veren, ufak ve sirin bir Kablosuz Erisim Noktasi. Bu ozelliklerinden oturu de amacimiza yonelik kullanilmak icin ideal. Fiyati da uygun (benim kullandigim 2100 modeli 20 euro + 10 euro kargo idi). https://www.fon.com/en/.

Jasager, iste bu iki parcayi birlestiren, yani Fon uzerine (OpenWrt uzerine) calisan bir KARMA uygulamasi. ”Jasager sadece Fon uzerinde mi calisir?” sorusuna su cevabi vermisler ”Atheros wifi kartina sahip diger Erisim Noktalari ile de muhtemelen calisir, ama Fon dusunulerek tasarlandi”. Dolayisiyla garantisi yok, ama deneyebilirsiniz :) Web sitesi de sudur: http://www.digininja.org/jasager/

Fon uzerine Jasager kurunca elimize ne gececek? Etrafindaki butun SSID sorgularina ”sahte” cevaplar veren, ve kendisine baglanilmasina izin veren bir Access Point (AP) olacak. Biz de bu AP’mize baglanan baliklari gorup, onlarla oynayabiliriz. Neler yapabilecegimize birazdan gelecegim. Ama oncelikle ”sahte cevap gondermek”le ne kastettigimi, kablosuz baglantinin nasil kuruldugunu bilmeyenler icin basit bir ornekle aciklamak istiyorum. Diyelim ki evinizde kendi kurdugunuz ”Ev” isimli bir kablosuz aginiz var. Aksam isten eve donup laptopunuzu actiginizda, bilgisayariniz ”Ev”e tekrar baglanmak isteyecek, ve ”Ev nerede?” diye soracaktir. Iste bu asamada, sizin evdeki gercek AP ”Ev benim” diyemeden benim kurdugum Fon+Jasager ”Ev benim”, ”Ev benim”, ”Ev benim” diye bagirmaya basladigi icin, bilgisayariniz gercek Ev’e degil, Fon+Jasager’e baglanacaktir. Isin guzelligi surada: Fon’u ”Ev agi sorgularina cevap ver” seklinde ayarlamam gerekmiyor, Fon otomatik olarak butun sorgulara, adi ne olursa olsun, ”ben X’im”, ”ben Y’yim” diye cevap veriyor. Boylece sadece bir kullaniciyi hedeflemeden, genel bir ”saldiri” yapmak mumkun. Jasager’in filtreleme secenekleri ile belli AP’leri hedef almak da mumkun, ama ondan bahsetmeyecegiz.

Baligimiz sahte AP’mize baglandiktan sonra ne olacak? Iste bu noktada Fon’a baglayacagimiz kendi laptopumuz devreye giriyor. Fon AP’miz ile laptopumuzu Ethernet portlarindan baglarsak, laptopumuzu wifi kartiyla ya da 3G ile internete baglarsak, laptopun internet erisimini de Fon’la patlastirirsak, ortaya sekil-2’de de gosterilen sahane bir manzara ortaya cikiyor. Balik her zamanki gibi internete eriseceginden kuskulanmayacak, bu sirada da butun trafik laptopumuz uzerinden gececektir. Biz de bu trafigi degisik araclar ile inceleyerek oldukca ilginc seyler yapabiliriz. En basitinden Wireshark ile paketleri inceleyebiliriz, ama daha eglenceli secenekler mevcut. Birkac ornek:

  • Etherwatch ile kullanicilarin dolastigi sitelerdeki resimleri simultane olarak biz de gorebiliriz,
  • Cain and Able ile parola avina cikabiliriz,
  • Hamster ve Ferret ikilisiyle oturum calabiliriz (session sidejacking),
  • Prank-o-Matic proxy’si sayesinde avimizin kafasini karistirabiliriz..

Simdi ise koyulalim ve yukarida bahsettigimiz duzenegi kuralim.

Onemli bir not: Fon’u paketinden ilk cikardiginizda sakin sakin sakin internete baglamayin aksi taktirde kendi firmware’ini otomatik update ediyor, ki bu da isimizi zorlastiriyor.

1- Fon uzerine Jasager kurulumu

Jasager artik firmware olarak kurulabiliniyor. Eski paket kurulumu yontemine gore cok daha basit oldugundan bu yontemi kullanmanizi tavsiye ederim.  Ben uzun uzun paket kurulumu yaptiktan sonra firmware versiyonunun da var oldugunu ogrendim, yazik oldu :) http://www.digininja.org/jasager/installation.php adresinde adim adim kurulum anlatiliyor, burada tekrar etme geregi duymuyorum. Benim kullandigim kurulum duzenegi asagida yukari soyleydi:

Fon uzerine Jasager kurulumu

Sekil 1 - Fon uzerine Jasager kurulumu

  1. Macbook’uma TFTP Server programini kurdum ve etkin duruma getirdim.
  2. Yukaridaki adresten redboot.pl dosyasini ve firmware’i indirip tftp klasorune actim
  3. Aletleri yukaridaki gibi bagladiktan sonra, macbook’uma 192.168.1.1 ip’sini atadim. Fon macbook’uma bagli ancak elektrige takili degil henuz.
  4. Macbook’umda redboot.pl’i calistirdim (./redboot.pl 192.168.1.254)
  5. Fon’u fise taktim ve biraz bekledim
  6. Redboot komut satiri geldi karsima. Sonrasinda yukaridaki adreste belirtilen adimlari izledim.
  7. Kurulum bittiginde Fon reboot olmakla ugrasirken ben de kendi sabitledigim ip’mi kaldirdim, ve reboot bittiginde Fon bana yeni bir IP verdi.
  8. 192.168.1.1:1471 adresine baglanip Jasager arayuzune ulastim.

Bir sorunla karsilasirsaniz asagiya yorum olarak yazin, yardim etmeye calisirim. Ama oncelikle Jasager’in forumlarinda dolasmanizi tavsiye ederim. Her turlu sorunun cozumu zaten orada mevcut.

2- Biraz ayar…

Fon’a root olarak baglanip sifre koyalim oncelikle.

  1. telnet –lroot 192.168.1.1 ile baglanin,
  2. passwd ile sifre koyun
  3. uci set wireless.wifi0.disabled=0
    uci commit wireless && wifi
    ile wifi’yi aktive edin,
  4. /etc/config/wireless dosyasini acip ”option ssid OpenWrt” satirinda OpenWrt’yi daha cazip bir isim ile degistirin. Mesela ”Open”, ”Hotspot”, ”Guest”, ”BelesInternet” gibi
  5. Fon’u reboot edin.

Fon tekrar uyandiginda 192.168.1.1:1471 ile arayuzune baglanmayi deneyin. Arayuzden Karma modu aktive edin. Daha sonra baska bir bilgisayar ile etraftaki sifresiz aglara baglanmaya deneyin bakalim Jasager’in loglarinda ne goreceksiniz :) Hersey olmasi gerektigi gibi calisirsa laptopunuz gercek aga degil Fon’unuza baglanmis olmasi lazim. Bundan sonra biraz kurcalayin Jasager’i, neler yapiliyor nasil calisiyor iyice inceleyin.

3- Interneti paylastirmak

Buraya kadar geldiyseniz, Fon’unuza sagdan soldan insanlarin baglandiklarini ve bunu Jasager arayuzunden gorebildiginizi varsayiyorum. Henuz bunu basaramadiysaniz yazinin devamini okumanizi tavsiye etmem.

Simdi yapacagimiz Fon’u laptop’umuz uzerinden internete baglamak. Boylece Fon’a baglanan baliklarimiz gayet normal internette takilirken biz de laptop araciligiyla trafigi izleyebilecegiz.

Bu duzenegi Windows Vista laptop ve Macbook laptop ile denedim. Her ikisinde de mantik ayni: makinenizi wifi ya da 3g ile internete baglayip Internet sharing ozelligini etkinlestireceksiniz. Bunu yapinca zaten interneti paylastiginiz ethernet portuna yeni bir IP atayacak Vista ya da MacOS. Siz de Fon’un bu atanan ip araliginda bir ip’si oldugunu ve trafigin laptop’unuza yollandigini kontrol edeceksiniz. Ornek olarak MacBook’u ele aliyorum.

Sekil 2 - Interneti paylastirmak

Sekil 2 - Interneti paylastirmak

Baglantilari kurduktan sonra Sharing ayarlarindan Internet Sharing’i aktive edince ethernet portuma otomatik olarak 192.168.2.1 atandigini gordum. Yapmam gereken Fon’u da 192.168.2.x araliginda bir adrese atamak ve default gateway ile nameserver (dns) ayarlarini 192.168.2.1’e getirmek. Fon hala 192.168.1.1de oldugu icin oncelikle kendi adresimi 192.168.1.194 yaptim, ssh ile baglanip Fon’a 192.168.2.133 adresini verdim. Daha sonra kendi adresimi 192.168.2.1’e geri getirip, Fon’a 192.168.2.133 adresinden tekrar ssh baglantisi kurdum, ve Fon’un DNS ve Gateway ayarlarini degistirdim:

  • /etc/resolv.conf -> nameserver 192.168.2.1
  • route add default gw 192.168.2.1

’ping www.ictsec.se’ dediginizde paketler gidip geliyorsa Fon artik internete baglanmaya ve kendisine baglanan baliklari internete ulastirmaya hazir demektir.

Simdi Macbook’tan 192.168.2.133:1471 adresinden Jasager’a ulasalim. Karma modunu aktive etmeden once, Macbook’un internete baglanmak icin kullandigi AP’yi Jasager’in blacklist’ine eklememiz gerekiyor ki kendi kendinizi avlamayin. Bunun icin ”Add SSIS to List” kutusuna kendi AP’nizin adini yazip butona tiklayin, ve Karma’yi da ON yapin.

Simdi baska bir bilgisayardan etraftaki herhangi bir sifresiz kablosuz aga baglanmayi deneyin. Baglandiktan sonra normal interneti kullanabilmeniz lazim, bu sirada da Jasager’in listesinde bu bilgisayarin bagli gozukmesi lazim.

4- Balikla oynamak

Bundan sonra ne yapacaginiz artik hayalgucunuze kalmis. Yukaridaki duzenekte Macbook, artik Fon’a baglanan herkesin trafigini izleyebilecek duruma geldi.  Macbook’a (ya da Vista’ya, ya da XP’ye, ya da Ubuntu’ya, vsvs) istediginiz programi kurarak eglenmenize bakin. Kullanilabilecek birkac programi yukarida ornek olarak vermistim.

Oltaya takilmamak

Son olarak konuya bir de ters taraftan yaklasalim. Yukarida anlatilan ”saldiri”lardan nasil korunabiliriz?

Oncelikle sunu tekrar belirtmek istiyorum ki, Fon Jasager Karma yontemi sadece sifresiz (unencrypted) kablosuz aglari hedef alabilmektedir. Eger bir kablosuz ag sifreli ise,  sifreleme yontemi ne olursa olsun (WEP,WPA, …), sahte AP’miz bunun yerine gecemeyecektir.

Bu durumda bu yazidan cikarilacak ders(ler) kendini belli ediyor.

  • Evde kendi kablosuz aginizi kurduysaniz mutlaka sifreleme uygulayin. Yazimizin konusu olmasa da ufak bir hatirlatma: WEP sakin kullanmayin, uzun ve kaliteli bir parolasi olan WPA2 kullanin.
  • Sagda solda gordugunuz sifresiz aglara acil durumlar disinda baglanmayin. Baglanacaksaniz kisisel bilgilerinizi gireceginiz islemler yapmamaya ozen gosterin, e-mail’inizi kontrol etmeyin, banka islemi yapmayin, vs.

Son olarak acikca belirtmek istiyorum ki bu yazi sadece ve sadece egitim amacli olarak yazilmistir. Bunlari uygulayip sonra millete saldirmayin, bilgi calmayin, kotu kotu seyler yapmayin, yaparsaniz beni suclamayin.