CyberFlow Logo CyberFlow 📚 Blog

mitmproxy - Mobil trafik araya girme

✍️ Ahmet BİRKAN 📂 kali_tools_mobil_guvenlik_araclari
mitmproxy - Mobil trafik araya girme Giriş Giriş Günümüzde mobil cihazların hayatımızın vazgeçilmez bir parçası haline gelmesiyle birlikte, bu cihazlar üzerind…
mitmproxy - Mobil trafik araya girme

mitmproxy - Mobil trafik araya girme

Giriş

Giriş

Günümüzde mobil cihazların hayatımızın vazgeçilmez bir parçası haline gelmesiyle birlikte, bu cihazlar üzerinden gerçekleştirilen iletişim ve veri akışının güvenliği de kritik bir öneme sahip olmuştur. Mobil uygulamalar, bankacılık işlemleri, sosyal medya paylaşımları ve kişisel bilgiler gibi hassas verileri barındırmakta ve bu verilerin korunması siber güvenlik açısından büyük bir endişe kaynağıdır. İşte bu noktada, mitmproxy gibi araçlar devreye girer.

mitmproxy Nedir?

mitmproxy, "Man-in-the-Middle" yani "ortadaki adam" saldırılarını simüle edebilen, açık kaynaklı bir araçtır. Bu yazılım sayesinde, kullanıcı ve sunucu arasındaki iletişim trafiği dinlenebilir, incelenebilir ve hatta değiştirebilir. Bu durum, geliştiricilerin ve güvenlik uzmanlarının mobil uygulama trafiğini analiz etmelerine ve potansiyel zayıflıkları tespit etmelerine olanak tanır. Özellikle mobil uygulama geliştiricileri için, uygulama iletişimini debug etmek ve daha güvenli uygulamalar geliştirmek adına önemli bir araçtır.

Neden Önemlidir?

Mobil uygulamalar, kullanıcıların kişisel bilgilerini topladıkları için bu tür araçların kullanılması gereklidir. Başarılı bir güvenlik testi ve denetimi, uygulama güvenliğinin artırılmasına ve olası güvenlik açıklarının önceden tespit edilmesine yardımcı olur. Ayrıca, uygulamanın arka planda hangi verileri gönderip aldığını anlamak, geliştiricilere daha iyi kullanıcı deneyimleri sunma fırsatı verir. mitmproxy kullanarak, geliştiriciler şifreleme algoritmalarını ve oturum yönetimlerini test edebilir, böylece uygulamalarının güvenlik düzeyini artırabilirler.

Kullanım Alanları

Siber Güvenlik Açısından Konumu

Siber güvenlik bağlamında mitmproxy, yalnızca bir test aracı olarak değil, aynı zamanda siber tehditler karşısında alınacak önlemleri anlamak için kritik bir bileşen olarak da konumlanmaktadır. Her ne kadar etik sızma testleri kapsamında kullanılsa da, bu tür araçların kötü niyetli kullanımlara da açık olduğunu belirtmek önemlidir. Bu nedenle, kullanıcıların mitmproxy gibi araçları etik çerçevede ve yalnızca izin aldıkları sistemlerde kullanmaları gerekmektedir.

Sonuç olarak, mitmproxy, mobil trafik analizi ve güvenlik testleri açısından vazgeçilmez bir araç olarak öne çıkmaktadır. Hem geliştiricilere hem de güvenlik uzmanlarına, iletişim trafiğinde derinlemesine analiz yapma, güvenlik açıklarını tespit etme ve genel uygulama güvenliğini artırma imkanı sunmaktadır. Mobil güvenlik alanında bilgi ve deneyim sahibi olmak isteyen her bireyin bu tür araçları keşfetmesi ve kullanması önem arz eder.

Teknik Detay

Teknik Detay

Mitmproxy, mobil uygulamalar ve web siteleri arasındaki ağ trafiğini gözlemlemek ve manipüle etmek için kullanılan güçlü bir araçtır. Bir "man-in-the-middle" (MITM) saldırısı gerçekleştirmek için kullanılmasının yanında, gelişmiş debugging, test etme ve analiz süreçlerinde de fazlasıyla işlevsel bir yapıya sahiptir. Bu bölümde mitmproxy'nin çalışmasını anlamak için gerekli teknik detaylara ve uygulama aşamalarına odaklanacağız.

Çalışma Mantığı

