Virtual Pirate Network (VPN)
image_pdf

Türkiye, 20 Mart 2014 tarihinde Twitter’a erişime engelleneyerek, dünyada Twitter’ı Çin’den sonra yasaklayan ikinci ülke olarak tarihe adına altın harflerle yazdırdı. Ardından Twitter yasağının nasıl aşılabileceği konusunda yazılı ve basılı görsel medya seferber oldu. Kısa bir süre içinde malum yasağın DNS tabanlı olduğu ve basit bir DNS değişikliği ile bu yasağın kolaylıkla atlatılabildiği anlaşıldı. Hatta bazı haber kanalları canlı yayında DNS değişikliğinin nasıl yapılabileceğini adım adım gösterdi. Canlı yayını kaçıranlar ise DNS adreslerini duvar yazılarından öğrenebildiler :)

VPN

Benim gibi, Android yüklü cep telefonundan Twitter’a girenler için bu yasağı atlatmak pek kolay olmadı çünkü rootlanmamış bir cihazda (Android 4.4.2) kullanılan 3G bağlantı için DNS değişikliği yapmak mümkün değildi. Buna karşı 2 yöntemden (cihazı rootlamak veya bir VPN hizmetinden faydalanmak) biri izlenebilirdi. Cihazı rootlamak beraberinde ilave güvenlik riskleri getireceğinden ötürü cihazımı rootlamaya hiçbir zaman sıcak bakmamıştım, Twitter yasağı nedeniyle de rootlamayı tercih etmedim. Ücretsiz bir VPN uygulaması ile VPN hizmetinden faydalanma kısmı ise pratik ve hızlı bir çözüm olarak görünse de, tüm uygulama trafiğimin bilinmeyen bir ağ üzerinden gitmesine de gönlüm pek el vermiyordu. Wifi ayarları üzerinden DNS değişikliği yapılabildiği için bir süre Twitter’a cep telefonum ile WIFI ağlar üzerinden giriş yaptım.

Twitter yasağı şöyle böyle atlatılıyor diye TIB’in gözüne onlarca haber sokulduktan kısa bir süre sonra bu defa Twitter’ın IP adresleri yasaklanmaya başladı. Bu defa Twitter’ın yasaklanmayan IP adresleri üzerinden Twitter’a bağlanmak mümkün olabiliyordu fakat yine rootlanmamış bir Android cihaz için ip adresi – host eşleştirmesi yapmak (/etc/hosts) mümkün değildi. Bu defa kendi VPN sunucumu kurup onun üzerinden mi Twitter’ın yasaklanmamış IP adreslerine cep telefonu üzerinden bağlansam yoksa F-Secure’un Freedome VPN uygulamasını mı kullansam derken aklıma aylardır evde kuzu gibi yatan ve üzerinde Kali yüklü olan 2. Raspberry PI geldi. Kali üzerine OpenVPN sunucusu kurmak tam da gözümde büyürken Twitter üzerinden Gökhan POYRAZ‘ın attığı bir tweet imdadıma yetişti. Gökhan’ın blogunda yer alan strongSwan VPN uygulaması kurulum adımlarından hızlıca geçtikten sonra Kali üzerinde başarıyla strongSwan’i kurdum. (GMP ve libgmp3c2_4.3.2+dfsg-1_armel.deb paketlerini ayrıca kurmam gerekti.)

Herkesin elinin altında benim gibi VPN uygulaması kuracak hazır bir sistemi olmadığı için çoğu kimsenin ücretsiz VPN hizmetlerinden faydalandığını farkettim. Özellikle yakın çevremden gelen, hangi VPN uygulamasını yüklemeliyim ? Hangisi daha güvenli ? gibi sorular karşısında VPN kullanımının halk arasında ciddi derecede arttığını anladım. Tabii güvenilirliğinden emin olunamayan bir VPN üzerinden internet bağlantısı gerçekleştirmenin getirdiği riskleri, VPN’i sadece Twitter yasağını atlatmak için kullanan bir kullanıcı kitlesine anlatmak çok kolay olmadı.

Twitter yasağı nedeniyle VPN kullanımı arttıktan sonra güvenilir olmayan VPN sunucuları üzerinden şifrelerin çalındığı ile ilgili haberler okumaya başladık. Ardından bankalar, güvenilir olmayan VPN sunucuları üzerinden gerçekleştirilen bankacılık işlemlerinin tehlikeli olabileceği ile ilgili güvenlik bildirileri yayınlamaya başladılar.

Yeri gelmişken bankada çalışan bir güvenlik uzmanı olarak, bankaların müşterilerine sadece gerekli gördükleri zamanlarda (mevcut veya potansiyel güvenlik ihlalleri) güvenlik uyarıları gönderdiklerini, dolayısıyla bu tür uyarıların bir müşteri olarak büyük bir ciddiyetle dikkate alınması gerektiğini belirtmek isterim.

