Yolda bulduğumuz telefonu güvenlik açığından yararlanarak sahibine nasıl ulaştırdık?

Selamlar dostlar,

Uzun bir aradan sonra sizlerle küçük bir anımızı paylaşmak istedim. Birkaç dakika içerisinde rahatlıkla okuyabileceğiniz ve teknik olarak sizi yormayacak keyifli bir makale olacağını umuyorum. :)

Bundan yaklaşık 7-8 ay kadar önceydi. Arkadaşım eve doğru yürürken, sokağın başındaki kaldırımda bir cep telefonu buluyor. Eve geldiğinde, yolda bir telefon bulduğunu söylüyor ve bu telefonu sahibine nasıl ulaştırabileceğimizi konuşmaya başlıyoruz.

İlk akla gelen seçenekler şunlar oluyor:

  1. Telefonu polise teslim etmek,
  2. Civardaki esnaflardan birisine teslim etmek,
  3. Telefonun sahibinin bize ulaşmasını beklemek ya da
  4. Bizim telefonun sahibine ulaşmamız. :)

Seçeneklerin sıralamasını ilk akla gelen ve kolaydan zora doğru sıralamış olduk. E tabî teknik kimseler olunca biraz da doğamız gereği biz son seçeneği tercih ettik. Yani telefonun sahibini biz bulacaktık! Kulağa çok hoş geliyor değil mi? Ama nasıl! :)

 

Başladık telefonu incelemeye:

  • Telefon Android işletim sistemine sahip bir akıllı telefondu.
  • Telefonun dili Rusça idi,
  • Markasını anımsamıyorum ama Çin menşeli markalardan birisiydi.
  • Tam model bilgisini göremedik,
  • Donanımına bakacak olursak telefon 3-4 yaşında görünüyordu.
  • Telefonu şarja taktık,

 

 

  • Telefonu açmaya çalıştık:
    • SIM kart pini vardı,
    • SIM kartı çıkarttık,
    • Ekran kilidi vardı. PIN kodlu ekran kilitlerinden, yani rakamlardan oluşan bir PIN girdiğimiz kilitlerden.

İlk aşama olan inceleme aşamasını tamamladık ve bulgularımız yukarıdaki gibi oldu. Şimdi sırada telefonun sahibini nasıl bulabileceğimiz vardı. (Siz olsanız nasıl bulurdunuz?)

Bizim aklımıza şunlar geldi:

  • Telefonun ekran kilidini aşıp:
    • Rehberde telefon sahibinin kendi kaydının altında varsa ikinci numaraya ulaşmak,
    • Yoksa son gelen çağrılardan birisini aramak ya da mesaj bırakmak,
    • Telefonun içerisindeki mesajlardan birisine, bir mesaj bırakmak.

 

Peki telefonun ekran kilidini nasıl aşacaktık?

  • Telefonu elime alır almaz direkt en basit ve yaygın olarak kullanılan PIN’leri denemeye başladım,
  • Yanısıra time-block gibi bir önlem var mı onu anlamaya çalıştım ve evet 3 hatalı PIN denemesinden sonra yeni bir PIN girişi yapamıyordum (PIN giriş alanı veri girişine kapanıyordu ve belli bir süre boyunca beklemek zorunda kalıyordum).Bu önleme account-lockout – hesap kilitleme diyoruz (merak edenler için aşağıda detaylarına değineceğim).
  • Dolayısı ile bu kısmı brute-force saldırısı (aşağıda değindim) ile aşamayacaktık.

 

Peki başka nasıl bir yol izleyebilirdik? 

  • Telefonun SIM kilidini kırmayı deneyip, SIM’e çağrı düşmesini bekleyebilirdik ama bu bize biraz daha uzak bir yol olacaktı. Bu nedenle odağımızı tekrar telefona yönelttik.
  • Derken.. 2018 yılında öğrendiğim çok basit ama bir o kadar da kritik bir özellik geldi aklıma!

Eğer cihazın WiFi‘ı açıksa, ve civarda parolasız bir modem bulursa, o modeme direkt bağlanır!

Harika değil mi?

Yoksa, -ne ilgisi var canım- mı diyorsunuz? Sabırsız olmayın lütfen. :)

 

Eğer telefon modeme bağlanırsa, muhtemelen telefonun sahibi bu numaraya bir SMS ya da bu telefonda yüklü olan mesajlaşma uygulamalarından birisine (WhatsApp, Telegram v.b) bir mesaj bırakmış olacaktı.

