You are on page 1of 7

XSS Tunnelingi ve nasil calistigini anlamakicin oncelikle bir XSS kanalinin ne oldugunu ve bunun nasil yonetildigini anlamak gerekir.

XSS Kanali Nedir? Bir XSS kanali, iki sistem arasinda XSS atagi sayesinde kurulan interaktif bir haberlesme kanalidir. Teknik seviyede, bu komutlari toplayabilen, cevap gonderebilen ve domainler arasi konusabilen bir cesit AJAXdir. XSS Shell, kurban ve saldirgan arasinda XSS kanali kurmak icin kullanilan bir aractir. Boylece saldirgan komutlar gondererek kurbanin web tarayicisini kontrol edebilir. Bu iletisim cift yonludur.

XSS Shelli calistirmak icin saldirganin XSS Shellin JavaScriptini XSS atak yontemiyle enjetke etmesi gerekir. Daha sonra saldirgan kurbanin tarayicisini kontrol edebilir. Bu noktadan sonra saldirgan istekler gonderebilir, cevaplayabilir ve kurbanin tarayicisini kendi istekleri dogrultusunda yonlendirebilir. Ornek bir saldiri koduna bakalim;

XSS Shell Nasil Calisir?

XSS Shell 3 ana parcasi olan bir uygulamadir.

Ilk olarak, XSSin server tarafi, kurban ile saldirgan arasindaki XSS Shelli koordine eder. Bu server tarafli bir uygulamadir ve ASP ile IIS web serverine ihtiyac duyar. Depolama icin MS Access veritabani kullanir.

Vedat FETAH 1

Uygulamanin ikinci parti JavaScript ile yazilan istemci tarafli (client-side) olandir. Bu kurbanin internet tarayicisinda yuklenir ve kurbanla saldirgan arasinda saglanan komutlarin alimi ve isleminden sorumludur. Bu kod Firefox,IE6 ve IE7de test edilmistir.

XSS Shellin son parti ise yonetim arayuzudur. Saldirgan yeni komutlar gonderebilir ve kurbanin tarayicisindan bu arayuzle aninda cevaplar alabilir. Tekrardan bu bir ASPdir ve IISye ihtiyac duyar.

1. Saldirgan bir web sitesinde surekli olarak yansitilan XSS ataklariyla XSS SHell JavaScripti cagirarak enjekte eder.

2. Kurban onu yonlendiren bir linke tiklar ya da JavaScriptin oldugu siteye girer.

Vedat FETAH 2

3. Kurbanin tarayicisi XSS Shell serverine duzenli olarak istekler gondermeye baslar ve yeni komutlara bakar.

4. Kurbanin tarayicisi Cookie alma, belli bir JavaScript calistirma, keylogger verisi alma vs. gibi yeni bir kod aldiginda bu islenir ve sonuclar XSS Shelle doner.

5. Sladirgan kurbana yeni komutlar gonderebilir ve XSS Shell yonetim arayuzunden sonuclari gorebilir.

Ilgi Alanlari

- XSS Shell iletisimi es-merkez prensibini bypass etmek icin uzaktan JavaScript yuklemesine dayanir. - Ilk calistirmada, XSS Shell sayfayi tekrardan olusturur. Bu yuzden, kurban linki calistirinca XSS Shell XSS Shell sayfada kalmaya devam eder ve boylece saldirganin kurbanin tarayicisini kontrol etmesine izin verir. Kurban sayfaya girdigi anda (kurban baska bir siteden linki takip etse bile), kurbanin oturumu acilir ve tarayici saldirganin komutlarini izler. - Bazi XSS Shell komutlari sunlardir:

Cookie al (Get Cookie) O anki sayfayi al (Get Current Page) Belirli bir JavaScript calistir (Execute custom Javascript) Fare kayitlarini al (Get Mouse Log) Keylogger verisini al (Get Keylogger Data) Pano icerigini al (Get Clipboard) IP adres al (Get Internal IP Address (Firefox - JVM)) Ziyaret edilen linkleri al (Check visited links (CSS history hack)) Tarayiciyi cokert (Crash Browser)

- Acik kaynak kodludur ve port tarama gibi yeni komutlar yapmak icin oldukca kolaydir. - XSS Shell ozellikle kalici XSS aciklarinda tehlikelidir. Bu nedenle, saldirgan kolayca yuzlerce tarayiciyi etkileyip kontrol edebilir.

Neden Klasik XSS Saldirilarindan Daha Iyi?

Vedat FETAH 3

- Saldirgan birden fazla vurus yapabilir. Kurbanin tarayicisini kontrol ettikten sonra, o anki duruma ve gelen cevaplara gore saldirgan bir sonraki hamlesini dusunebilir. - Saldirganin IP Kisitlama ve temel NTLM yetki bazli ya da benzer kimlik dogrulamalari bypass etmesini saglar. - Saldirgan kasitli olarak alert(HACKED) kodunu binlerce kurbana gonderebilir ve gecici olarak bir XSS ile kurulmus botnet yapabilir.

XSS Tunelleme Nedir?

XSS Tunelleme, HTTP proxy destekleyen herhangi bir uygulamayi kullanmak icin bir XSS kanali araciligiyla HTTP trafik tunellemesidir.

