19 Ocak 2009 Pazartesi

UltraSurf Proxy Analizi

Bazı IT yöneticileri UltraSurf Proxy programını, kurumsal bilgisayar ağlarında kullandıkları firewall veya local policyler ile engelleyemediklerini söylediler ve programı inceleyip çözüm önerilerimizi rica ettiler. Bizde programı inceledik.

Programı incelediğimizde gerçektende dahice hazırlanmış bir Proxy programı olduğunu gördük.

Program local 9666 portunda http/https Proxy kuruyor ve IE Proxy ayarlarinida 127.0.0.1:9666 olarak ayarlıyor, devamında internete https(443) portu üzerinden çıkış yapıyor.

Muhtemelen UltraSurf ile karsılaşmamış ve yazımızı okuyan bilişimcilerin aklına hemen birçok engelleme yöntemi gelmiş ve bunun neresi zor demişlerdir.

Muhtemelen ilk akıllarına gelen ilk iki engelleme yöntemi şunlardır.

1- XP Workstation’larda kısıtlı kullanıcılar 9666 portunu dahili XP firewall sayesinde açamayacaktır.
2- Bağlantı türünün https olduğundan dolayı, content tabanlı web filtre ile blok oluşturulamasa da programın çıkış yaptığı IP adresleri corporate firewall da engellenir.

Ancak üstteki metotlar ise yaramayacaktır. Çünkü:

Program çalışmaya başladığı anda XP firewall alarm penceresini takip ediyor ve ilgili port’u açtığında, Firewall’in alttaki resimde görülen ve çıkarması gereken uyarıyı gizliyor.


Aslında burada uyarı penceresini gizlemek ile firewall’in engellemesine bir engel oluşturmuyor tabi, amaç sadece kullanıcıyı korkutmamak. XP SP2 dahili firewall bu portu gerçekten engelliyor ancak localhostta değil. Localhostta engellememesinin sebebi socket’leri IPC (Inter Process Communication) icin kullanabilcek programlar ile uyumluluğu bozmamak için olduğunu düşünüyoruz. Bizde yazmakta olduğumuz firewall de varsayılan olarak port engellendiğinde localhost için engellemiyoruz. Bu durumun güvenlik riski olusturmadigini düşünüyoruz.

Nitekim UltraSurf 'ta 9666 portunu sadece localhost ta Internet Explorer ile iletişimde kullandığı için bu blok engeline takılmıyor.

Internet’e çıkmak için kullandığı 443 portuna gelecek olursak; bu port SSL’in http üzerinde kullanıldığı https portu, çok büyük white list’ler oluşturulmadığı surece engellenmesi mümkün değildir.

Bağlandığı hedef sunuculara gelirsek, bizim testlerimizde 1500’e yakin dinamik ip adreslerine sahip sunuculara bağlandığını gördük. Bu durum sunucuları blacklist etmemizi engelledi.

Programı lokalde hash tabanlı engellemekte mümkün olmamış nedeni ise programı kullananlar her seferinde programın hash değerini değiştirmişler. Zaten buda çok basit bir işlem.

Programı dahada derinlemesine analiz ettiğimizde, 443(https) portunu kullandığı halde aslında SSL bağlantısı kurmadığını sadece gerek port gerek network header larda SSL protokolünü taklit ettiğini gördük. Bizi en çok şaşırtan durum ise wireshark analiz programını dahi SSL bağlantısı olarak yanıltması oldu.

SSL olmasa da, SCSI IOCTL_STORAGE_QUERY_PROPERTY metodunu kullanarak aldığı HDD seri numarasından cryption key oluşturuyor ve veriyi bu anahtar ile şifreliyordu. Bu sayede her bilgisayarda oluşturduğu şifreleme ve network trafiği eşsiz oluyordu.

Programdaki kandırmaca sadece bununla sınırlı değildi. Programın kurduğu birçok https bağlantısından %90’i fake idi asıl bağlantıyı, çoğunluğu Taiwan üzerinde olan nmap’in Windows olarak bildirdiği sunucu, zombi veya gönüllü veya P2P node lardan aliyordu.

Bahsi geçen sunucular üzerinde fake http,ftp sunucular çalışıyormuş gibi gözüküyordu. Bize göre bunun nedeni ise ana firewall tarafından akıllı kural oluşturabilmenin güçleştirilmek istenmesidir.

Sonuç:

Programın hiç bir zararlı içermemesi, kullanıcı sayısı ve kullanıcı kitlesine bakarak üreticilerinin botnet ler kullandığı olasılığının zayıf olduğunu düşünüyoruz.