Peki ama ekran kilidini açamadıktan sonra mesaj gelse ne olur?, dediğinizi duyar gibiyim.

İşte bu noktada da bir başka özellik bize güvenlik açığı olacaktı. O nedir, derseniz; Android cihazlarının varsayılan özellik ayarlarına göre telefona gelen bir bildirim ekran kilitli olsa dahi kısmi olarak görüntülenebiliyor! (Yukarıdan kaydırarak tamamını da görmek de mümkün olabiliyor.) En kötü ihtimalle duvarda, gelen bildirimin – mesajın ilk kısımlarını görüyor olacaktık (bunu nasıl önleyeceğinizin yanıtı ise aşağıda sizleri bekliyor).

O halde neden helva yapmayalım? :)

 

Aksiyona başladık:

  • Hemen modemden parolasız bir guest – misafir bağlantısı tanımladık ve
  • Telefonun güç düğmesine basıp büyük bir heyecanla neler olup bittiğini izlemeye başladık.
  • ve bingo! Telefon modeme bağlandı ve art arda bildirimler gelmeye başladı derken..
  • WhatsApp’a bir mesaj düştü: Telefonu lütfen X Otel’e bırakır mısınız?

 

İşte bu! Amacımıza ulaşmış olduk.. :)

Mesajı nasıl anladınız diye merak edenler için mesaj Rusça değil, Türkçe gelmişti :) Yolda telefonu bulan kişinin bir Türk vatandaşı olma olasılığı çok daha yüksek olduğu için elbette Türkçe göndermişlerdi mesajı.

Telefonu ulaştıracağımız yeri öğrendikten sonra (eve oldukça yakın bir oteldi burası) bu keyfi telefonu getiren arkadaşımın yaşaması gerekirdi ve o da telefonu alıp yola koyuldu.

Arkadaşım, otelin resepsiyonuna gidip telefonu bulduğunu söylüyor ve resepsiyonist arkadaştan, telefonun sahibini çağırmalarını rica ediyor. Telefonu düşüren Rus çift, çocukları ile birlikte odalarından iniyor, (evet simaları Rus :) ve telefonun duvarındaki fotoğrafla gelen çift eşleşiyor. Arkadaşım telefonu teslim ediyor, teşekkürü kapıp geliyor ve biz de bu küçük keyf ile akşamı kapatıyoruz :)

 

Yukarıda bahsi geçen bazı kısımlar için genel not ve açıklamalar:

  • Android telefondaki bu public WiFi’a otomatik bağlanma özelliği ya da bizim örneğimizdeki güvenlik açığı sadece Android işletim sistemlerine özgü değil tabii ki de bazı Windows işletim sistemlerinde de geçerli bu durum.
  • Hızlıca önerimi soracak olursanız, işletim sisteminize göre otomatik bağlanma özelliğini devre dışı bırakabilirsiniz ya da telefonunuzun/cihazınızın WiFi bağlantısını güvenli bölgelerin dışındayken (eviniz, işyeriniz gibi) kapalı tutabilirsiniz. Hem böylece telefonunuzun enerji tüketimi de azalmış olacaktır.
  • Hemen merak edeceğiniz üzere yanıtlayayım, Telefon Iphone olsaydı telefon bu public WiFi’a otomatik bağlanmayacaktı çünkü; bu özellik Iphone cihazlarda varsayılan olarak kapalı geliyor.
  • Bu özelliğin, kullanıcılara kolaylık olsun diye tasarlandığı düşünülür ama fark ettiğiniz üzere güvenlik açığı olarak kullanıma oldukça müsaittir. Bizim örneğimizde masumane bir fayda sağlamak üzere yaşanmış olsa da ideal olmayan bir dünyada birileri veri hırsızlığı için de kullanabilir (detaylar bir sonraki maddede).
  • Peki cihazımızın public-halka açık bir WiFi’a otomatik bağlanmasının ne gibi bir mahsuru olabilir?
    • En kritik durumu ele alarak başlayacak olursak, cihazınızdan yapılan internet erişim istekleri SSL – https yani güvenli bağlantı üzerinden sağlanmıyorsa, cihazın bağlı olduğu modem üzerinden istekleriniz izlenebilir!
    • Peki ya tüm istekler SSL – https dediğimiz güvenli bağlantı üzerinden sağlanıyorsa herhangi bir gizlilik mahremetiyeti söz konusu mudur, derseniz; ilk seçenekteki kadar olmasa da evet yine var! Bu sefer de cihazınızın istek gönderdiği sunucu adreslerine – domain yani hangi sitelere erişim sağladığı izlenebiliyor.
      Sadece bu kadar mı derseniz, isteğinizin paket boyutu gibi biraz daha fazlası var. İşin derinlemesine gitmek isteyen arkadaşlar senaryolar dahilinde araştırmasını yapabilir.Alternatif bir saldırı yöntemi olarak hedef kullanıcımız, protocol-downgrade saldırısına maruz kalabilir. Nasıl, derseniz; ilgili web sitesinde SSL konfigürasyonu tam ve doğru yapılmadıysa, saldırgan size, sizin bağlantınızı https: yerine http:// olarak gönderebilir ve isteklerinizin artık SSL – güvenli bağlantı olmadan devam etmesini sağlayabilir ve böylece, yine tüm internet hareketlerinizi izleyebilir.
  • Evet Android cihazlarda bildirim içerikleri ekran kilitli olsa dahi varsayılan özellik olarak açık geliyor peki bu içerikleri nasıl gizleyebiliriz, sorusunun cevabı > işte burada.
    Andorid ekran kilitliyken bildirimleri gizleme