XSS Tuneli Nedir?

XSS Tuneli, saldirganin sisteminde duran standart HTTP proxysidir. Bunu kullanmak icin ayarlanan herhangi bir arac, aktif XSS kanali araciligiyla XSS Shell server uzerinde trafigi tuneller. XSS Tuneli, HTTP cevaplarini ve XSS Shell isteklerini dogrulamak icin istekleri ve cevaplari net bir sekilde donusturur.

XSS Tuneli .NET dilinde yazilir ve bu yuzden calistirmak icin .NET Frameworke ihtiyac duyar. GPL lisansli acik kaynak kodlu bir uygulamadir.

Vedat FETAH 4

Neden XSS Kanali Uzerinden HTTP Trafigi Tunellenir?

Su senaryoyu dusunun;

Bir XSS acigi kullanildi ve sonunda admin oturumu alindi; ve bu IP kisitlama yapan admin sayfalariyla karsilasti. Birsey farketmez cunku XSS Shell bu kisitlamayi bypass eder. Fakat, sonra admin tarafinda bir Blind SQL Injection bulundu; iyi bilinir ki Blind SQL Injectionu manuel olarak yapip exploitlemek neredeyse imkansizdir.

Simdi bir Blind SQL Injectoru JavaScriptte yazmak ya da en cok sevilen bir SQL Injection aracini XSS Tuneli kullanarak ayarlamak ve onceki XSS kanallarini tunelleyip exploitlemek mumkundur.

Vedat FETAH 5

XSS Tunellemenin Faydalari

- HTTP proxysini destekleyen herhangi bir uygulamayi sanal olarak kullanma imkani saglar. - IP kisitlama yapan bolgelere karsi Nikto, SQL Injectors, HTTP brute-forcer gibi otomatiklestirilmis araclari kullanmak mumkundur. - XSS Tuneli kullanmak icin kendi yerel tarayicinizi ayarlamanizi saglar ve kendi tarayicinizdan kurbanin kimliklerini kullanarak web sitesine girmeyi saglar. Ayrica hicbir karmasik cookie / IP / kullanici tabanli kontrole girmez, - XSS saldiriliarinda sonuclari gostermek icin cok iyidir.

XSS Tuneli Nasil Calisir?

Vedat FETAH 6

1. XSS Tuneli belirli bir XSS Shelle baglanir ve o anki aktif tanimlayiciyi toplar. 2. Yerel HTTP istemcisi (tarayici, Nikto vs.) XSS Tuneline HTTP isteklerini gonderir. - XSS Tuneli HTTP isteklerini XSS Shellin anlayacagi sekilde donusturur ve isler. Sonra da bu istekleri XSS Shell Servera gonderir. - XSS Shell Server bu istekleri veritabanina kaydeder. (Butun bu istekler sadece XSS Tunnel tarafindan belirlenen bir kurban icin calisir. Bu kimlik XSS Tunelin panosunda gorulebilir.) 3. XSS Shell istemcisi (kurbanin tarayicisinda JavaScriptte bulunur) XSS Shell Server icin periyodik istekler uygular ve yeni komutlari kontrol eder.

Bu islem domainler arasi okumayi gerektirir. XSS Shell es-merkezli prensip kisitlamalarini bypass etmek icin uzak JavaScript yuklemesini kullanir. - Eger yeni komutlar varsa, bunlari yukler, isler ve XSS Shell servera cevaplari gonderir.(Bu basitce bir dogrulama kodu ya da bir sayfanin veya binary dosyasinin kaynak kodu olabilir.) 4. Yerel onbellekteki XSS Tunel, onceden gonderilen isteklere yapilan cevaplar icin XSS Shell Serveri kontrol eder. Eger bir cevap varsa, o bu cevabi gecerli bir HTTP cevabina donusturur ve istemci uygulamaya gonderir.

Varsayilan olarak, XSS Tunel JavaScript, CSS ve resim dosyalarini daha iyi bir performans icin onbellekler. Eger bir tarayiciyla XSS Tuneli kullaniliyorsa, bu gercekten gereklidir. Eger istnilirse, kaynak zaten onbelleklenen XSS Tunelinde yerel onbellekten alinabilir ve istemci uygulamaya gonderilebilir.

Onbellekleme devredisi birakilabilir ya da onbellek XSS Tunelinin arayuzunden yonetilebilir.

Saldiri Islemi

1. XSS Shell Serveri kurun, 2. XSS Shell Serveri kullanmak icin XSS Tuneli ayarlayin, 3. XSS atagi hazirlayin (acik bulunan bir siteye yukleyin ya da linki gonderin) 4. XSS Tunelini calistirin ve kurbani beklemeye baslayin, 5. XSS Tuneli kullanmak icin araci ya da tarayiciyi ayarlayin, 6. XSS Tunelde kurbani gordugunuzde, hedef domain icin tarayicinizi / aracinizi calistirin. XSS Shell ve XSS Tunelleri BURADAN indirebilirsiniz.. Kullanim Videosunu BURADAN Indirin..

Vedat FETAH 7

You might also like