IP adreslerinin ülke bazında yoğunlaştığına ve programın gizlice olsada sunucu olarak çalışmamasını da göz önünde bulundurarak P2P sistemi üzerine kurulu sunucularda diyemiyoruz.

Adreslerin dinamik olusu ve üzerinde fake serverlar barındırma ihtimalide kiralık sunucular olmadığı anlamına geliyor.

Tahminimiz gönüllü (üniversite, dernek vs.) bir gruba ait bilgisayarlar sunucu olarak kullanılmıştır.

Windows XP ve Vista client ler üzerinde kurulduğunda bu programı hash imza kullanmadan sezgisel olarak tespit edip engelleyebilecek bir program yazdık ve bize başvuran IT yöneticilerine verdik. Sonuçtan çok memnun kaldılar. IT yöneticileri içerisinde bu program ile başı dertte olan varsa bize yazabilirler.

14 yorum:

civil engineer dedi ki...

Merhaba,

kaynak kodlarını istesem ? :)
mümkün değilse protect/pack uygulanmamış exe de kâfi :P

pentestlabs dedi ki...

SSL kullanmayip da taklit bir protokol kullandigini nasil anladiniz? Zira basliklara bakildiginda normal bir SSL baglantisi gibi gozukuyor ve bunu kullanarak network uzerinden engellemek icin Squid ile domain olmayan HTTPS bağlantılarını engelleyince Ultrasurf calismadigini test etmistim.

http://blog.lifeoverip.net/2008/07/23/ultrasurf-engelleme/

Adsız dedi ki...

Program ile başım belada, AD üzerinden toplu kurulum yapılabilecek şekilde programı bizimle paylaşabilirmisiniz?

Erkan Arnaudov dedi ki...

@pentestlabs
Kendilerine göre bir TCP protokolu yazmışlar ve sizin de dediğiniz gibi paket başlıklarında da SSLv3 field’lar kullanılmış ve port olarak ta; TCP 443(https) portunu kullanmışlar. Durum böyle olunca wireshark dahil bir çok yerde "https" gibi gözükmüş. Halbuki gercek "https" demek, http protokolunun SSL katmanı ile şifrelenmesi ve uç noktanın kimliğinin sertifika ile doğrulanması demektir.

Sonuç olarak; ultrasurf baglantisinda portun 443 olmasi ve paket headerlarının SSLV3'e ait olmasi dışında ne bir sertifika ne de SSL şifrelemesi var. Bu durum wireshark'a takılmıyor ancak SSL similatörümüze takılıyor.

Mail adresinize SSL similatörümüzü gönderdik, onu çalıştırıp ultrasurf eşliğinde herhangi bir http siteye bağlanın, örneğin; google.com. Göreceksiniz sniffer hiç bir SSL katmanli veri yakalamayacak çünkü böyle bir veri yok. Arkasından simulatörün çalişip çalışmadığını kontrol etmek icin https bir bağlantıya tıklayin örneğin; https://paypal.com. Sniffer'in verileri yakaladığını göreceksiniz yalnız dikkat edin burda yakalanan veri ultrasurf'un degil , IE'nin SSL sifrelemesi.

SSL similatörümüz sadece https değil; smtps,pops vs gibi tüm SSL katmanlı protokolleri analiz edebildiği gibi sadece tarayıcıları degil tüm SSL kullanan programları da analiz edebilir.

NOT: SSL similatörünü sadece sizler gibi it uzmanları ile paylaşıyoruz ve publik olmamasına özen gösteriyoruz.

NOT: Bilgisayarda AntiLogger yüklü ise, similatörü kullanıcıya uyarı vermeden direk engeller. Uyarı vermemesinin sebebi de, şimdiye kadar "ssl sniff" etme özelliğinin casus programlar dışında hiç bir legal programda kullanılmamasıdır. Bu yüzden similatörü calıştırmadan once AntiLogger'ı kapatmalısınız ya da özelliklerinden SSL korumasını iptal etmelisiniz.

Squid hakkinda bilgim yok ancak server tarafinda yasaklamak icin RFC 2818,2817,4346 lere bağlı kalarak alınacak fingerprintlerden bağlantının gerçek https olup olmadığı anlaşılabilir ama bukadar uğraş ultrasurf'un gercek SSL kullanması ile boşa gidebilir.

Web sitemizde belirtiyoruz ancak konu acılmışken tekrar belirtmek istedim;

Talep edildiği taktirde SSL Logger Simülasyon Test Programını, işleri gereği e-ticaret veya SSL gerektiren bilgi transferleri yapan firmaların IT Departmanları'na verilebilir. IT Departmanı olarak konu ile ilgileniyorsanız lütfen bizimle irtibata geçiniz.