Dip notlar:

  • Brute-force saldırısı: Türkçesi kaba kuvvet saldırısı olan bu saldırı yönteminde, saldırganın hedeflediği sistemin anahtar bilgisine sahip olmadığı durumlarda deneme yanılma yöntemi ile ilgili anahtarı bulmaya çalıştığı yönteme kaba kuvvet saldırısı denir. Yukarıdaki örneğimizde benim telefonun PIN kilidi için sırayla, 1234, 4321, 1212 gibi yaptığım deneme kaba kuvvet saldırısına bir örnektir.
  • Protocol-downgrade saldırısı: Downgrade attack olarak da adlandırılan bu saldırının Türkçe karşılığı indirgeme saldırısı ‘dır. Tam tanımını Wiki’den alalım, örneği benden olsun.
    Wiki bu saldırının tanımı için der ki:

İndirgeme saldırısı veya sürüm geri alma saldırısı, bir bilgisayar sistemine veya iletişim protokolüne yapılan yüksek kaliteli çalışma modunu (örneğin, şifreli bir bağlantı) terk etmesini sağlayarak genellikle eski sistemlerle geriye dönük uyumluluk için sağlanan daha eski, daha düşük kaliteli bir çalışma moduna (örneğin, açık metin) geçiş yapılmasıyla gerçekleşen bir kriptografik saldırı türüdür.

Örnek: Eriştiğiniz bir web sitesinin bağlantı adresi: https://site.com/tada olsun. Yine bu web sitesine http://site.com/tada (non-SSL) şeklinde erişebiliyorsanız, olası bir senaryo bir saldırganın size göndereceği bir oltalama mesajı ile sizi rahatlıkla bu bağlantıya yönlendirebilir ve yukarıdaki örneğe göre internet gezinimizi izleyebilecekti..

  • Account-lockout: Türkçe karşılığı hesap kilitleme olan bu güvenlik önleminin iki çeşidi vardır. Soft-lock ve hard-lock. Soft-locked geçici bir hesap kilitleme önlemi iken, hard-locked; kalıcı hesap kilitleme önlemidir. Şahin bize gerçek hayattan bahset, derseniz. Hemen! Cep telefonu PIN’ini ya da bilgisayar açılış parolasını art arda yanlış girdiğiniz senaryoda ekranın geçici olarak kilitlenmesi soft-locked’a bir örnek iken. Banka hesabınıza art arda 3 yanlış girişten sonra hesabınızın tamamen kilitlenmesine ve yalnızca banka görevlilileri tarafından açılabiliyor olmasına ise hard-locked yani kalıcı kilitleme için bir örnek diyebiliriz.

 

Son söz:

Makalede bahsi geçen bilgilerde yanlış bir yönerge olduğunu düşünüyorsanız ya da ben olsam şöyle yapardım arkadaş! dediğiniz bir kısım varsa değerli fikirlerinizi aşağıda paylaşmanızı rica eder, esenlikler dilerim.

Sevgi ile kalın,

Güvenli günler.

.

Bir önceki yazımız olan SSL Pinning Bypass for Android Apps on Windows with Frida başlıklı makalemizi de okumanızı öneririz.

Bir Cevap Yazın