Bilginin Adresi Ana Sayfa
Forum Anasayfası Forum Anasayfası > Bilgisayar Güvenliði / Computer Security > Güvenlik / Security Makaleleri
  Aktif Konular Aktif Konular RSS - Alternatif TCP Tunelleme Araci – WebTunnel
  SSS SSS  Forumu Ara   Events   Kayıt Ol Kayıt Ol  GiriÅŸ GiriÅŸ

Alternatif TCP Tunelleme Araci – WebTunnel

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
megabros Açılır Kutu Gör
Security Professional
Security Professional
Simge

Kayıt Tarihi: 08-06-2009
Konum: Turkey
Status: Aktif DeÄŸil
Points: 752
Mesaj Seçenekleri Mesaj Seçenekleri   Thanks (0) Thanks(0)   Alıntı megabros Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Alternatif TCP Tunelleme Araci – WebTunnel
    Gönderim Zamanı: 23-08-2009 Saat 09:53

Sitenin takipcileri bilirler TCP/IP iletisiminde tunelleme yontemleri ozel ilgi alanima girer. Bugune kadar cesitli ortamlarda onlarca yontem/arac kullanarak tunelleme yaptim. Ve rahatlikla soyleyebilirim ki en iyi Firewall, en iyi IPS vs sistemini de kullansaniz bir sekilde onarl bypass edilebilir.

Tunelleme yontemlerinden sýk kullanilanlarini sayacak olursak;

ICMP Tunelleme -Artik disariya icmp paketleri kapali oldugu icin cok ise yaramiyor DNS Port tunelleme – Disariya dns portu aciksa UDP/TCP 53 uzerinden tunelleme. Ayni zamanda OpenVPN icin de kullanilabilir.

DNS Protokol Tunelleme – Klasik dns sorgulari kullanarak yerel agdaki dns sunucu uzerinden Firewall/IPS Atlatma

HTTP In Smtp tunelleme – HTTP isteklerini local mail sunucu uzerinden gondderme. Bu yontem de sadece local erisimi olanlar icin saglam bir bypass yontemi

Son olarak da

HTTP/HTTPS Tunelleme - Cesitli varyasyonlari olmakla birlikte IPS’ler tarafindan yakalanmamak icin HTTP Degil HTTPS kullanmak ve klasik http protokolune uygun istekler gondermek gerekir. Yani disarda biryerde 80. portu acik bekleyen bir sunucu ve uzerinde kendi yazilimimiz olmasina gerek olmadan calisan web sunucu uzerine bir dosya yerlestirerek bu dosya araciligi ile tunelleme yapmak.

Bu yontemle calisan araclar cogunlukla TCP baglantilarini tunelleme icin kullaniliyor. UDP icin henuz saglikli calisan uygulama sayisi oldukca az/yok.

Tunelleme konusu gelince seminerlerimden birinde katilimci bir arkadasin soyledigi su soz aklima geliyor “Bir port acikca tum portlar aciktir, bir protokol aciksa tum protokoller aciktir”.

Bu yazinin konusunu da yeni cikan bir tunelleme araci olusturuyor. WebTunnel, tamamen http/https istekleri uzerinden calisan ve herhangi TCP protokolunu ilgili sayfa uzerinden tunellemeye yarayan bir arac. Buna benzer bir araci yakinlarda yayinlanmisti ama jsp versiyonu haric saglikli calismiyordu(reDuh)

 

WEbTunnel Calisma mantigi
 

Istemci—-Proxy/Firewall/IPS—-Internet

Istemci’nin sadece Proxy uzerinden HTTP ve HTTPS isteklerine izni var. Fakat istemci SSH ya da RDP gibi protokoller kullanmak istiyor.

Istemci Webtunnel’in bilesenlerinden birini disarda bir sunucuya yerlestiriyor. Bu bilesen perl ile yazilmis bir CGI uygulamasi. (Calismasi icin hedef sunucuda .pl uzantili dosyalarin cgi olarak calistirma izni olmasi gerekir.)

Sonrasinda istemci tarafinda WebTunnel’in istemci yazilimi ile sunucudaki bu  URL’i cagiriyor ve tunnel kurulmus oluyor. Bundan sonrasi kullanilacak diger uygulamalarin portunun tunelin actigi porta yonlendirilmesine kaliyor.

 
Uygulama
 

http://www.islandjohn.com/islandjohn.com/Home/Entries/2009/2/1_Webtunnel.html

