Casus Telefon
Ofansif güvenliğe olan merakımın zirve yaptığı lise yıllarımın başında (1998 yılı) oldukça şanslı bir sınıftaydım çünkü etrafımda Fenerbahçe mi yoksa Galatasaray mı büyük yerine Windows NT 4.0 mı yoksa Linux mü daha güvenli tartışmaları yapan sınıf arkadaşlarım vardı. O gün Windows NT‘yi savunan arkadaşım akşam Linux kullanan arkadaşların siber saldırısına karşın sistemini ayakta tutmaya çalışır ve bunun üzerine bir sonraki gün sınıfta tatlı atışmalar olurdu.
1998 yılında Slackware Linux ile oldukça haşır neşir olan sınıf arkadaşlarımdan biri olan Doğaç ŞENOL, bana da Slackware Linux kurmayı teklif etmiş ve kabul etmem üzerine Linux dünyasına adım atmıştım.
Sohbet sunucularının (IRC) oldukça meşhur olduğu o yıllarda, Linux’ten IRC sunucularına kara kuru konsol ekranından BitchX IRC istemcisi ile bağlanmaktan çok keyif alıyordum. Birgün root yetkisi ile çalıştırdığım BitchX IRC istemcisi ile EFnet IRC ağındaki #Linux kanalına girmeye çalıştığımda, identimde root yazdığı için otomatik olarak kanaldan atılmıştım. Sebebini sorduğumda ise yönetici yetkisi ile sohbet sunucularına girmenin güvenliğim açısından (Root yetkisi ile çalıştırdığım IRC istemcisindeki bir zafiyet, uzaktan istismar edilerek art niyetli kişiye sistemimde root yetkisi verebilirdi.) riskli olduğu söyleniyordu. Her ne kadar o zaman buna anlam veremesem de, ilerleyen yıllarda bunun sebebini ve önemini çok daha iyi anladım.
Günümüze dönecek olursam, iOS veya Android yüklü akıllı cihazlar, katmanlı güvenlik modeline uygun olarak kısıtlı yetkilerle çalışacak şekilde son kullanıcıya ulaştırılmaktadır. Örneğin Android’de root yetkisine sahip olmadığınız taktirde diğer bir uygulamanın verisine rahatlıkla ulaşamayıp o uygulamanın size sunmuş olduğu yetkiler/erişimler sınırında erişebilirsiniz. iOS’a baktığınızda da benzer şekilde kısıtlar olduğun görebilirsiniz. Sizi engelleyen bu kısıt aynı şekilde cihazınıza bir şekilde yüklenen zararlı yazılımların da verebileceği potansiyel zararları azaltmaktadır.
Tabii çoğu kullanıcı bu sistemsel kısıtların başta özgürlüklerini kısıtladıklarını düşünerek Android yüklü cihazlarında root yetkisi almak, iOS yüklü cihazlarını ise jailbreak etmek için güvenliği ikinci plana atmaktadırlar. Bu durum da casus uygulamaların işini oldukça kolaylaştırmaktadır.
Nasıl kolaylaştırdığı sorusunun yanıtını öğrenmek için bu alanda kullanılan herhangi bir casus yazılımın web sitesini incelemeniz yeterli olacaktır. Örneğin mspy casus uygulamasının web sitesini incelediğinizde jailbreak edilmiş bir iOS cihazda hangi uygulamalara ait verinin kolaylıkla toplanabileceğini görebilirsiniz. Bir diğer casus uygulama olan Flexispy uygulamasının web sitesini inceleyerek olursanız da, root yetkisine sahip olunan bir cihazda tüm anlık mesajlaşmalara ulaşmaktan tutun da ortam dinlemesi yapılmasına imkan tanıdığını görebilirsiniz.
turk.internet.com sitesinin kurucusu Füsun NEBİL ile Mart ayında gerçekleştirdiğimiz söyleşide, halk arasında cihaz çok ısınıyorsa, şarjı çabuk bitiyorsa casus yazılım vardır inanışının güçlü donanımlar sayesinde günümüzde çok da doğruyu yansıtmadığına değinmiştim. Hatta mspy geliştiricilerinin jailbreaksiz, sadece hedef iPhone kullanıcısının iCloud parolasına ihtiyaç duyarak karşı tarafı izlemeye (iCloud yedeklerini belli periyotlarda indirip, analiz etmektedir.) imkan tanıdığını da görebilirsiniz.
Tabii bu yazıyı okuyanlardan bazılarının aklına peki ya benim cihazıma casus yazılım yüklendi ise nasıl tespit edebilirim sorusu gelecektir. Benim de aklıma benzer bir soru geldiği için bu soruyu Pi Hediyem Var #8 oyununda sormaya karar verdim.
Örnek olarak mspy v4.18.3 casus uygulaması yüklü bir Android cihazı ele alacak olursak, ikon/simge gizleme özelliğini de barındıran mspy casus uygulaması Android cihazınızda yüklü ise her ne kadar simgesi gizli olsa da dosya sistemi üzerinde android.sys.process , cihaz yöneticileri kısmında ise Update Service adı altında kolaylıkla tespit edilebilmektedir.
Bu gibi durumlarda cihazın http trafiğini Charles Proxy gibi bir araca yönlendirip trafiğini izlemekte de fayda olabilir. Örneğin mspy v4.18.3 casus yazılımı yüklü olan bir cihazın trafiğini incelediğinizde, casus uygulamanın elde ettiği bilgileri https://a.thd.cc adresine gönderdiğini görebilirsiniz.
Tabii sistemden toplanan ve komuta kontrol merkezine gönderilen veri bu örnekte olduğu gibi gizlenmiş (encoded) ise bu durumda statik (dex2jar, JD-GUI, IDA Pro ve/veya Radare2 araçlarından faydalanabilirsiniz.) veya dinamik kod analizi ile gizlenmiş veriyi çözebilirsiniz. Dinamik kod analizi için IDA Pro aracından faydalanabilirsiniz.
Bunun için öncelikle casus uygulamanın apk uzantılı kurulum paketine (bt.apk) ihtiyacınız olacaktır. Bunu elde ettikten sonra paketin içinden çıkan classes.dex dosyasını IDA ile açmanız gerekmektedir. Ardından Android Emulator‘e yüklediğiniz (adb install bt.apk) casus uygulamayı IDA Pro ile analiz etmeye başladığınızda data parametresi ile sunucuya iletilen gizlenmiş veriyi tetiklemek için kayıt işlemini gerçekleştirmeye çalışmanız yeterli olacaktır.
Kayıt ekranında 1 yazdıktan sonra butona bastığınızda uygulamanın https://a.thd.cc/apiv4/register/registerjson adresine gizlenmiş data parametresini de içeren bir veri gönderdiğini görebilirsiniz. Bundan yola çıkarak IDA üzerinde registerjson ile ilişkili olabilecek yerlere kesme noktası (breakpoint) koyacak olursanız çok geçmeden sistem üzerinden toplanan email, imei gibi bilgilerin toplanıp GZIP ile sıkıştırılıp ardından base64 ile gizlendiği kod bloğuna ulaşabilirsiniz.
data parametresinde yer alan verinin nasıl oluşturulduğunu öğrendikten sonra Python ile mspy_decoder gibi basit bir betik hazırlayarak komuta kontrol merkezine giden tüm veriyi çözebilirsiniz.
Sonuç olarak mobil güvenliğiniz için kullandığınız cihazların jailbreak veya root edilmemiş olması art niyetli kişilerin işlerini bir kademe daha zorlaştıracaktır. Casus uygulamalara karşı Android kullanıcılarının belirli periyotlarda cihaz yöneticilerinde yer alan uygulamaları kontrol etmelerinde, iOS kullanıcılarının ise iCloud parolalarını değiştirmelerinde fayda olacaktır.
Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.
Not: Bu yazı Pi Hediyem Var #8 oyununun çözüm yolunu da içermektedir.