Mitmproxy, öncelikle bir proxy sunucusu olarak çalışır. Mobil cihazların internete giden taleplerini yönlendirir ve bu talepleri işler. İki ana bileşen üzerinden çalışır: istemci (mobil cihaz) ve sunucu (gerçek hizmet). Bu iki noktayı dinleyerek, trafiği araya girerek inceleyebilir veya manipüle edebilirsiniz.

  1. İstemci ve Sunucu Arasındaki Trafik: Mobil cihazdan gelen istekleri ve sunucudan alınan yanıtları izler. İstemci, mitmproxy'ye taleplerini gönderirken bu talepler, mitmproxy üzerinden geçerek hedef sunucuya ulaşır.

  2. SSL/TLS Şifrelemesi: Günümüzde birçok web ve mobil uygulama, SSL/TLS sertifikaları kullanarak iletişimini şifreler. Mitmproxy, SSL bağlantılarını çözmek için bir "sertifika otoritesi" olarak hareket eder. Bu süreç, güvenliği azaltır, ancak analiz yapmak için gerekli olabilir.

Kurulum ve Yapılandırma

Mitmproxy'yi kullanmaya başlamak için ilk önce kurulum yapmanız gerekir. İşletim sisteminize göre ilgili kurulum yöntemlerini kullanarak mitmproxy'yi yükleyebilirsiniz.

pip install mitmproxy

Kurulum sonrası, mobil cihazınızın Wi-Fi ayarlarında, HTTP Proxy ayarlarını mitmproxy'nin çalıştığı sistemin IP adresine yönlendirmelisiniz. Bunun yanında, mitmproxy'nin çıkardığı CA sertifikasını mobil cihaza yüklemeniz gerekmektedir. Bu, SSL trafiğinin analiz edilmesi için zorunludur.

Trafiğin İzlenmesi

Mitmproxy aktif hale getirildiğinde, elle tutulur bir trafik görebilmek için aşağıdaki komutu kullanabilirsiniz:

mitmproxy -p 8080

Bu komut, mitmproxy'yi 8080 numaralı port üzerinden dinlemeye başlar. Mobil cihaz, bu port üzerinden yönlendirilerek tüm HTTP ve HTTPS trafiği izin verilmiş olur.

Trafik Manipülasyonu

Mitmproxy sadece izleme değil, aynı zamanda trafiği manipüle etme konusunda da yeteneklidir. Örneğin, gelen bir JSON formatındaki isteği değiştirmek için aşağıdaki yöntemleri kullanabiliriz.

{
  "name": "John Doe",
  "age": 30
}

Burada age alanını 30'dan 25'e değiştirebiliriz. Bunun için, mitmproxy üzerinde etkileşimli bir ortamda bu isteği düzenleyebiliriz veya scripts (Python) ile manipüle edebiliriz.

from mitmproxy import http

def request(flow: http.HTTPFlow) -> None:
    if flow.request.pretty_url == "http://example.com/api/user":
        flow.response.json = {"name": "John Doe", "age": 25}

Dikkat Edilmesi Gereken Noktalar

Mitmproxy kullanırken aşağıdaki hususlara dikkat etmeniz önemli:

  1. Yasal Sorumluluk: Trafiği izlemek ve manipüle etmek, yasal açıdan sıkıntı yaratabilir. Herhangi bir uygulamayı veya web sitesini izlerken izin almayı unutmayın.

  2. Güvenlik Açıkları: Kullanım sırasında ortaya çıkacak güvenlik açıkları, analiz ve test sürecini etkileyebilir. Verilerinizi korumak için dikkatli olun.

  3. Performans: Yüksek trafik altında mitmproxy üzerinde performans problemleri yaşayabilirsiniz. Sistem kaynaklarınızı dikkatli yönetin.

Analiz Bakış Açısı

Mitmproxy, geniş bir analiz kabiliyeti sunar. Gerçek zamanlı verileri toplamanıza ve incelemenize olanak tanır. Ağ trafiği analizleri, uygulama geliştirme ve güvenlik testleri için çok değerlidir. Bu bağlamda, çıktıları detaylı bir biçimde inceleyerek, geliştirilen uygulamaların kullanım alışkanlıklarını ve potensiyel güvenlik açıklarını tespit edebilirsiniz.

Sonuç olarak, mitmproxy mobil trafik araya girme işlemini doğru şekilde uygulamak, hem geliştirme hem de güvenlik testleri için vazgeçilmez bir araçtır. Uygulamalarınızı ve hizmetlerinizi daha iyi anlamak için etkili bir yol sunmaktadır.

İleri Seviye

mitmproxy ile Mobil Trafik Araya Girme