@civil engineer
Ultrasurf engelleme programina epey istek oldu uzerinde son duzenlemeleri yapiyoruz 1-2 gun icerisinde sizler ile paylasacagiz ancak kaynak kod verilecegini zannetmiyorum. Free olacagi icin binary dosyalari protect edilmeyecektir buyuk ihtimalle.

@Adsız
Kurulum dosyasi MSI oldugu icin Active Directory uzerinden silent kurulum yapabileceksiniz.
WIN XP/VISTA destekleyecek.

civil engineer dedi ki...

Ultrasurf engelleme programi debug edilebilsin kafi :)

SSL simülatörünüzü sakıncası yoksa gönderirseniz sevinirim.

Teşekkürler.

Erkan Arnaudov dedi ki...

Zemana Anti-UltraSurf 1.0 Alpaha surumunu assagidaki linkten indirebilirsiniz.
http://download.zemana.com/Products/Anti-UltraSurf/Anti-UltraSurf_1.0.0.25.msi

UlraSurf programini modifie ederek yada baska bir yontem&arac ile Anti-UltraSurf'u bypass edebilir ve yontemi bizimle paylasirsaniz 10 kullanicili ve kutulu Small Business AntiLogger hediye.

Tabi bypass islemini admin hesabindan degil kisitli kullanaci hesabindan yapmalisiniz zaten programda bu sekilde dizayn edildi yoksa administrator "NET STOP ServiceName" seklinde servisi durdurulabilinir.

XP/VISTA hatta WIN7 destekliyor tabi daha alpha asamasinda. Beta asamasina gecince daha detayli bir blog yazacagim.

@civil engineer
Tamamen freeware bir program olacagi icin hicbir pack/protect yada anti-debug yok. Ancak win32 service oldugu icin debugger ile servis kurulup calistiktan sonra attach yontemi ile debug etmelisin.
SSL-Simulator icin mail ile ulasabilirseniz yardimci olacagim.

hhmercan dedi ki...

proğramı hangi siteden indirsem virüs proğramları truva atı bulup engelliyor ve siliyor . neden acaba ?

Oguz dedi ki...

Acaba kurulduktan sonra Programlar ve Program Ekle Kaldir'da bulunmayan bir halini de ekleyebilir misiniz? MSI editleme hakkinda pek bilgim olmadigi icin yapamadim.

Kullanicilarda local admin haklarinin kalmasi gerekiyor isleyisten dolayi, bu yuzden uninstall edememelerini istiyorum kolayca.

turgut dedi ki...

ben meb in verdiği internet hizmetini kullanıyorum. rapidshare den dowload yapamıyor Ultrasurf programını da çalıştırdığımda sorun değişmiyor. Bu sorunu nasıl çözebilirim Yardımcı olursanız sevinirim.

tayfun dedi ki...

BEN MEB DE BİLGİSAYAR ÖĞRETMENLİĞİ YAPIYORUM. ULTRASURF PROGRAMI LABARATUARLARDA BUYUK BİR PROBLEM OLUYOR. BUNU ENGELLEMEK İÇİN BU ANTİ ULTRASURF PROGRAMINI BENİMLE PAYLAŞABİLİRMİSİNİZ. TEŞEKKÜRLER

PowerTRK dedi ki...

Kurulu olduğu klasördeki Anti-UltraSurf.exe servis uygulamasının kendisi /install parametresi ile servis yüklenebilir ve bu şekilde kendi kurulumunuzu yapabilirsiniz.

Adsız dedi ki...

Öncelikle herkese merhaba,

Yazılan yorumlara ve programları inceledim.program bi çözüm olabilir ama kullanıcı bu programı istediği gibi sonlandırabiliyor veya kaldırabiliyor olması bizim için bi dezavantaj oldu..

ben bu konuya ufak bi çözüm buldum paylaşmak istedim.
-regedit
HKEY_CURRENT_USER
SOFTWARE
MICROSOFT
WINDOWS
INTERNET SETTINGS

bu girdiye sağ tıklayın izinleri kaldırın bütün kullanıcılar için

ultra surf bu internet settings kısmına 127.0.0.1 ve 9666 portunu yazıyor bunu buraya yazamazsa program çalışmamaktadır. umarım yardımcı olmuşumdur

iyi günler

ORHAN dedi ki...

arkadaşlar peki ben bu programı iş yerimde kullanıyorum ve server tarafından yasaklanan tüm sitelere giriyorum öğrenmek istediğim benim bu hareketlerim yöneticiler tarafından farkedilirmi? şimdiden teşekkürler

ORHAN dedi ki...

arkadaşlar bu programı ünv. ağında kullansak acaba yönetici veya bilgi işlem hangi bilgisayardan girdiğimizi farkeder mi?teşekkürler