Alternatif TCP Tunelleme Araci – WebTunnel

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.

#perl wtc.pl 
Usage: wtc.pl [--daemon] [--pid file] [--cert file] [--key file] local remote tunnel [proxy]
local        Tunel kurulduktan sonra yerelde dinlemeye alinacak port(Tunelleme yapilacak diger uygulamalar bu portu kullanacak)
remote        Baglanilmak istenen asil sistem
tunnel        Tunel ucu olarak kullanilacak wts.pl scriptinin http/https yolu
proxy         Uygulamayi Proxy uzerinden kullanmak icin Proxy adresi

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

[email protected]:~$ 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

[email protected]:~# 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.

This entry was posted in Content Filtering, Hayat, Network Security, Privacy, Security Tools and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

19 − 7 =