Mobil uygulamalar, veri akışı ve kullanıcı etkileşimleri açısından oldukça zengin bir ekosistem sunar. Ancak, bu tüm trafiklerin güvenli bir şekilde yönetilmesi ve izlenmesi gerektiği anlamına gelir. mitmproxy, bu süreçte etkili bir araç olarak öne çıkar, özellikle mobil uygulamalarda araya girme (MITM) saldırılarını gerçekleştirmek için kullanışlıdır. Bu bölümde mitmproxy'nun ileri seviye kullanımı, sızma testi yaklaşımları ve analiz mantığını ele alacağız.

Mitmproxy Kurulumu ve Konfigürasyonu

Mitmproxy’nin en temel kurulumu, bir terminal üzerinden birkaç adımda gerçekleştirilebilir. İlk olarak, mitmproxy’yi yüklemek gerekir. Aşağıdaki komut ile yükleme yapılabilir:

pip install mitmproxy

Kurulum tamamlandıktan sonra, mobil cihazınızın proxy ayarlarını mitmproxy'nin çalıştığı makineye yönlendirmek için gerekli adımlar atılmalıdır. Genellikle, cihaz üzerindeki Wi-Fi ayarlarından manuel bir proxy ayarı yapılması gerekir.

Mobil Cihazda CA Sertifikası Kurulumu

Mobil cihazın güvenlik doğrulamasını atlamak için mitmproxy’nin CA (Sertifika Otoritesi) sertifikasını kurmanız gerekir. Sertifikayı, mitmproxy çalışırken elde edebilirsiniz. Terminalde aşağıdaki komutu çalıştırarak mitmproxy başlatabilirsiniz:

mitmproxy --mode regular

Daha sonra tarayıcıda http://mitm.it adresine giderek gerekli sertifikayı indirebilir ve kurulum işlemini tamamlayabilirsiniz.

Sızma Testi Yaklaşımı

Mobil uygulamalarla sızma testi yaparken, mitmproxy kullanarak trafiği dinlemek ve analiz etmek önemlidir. Örneğin, bir mobil uygulama üzerinden gönderilen JSON isteklerini gözlemlemek isteyebilirsiniz. Bu durumda, istemciden gelen istekleri dinleyerek ve modifiye ederek zafiyetleri keşfedebilirsiniz.

Aşağıdaki örnekte, bir API'ye gönderilen bir JSON isteği gösterilmektedir:

{
  "username": "testuser",
  "password": "testpass"
}

Bu isteği gözlemledikten sonra, kullanıcı adını ve şifreyi değiştirme imkanına sahipsiniz. Mitmproxy arayüzünde, bu isteği seçerek yanıtı müdahale edebilir ve şifreyi farklı bir değerle değiştirebilirsiniz. Örneğin:

{
  "username": "testuser",
  "password": "admin123"
}

Mesajların Manipülasyonu

Mitmproxy, giden ve gelen mesajları kolayca manipüle etmenizi sağlar. Aşağıdaki Python script’i, bir HTTP isteğini izlemek ve bu isteği değiştirerek cevaplamak için kullanılabilir:

from mitmproxy import http

def request(flow: http.HTTPFlow) -> None:
    # İstekleri değiştirme
    if "login" in flow.request.pretty_url:
        flow.request.headers["Authorization"] = "Bearer fake_token"

def response(flow: http.HTTPFlow) -> None:
    # Yanıtları değiştirme
    if "login" in flow.request.pretty_url:
        flow.response.text = '{"message": "Hacked!"}'

Bu script’i, mitmproxy'de eklenti olarak yükleyerek belirli bir uygulamanın oturum açma işlemlerini izleyebilir ve üzerinde değişiklikler yapabilirsiniz.

Sonuç ve İpuçları

Mitmproxy, mobil uygulamalar üzerinde derinlemesine analizler yapmak için güçlü bir araçtır. Sızma testi sırasında, sertifika kurulumu ve trafik analizi gibi adımları dikkatlice uygulamak önemlidir. Ayrıca, doğru hedeflere yönelik payload ve isteklerin manipüle edilmesi, sistemdeki zafiyetleri belirlemenize yardımcı olur.

Mitmproxy kullanarak gerçekleştirilen trafik analizi, mobil uygulamaların güvenliğini artırmak ve olası zafiyetleri kapatmak adına büyük önem taşır. Teknoloji sürekli evrildiği için, güncel kalmak ve yeni açılımları takip etmek de siber güvenlik uzmanları için kritik bir gerekliliktir.