MOBSF İle APK Analizi

Değerli okurlarım, bu yazımda "2024 Siber Yıldız" CTF yarışmasında çıkan bir APK sorusunun analizini anlatacağım, keyifli okumalar dilerim.

MOBSF İle APK Analizi

Elimizde "sertkod.apk" adlı bir dosya var ve bunu analiz edeceğiz. Bunun için öncelikle "Genymotion" adlı emülatöre ihtiyacımız olacak çünkü bu apk dosyasını bu emülatörde açıp inceleyeceğiz. Bu emülatörü kendi sitesinden indirebiliriz. Eğer emülatör kurulumunu tamamladıysak şimdi analiz işlemine geçebiliriz.

Genymotion cihaz bölümünden herhangi bir android cihazın kurulumunu yaptım ve elimdeki apk dosyasını sanal cihazımın içine kopyaladım. Daha sonrasında bu apk dosyamı açtığımda beni şöyle bir login ekranı karşıladı:

Bu ekrandan da anlıyorum ki muhtemelen giriş yapıldığında bizi bir flag karşılayacak. Uygulamamızda sadece böyle bir giriş paneli var ve dosyayı analiz etmeden giriş bilgilerini almam pek mümkün görünmüyor. Şimdi ise giriş bilgilerini almak için analiz işlemlerine geçiyorum. Bunun için apk analizi için gerçekten çok kullanışlı ve çok amaçlı güzel bir aracımız var : MOBSF

Bu uygulamayı da MOBSF ile analiz etmeye karar verdim. mobsf.live  adresine gittiğimizde bizi böyle bir ekran karşılıyor ve apk dosyamı buraya upload ediyorum : 

Gördüğünüz gibi MOBSF bize bu apk dosyasıyla ilgili hash değerleri olsun, uygulamanın ismi olsun, smali dosyaları olsun, decompiled dosyaları gibi bir çok bilgiyi bizlere Statik Analiz ile sundu. Biraz daha aşşağılara indiğimde DECOMPILED CODE kısmından view smali seçeneğini seçerek bir şeyler bulmak umuduyla smali dosyalarını incelemek istiyorum:

Karşıma Decompile edilmiş bir şekilde bir sürü kaynak kodu ve dosya çıkıyor, bunların hepsini incelemem gerçekten çok zor, bu yüzden yine aynı ekranda "Smali Source" bölümünden "Find by content" kısmına user yazıyorum ki belki bu filtrelemem sayesinde uygulamadaki login ekranının kaynak kodlarını bulabilirim ve bu sayede username ve password bilgisini elde edebilirim:

Evet gördüğünüz gibi filtrelemeyi yaptık ve içinde "user" kelimesini içeren dosyalar kırmızı renk ile filtrelendi, yukarıda göstermiş olduğum ekran görüntüsünde hepsi gözükmüyor lakin biraz daha aşşağılara indiğimde de yine filtrelenmiş dosyaların olduğunu görüyorum. Bunların hepsini teker teker açıp kaynak kodunu analiz ediyorum ve giriş bilgilerini bulmaya çalışıyorum. Yaklaşık 4-5 dosya inceledikten sonra nihayet aradığımız bilgileri "a.smali" dosyasında buluyorum. Aşağıda da gördüğünüz gibi dosyanın içeriğinde kullanıcı adı ve parola bilgisinin yazıldığı fonksiyon mevcut:

Ve evet bu kaynak kodundan da anladığımız üzere kullanıcı adımız "admin" ve şifremiz de "us0m14S3!!" 'müş.Şimdi uygulamama geri dönüyorum ve bulmuş olduğum giriş bilgilerimi giriyorum:

Gördüğünüz gibi Admin kullanıcısı olarak başarıyla girişimizi yaptık, buradan da "Account" sekmesine gittiğimiz zaman bizi flag sayfası karşılıyor, buradaki link aracılığıyla da gittiğimiz sayfadan flagi almış oluyorduk:

Değerli okuyucularım, bir yazımın daha sonuna geldik, umarım güzel bilgiler edinmişsinizdir, sonraki yazılarımda görüşmek dileğiyle...

Ben Talha 19 yaşındayım. Adli Bilişim Mühendisliği okuyan ve Siber Güvenlik Mühendisi/Uzmanı olmak isteyen bir öğrenciyim. Red Team,Pentest, Offensive Security alanında çalışıyorum.Yeniliklere ve kendimi geliştirmeye açık birisiyim. Burada öğrendiklerimi ve bildiklerimi yazıya dökerek hem sizleri bilgilendireceğim hem de bilgilerimi tazeleyip bilgilerime bilgi katacağım.