Bu esnada yakın bir arkadaşım, bu tür (güvensiz VPN sunucularının kullanımı) güncel konularla ilgili olarak neden birşeyler yazmadığım konusunda eleştiri oklarını bir bir üzerime atmaya başladı. Ben de hazır Kali üzerine VPN uygulaması kurmuşken, art niyetli kişilerce yönetilen bir VPN sunucusunun nasıl kullanıcıların internet bankacılığı şifrelerini çalabileceğini arkadaşıma göstermeye ve eleştirilerine bu yazı ile karşılık vermeye karar verdim.

Simülasyon için sanal makinede yüklü olan Windows XP işletim sistemi üzerine bir VPN istemcisi yüklemeye karar verdim. Kali işletim sistemi üzerinde yüklü olan strongsWan uygulaması ile bu istemciyi bağladıktan sonra Kali üzerinde sslstrip aracını port 8080 üzerinde çalıştırdım.

VPN

sslstrip aracı, http üzerinden gerçekleşen bir trafikte yer alan tüm https:// bağlantı adreslerini http:// ile değiştirerek kendisi üzerinden hedef sistem ile bağlantı kurarak ortadaki adam saldırısı (MITM) ile şifreleri çalabilmektedir.

Ardından Gökhan POYRAZ’ın blog yazısında yer verdiği vpn.sh betik dosyasından NAT geçen 2 satırı silip yerine sslstrip aracı için iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 8080 satırını ekledim. Bu satır ile iptables’ın, port 80 üzerinden giden (outbound) http trafiğini sslstrip’in çalıştığı port 8080’e yönlendirip aracın tüm https:// bağlantıları http://’ye çevirmesini sağladım.

VPN

Simülasyon için öncelikle XP ile Kali arasında VPN bağlantısını kestim. Ardından Chase Bank’ın web sitesine http://www.chase.com adresinden bağlanmak istediğimde sunucunun beni otomatik olarak https://www.chase.com adresine yönlendirdiğini gördüm. Kaynak kodu üzerinde https:// önekini (prefix) arattığımda 40 tane sonuç ile karşılaştım.

VPN
VPN

Ardından XP ile Kali arasında VPN bağlantısı kurduktan sonra Chase Bank’ın web sitesine http://www.chase.com adresinden bağlandığımda, araya giren sslstrip aracının bağlantıyı https://www.chasebank.com sitesine yönlendirmediğini gördüm. Kaynak kodu üzerinde de https:// öntakını arattığımda da 0 sonucu ile karşılaştım ve sslstripin aradaki adam saldırısını gerçekleştirmesi için kullanıcı adına mert şifre kısmına da dert yazdım. Son olarak sslstrip.log dosyasına baktığımda ise bu aracın girdiğim kullanıcı adı ve şifreyi kayıt dosyasına yazabildiğini görmüş oldum.

VPN
VPN
VPN

Bu simülasyon ile güvenilir olmayan bir VPN sunucusu üzerinde çalıştırılan/kullanılan çeşitli araçlar ve yöntemler ile art niyetli kişilerin şifrelerinizi kolaylıkla çalabileğini göstermiş olduğumu düşünüyorum. Siz siz olun, bilmediğiniz bir VPN sunucusu kullanmadan önce başınıza neler gelebileceğini tekrar ama tekrar düşünün!

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