adresinden webtunnel uygulamasi indirilir. Uygulamanin wts.pl  —>Sunucuya aktarilacak kisim wtc.pl —->istemcide kullanilacak kisim

olmak uzere iki bileseni vardir.  “wts.pl” web sunucuda cgi-bin dizinine yerlestirilir. Sonrasinda tunel kurulumu icin wtc.pl scripti calistirilmali.

 
Tunel’i aktif etmek icin kullandigim komut:
 
 
$ perl wtc.pl tcp://localhost:8080 tcp://vpn.lifeoverip.net:22 http://WEB_SUNUCU/cgi-bin/wts.pl

2009-02-23 10:42:57 webtunnel[9512]: wtc_tunnel_start() code=200 message=OK status=1 reason=Tunnel started C

2009-02-23 10:43:38 webtunnel[9512]: wtc_tunnel_stop() code=200 message=OK status=1 reason=Tunnel stopped

Bu komutla localhost’un 8080 portunu uzaktaki wts.pl araciligi ile vpn.lifeoverip.net’in 22. portuna baglamis olduk. Kurulan tuneli kullanarak SSH baglantisi yapalim

huzeyfe@elmasekeri:~$ ssh localhost  -p 8080

The authenticity of host ‘[localhost]:8080 ([127.0.0.1]:8080)’ can’t be established. DSA key fingerprint is c2:c3:a8:6c:0b:ce:7c:59:7d:e3:38:6c:98:67:4a:46. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added ‘[localhost]:8080′ (DSA) to the list of known hosts. Password: Last login: Sun Feb 22 19:23:16 2009 from XYZ Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California.  All rights reserved.

$ last|head -1 huzeyfe          ttyp0    WEB_SUNUCU          Mon Feb 23 10:33   still logged in $

Gorulecegi gibi vpn.lifeoverip.net’e istemcinin ip adresinden degil web sunucunun ip adresinden baglanilmis oluyor.

 
Tunel Guvenligi
 

Tunel kurulurken bir sniffer araciligi ile gidip gelen veriler incelenirse asagidaki gibi cikti alinacaktir

root@elmasekeri:~# urlsnarf

urlsnarf: listening on eth0 [tcp port 80 or port 8080 or port 3128]

123.alibaba. – - [23/Feb/2009:10:56:06 +0200] “GET http://WEB_SUNUCU/cgi-bin/wts.pl?cmd=start&arg=tcp%3A%2F%2Fvpn.lifeoverip.net%3A22 HTTP/1.1″ – - “-” “webtunnel/0.0.3″

123.alibaba. – - [23/Feb/2009:10:56:07 +0200] “GET http://WEB_SUNUCU/cgi-bin/wts.pl?cmd=read HTTP/1.1″ – - “-” “webtunnel/0.0.3″

123.alibaba. – - [23/Feb/2009:10:56:07 +0200] “POST http://WEB_SUNUCU/cgi-bin/wts.pl?cmd=write HTTP/1.1″ – - “-” “webtunnel/0.0.3″

123.alibaba. – - [23/Feb/2009:10:56:07 +0200] “GET http://WEB_SUNUCU/cgi-bin/wts.pl?cmd=read HTTP/1.1″ – - “-” “webtunnel/0.0.3″

123.alibaba. – - [23/Feb/2009:10:56:07 +0200] “GET http://WEB_SUNUCU/cgi-bin/wts.pl?cmd=read HTTP/1.1″ – - “-” “webtunnel/0.0.3″

123.alibaba. – - [23/Feb/2009:10:56:07 +0200] “POST http://WEB_SUNUCU/cgi-bin/wts.pl?cmd=write HTTP/1.1″ – - “-” “webtunnel/0.0.3″

123.alibaba. – - [23/Feb/2009:10:56:08 +0200] “GET http://WEB_SUNUCU/cgi-bin/wts.pl?cmd=read HTTP/1.1″ – - “-” “webtunnel/0.0.3″

… POST detaylarina bakilirsa arada gidip gelen veriler(sifreler vs)okunabilir. Dolayisi ile tuneli guvenli kurabilmek icin https baglantisi kullanilmalidir.

$ perl wtc.pl tcp://localhost:8080 tcp://vpn.lifeoverip.net:22 https://WEB_SUNUCU/cgi-bin/wts.pl

gibi

ya da istemci tarafi sertifikalari kullanilarak daha guvenli bir baglanti kurulabilir.

Saygýlar..
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu Gör



Bu Sayfa 0.197 Saniyede Yüklendi.