20 Responses to “Virtual Pirate Network (VPN)”

  1. Volkan Evrin says:

    Merhaba,
    Tek boyutlu bir inceleme yazısı olmuş :-) Bu tür MITM ataklar bankaların 3-4 yıl önceki kabusları idi ve farklı parola-doğrulama yöntemleri sürekli geliştirildi. TT’nin bile DNS zehirlemesi yapabildiği ülkemizde tüm kusurun (yurtiçi/yurtdışı ücretli/ücretsiz) VPN servisi veren sistemlerde olduğunu söylemek normal internet kullanıcısı için yanlış bilgi olacaktır bana göre.

  2. Çözümü VPN sunucularında arayanlar için bir uyarı yazısı diyelim.

  3. Bence birçok kişinin okuması gereken bir yazı, ama malesef günümüzde güvenlik denen bir algı oluşmadığı için birkaç bilişimci haricinde mağdur olan çok oluyor ordan burdan öğrendiğiyle internete girdiği için..
    Teşekkürler Mert hocam

  4. Rica ederim.

  5. Hakikaten de güvenmmek lazım. Log tutan böyle servislere ne gerek var ki

  6. Ahmet says:

    Farkindalık icin cok guzel bir yazı olmuş hocam.elinize sağlık.
    Ancak güvensizliğin zirve yaptığı bu dönemde yönlendirici tavsiyelerinize de ihtiyaç var.
    Aksi halde kullanıcılar çaresiz kalır.
    Sisteminizi hizmete acabilirsiniz mesela:)

  7. Rica ederim. 5651 sayılı kanun ile kim uğraşacak sonra :)

  8. Merhaba Hocam, öncelikle yazı için teşekkürler. Bir sorum var:

    Sslstrip ile https http’ye çevrildiğinde browser bununla ilgili bir uyarı vermiyor mu?

    İyi günler…

  9. Rica ederim. Hayır, hata vermiyor çünkü araç, http üzerinden gelen yanıtta gelen https bağlantı adreslerini (link) değiştiriyor.

  10. Hocam, yazıdaki fotoğraflardan birinde sitenin kendisi de https bağlantılı. (https://www.mertsarica.com/images/vpnkali3.jpg)

    Bundan dolayı uyarı vermez mi?

  11. O resim manipüle edilmemiş halini gösteriyor. Manipüle edildiği zaman zaten https yerine http gösteriyor o da burada -> https://www.mertsarica.com/images/vpnkali5.jpg
    Sunucudan gelen, https linkler içeren fakat güvensiz (http üzerinden) gelen yanıt manipüle edildiği sürece buna internet tarayıcısı uyarı vermemektedir.

  12. Kişisel bilgisayarlarda kullanılmak üzere; ssl destekli web içeriğini güvenlik duvarlarında web content filters control edemiyor.
    Bağlantının ssl olması da sitenin güvenilir olduğu anlamına gelmiyor.
    Sonuç itibari ile sanal yada ek bir donanım olmadan ana makinadaki firewallı yine ana makinada çalışan bir proxye yönlendirip, proxy üzerinde de sslstrip yaparak firewallın içeriği filtreleyebilmesini sağlamak için windows üzerinde çalışabilecek böyle bir proxy kaynak kodu bulamadım.
    Varsa bildiğin bir kaynak paylaşırsan sevinirim.

  13. Eyvallah hocam da kişisel bilgisayardan kastım internete direkt modemden erişen, firewalldan kastımda basit kişisel bilgisayarlar için AV/firewall. Evdeki makinalar yani :)
    Bu squid aradığım gibi birşeymiş ama pfsense eklentisi galiba. Pfsense olmadan bağımsız çalışıyorsa işimi görebilir. Biraz kurcalayalım.
    Olmazsa modemle router arasına bir server bağlayıp pfsense kurcam galiba. Abartı olmaz mı ev için :D

  14. Açıkçası son kullanıcı güvenlik yazılımları, bağlanti SSL de olsa API hooking ile SSL içeriği kontrol edebiliyor dolayısıyla kontrol edemiyorlar kısmı çok doğru sayılmaz. Amaç sadece son kullanıcı sisteminde SSL’i çözmek ve yönlendirmek ise Burp Suite, Charles proxy araçları işini görecektir. Merkezi olsun dersen squid’i tek olarak da kullanabilirsin sadece pfsense ile birlikte kullanmazsan, kurman ve ayarlaman biraz zor olabilir.

  15. hiçbir https bağlantıda firewallın içerik filtreleme yaptığına şahit olmadım.
    https://xqd9sg.blu.livefilestore.com/y2pMoc3zTdABSooogVbUBS01jm5hyKl0H4Y4p2KWn9xbofU_CnM-LVwICPnbo0SIG_Cwd0QZDWTyMpcsnbP2MeZKTTfc4XPPQXVGD9i0Hu-3b8/Ekran%20Al%C4%B1nt%C4%B1s%C4%B1.JPG?psid=1

    tabi amacım sadece içerik filtrelemek te değil
    bazı sayfalardaki dijital sertifikaları tarayıcı tabanlı değilde sistem genelinde engellemek yada kullanım anında (allow/block gibi) denetim istiyorum ve ayrıca user agent, keywors vs. içinde…
    sadece proxy ile olsa protokol içinde protokol tunelleme vs içinde uyarı kuralları..
    kısacası son kullanıcı firewallar çok ezikler :)

  16. VPN sunucularına çok guvenmemek lazım guzel yazı olmuş tebrikler

  17. Teşekkürler.

  18. Selamlar hocam,

    Log tutmayan VPN var mıdır?

  19. VPN sunucusunun/servisinin konfigürasyonuna göre değişir.
    Bir VPN kullanıcısının başı yasalarla derde girdiği zaman VPN hizmeti veren firma, sorumluluğu üstlenmek istemiyorsa genelde kayıt tutar :)

    Örnek: http://blog.hidemyass.com/2011/09/23/lulzsec-fiasco/

Yorum Yap

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


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>