Günümüzde teknolojinin gelişmesiyle beraber mobil cihazların kullanımı arttı.Bu artış ile mobil cihazlarda çıkabilecek zafiyetler ve kişisel verilere ulaşmak gibi amaçları olan zararlı yazılımların sayısı da arttı.Bütün günümüzü onlarla geçiriyoruz ve tuvalete bile onlarla gidiyoruz kıscası her yerde yanımızda taşıyoruz. Mobil cihazlarınızın yaptığınız her aktiviteyi izlemesini ve kaydetmesini ne kadar isterdiniz?
İçerik
Neden Android?
Android Sistem Blokları
Android Güvenlik Mimarisi
APK Mimarileri
"classes.dex" Dosyasının Mantığı
Zararlı Yazılım Türleri
Analizlerde Kullanılan Programlar
Zararlı Yazılımların Yayılma Yöntemleri
Programların APK Dosyalarını Bulma
Zararlı Yazılım Analiz Türleri
Anahtar Kelime Aramaları
Android Emulatör Kurulumu(Genymotion)
MobSF Kurulumu
Örnek Analizler
Neden Android?
Bütçe, diğer programlarla rahat entegrasyonu gibi farklı nedenler sebebiyle insanların çoğunluğu mobil cihaz olarak android işletim sistemini kullanmayı tercih etmektedir. Aşağıda bulunan Eylül 2019 ve Eylül 2020 arası için oluşturulan tabloyu incelediğimizde sayısal olarak Dünya'nın yaklaşık %75-80'inin açık sistem android cihaz kullandığını görüyoruz. Bu ciddi sayısal farktan dolayı mobil zararlı yazılım analistleri genel olarak android cihazlar üzerinde yoğunlaşmaktadırlar ve zararlı yazılımlar da android sistemlerde daha yaygın görülmektedir. Ek olarak android cihazların sağladığı kişiselleştirme özellikleri kullanıcılar için kullanım kolaylığı sağlasa da zararlı yazılımlar açısından daha kolay bulaşma/yayılma ortamı sağlamaktadır. Yukarıda belirtilen ana sebeplerden dolayı android kullanıcılarının kişisel bilgi güvenliğine daha çok dikkat etmesi gerekmektedir.
[align=right][url=https://gs.statcounter.com/os-market-share/mobile/worldwide](Tıkla)[/url]
Android Sistem Blokları
Android sistemleri 3 ana işlem üzerinden çalışmakta ve bu döngü olarak devam etmekedir;
1. Uygulama çalıştırılır ve değişiklik talep eder
2. Uygulamanın sistem üzerinde yapmak istediği değişiklikler işletim sistemine gider
3. İşletim sistemine giden değişikler cihaz donanımına gider ve değişiklik uygulanır
Android Güvenlik Mimarisi
Android güvenlik mimarisi ise aşağıdaki gibi çalışmaktadır;
Uygulama (Kamera, Kişilerim, Email vs.)
Java API Framework (Lokasyon Servisi, Bildirim Yöneticisi, Paket Yöneticisi vs.)
Yerel, Cihaz Kütüphaneleri (SSL, SQLite, OpenGL vs.)
HAL, Donanım Soyutlama Katmanı
Kernel Yapısı (Wifi Driver, USB Driver, Bluetooth Driver vs.)
APK Mimarileri
APK ismini verdiğimiz "Android Package Kit" dosyalarının yapılandırmalarını ve mimarisini de bilmemiz önem taşımaktadır. Aşağıdaki tabloyu incelemeniz fayda sağlayacaktır.
"classes.dex" Dosyasının Mantığı
Yapılacak analizler sırasında ilk yapılması gereken şeylerden biri ise apk dosyası extract edildikten sonra "classes.dex" dosyasının statik analizidir. Bu dosya java dosyalarının classlara çevirilmesi, bu classların birleştirilmesi ve birleştirilme işleminden sonra dexing adığını verdiğimiz ".class" uzantısını ".dex" uzantısına çeviren işlem gerçekleştirilir. Ardından d2j gibi programlar aracılığıyla dex dosyası jar'a dönüştürülür ve decompiler programları ile analiz edilir.
Zararlı Yazılım Türleri
Windows ve Mac cihazlarda olduğu gibi android cihazlar için de farklı farklı zararlı yazılım türleri bulunmaktadır. En popülerleri ve açıklamaları aşağıdaki gibidir;
Crypto Mining: Arkaplanda donanımı sömürerek saldırgan için kripto para kazan zararlı yazılım türüdür.
Ransomware: Cihazı şifreleyen ve karşılığında fidye talep eden yazılımdır.
Bank Trojan: Mobil cihazda bulunan banka uygulamaları üzerinden veri çalmayı hedefleyen zararlı yazılım türüdür.
RAT: Remote Administration Tool olarak geçer. Saldırgan zararlı yazılım yüklenen cihazda tam erişim sağlamaktadır.
Adware: Reklam yazılımı olarak geçmektedir. Amaçlanan kullanıcıyı reklam göstererek rahatsız etmek ve veri toplamaktır.
Analizlerde Kullanılan Programlar
Android analizleri sırasında farklı farklı toollar kullanılıp işlemler kolaylaştırılmaktadır. En temelleri aşağıdakilerdir;
apktool: Tersine mühendislikte kullanılır, programları decompile eder.
dex2jar: Dex dosyalarını jar'a dönüştürmeyi hedeflemektedir.
enjarify: dex2jar alternatifidir.
jadx: APK derleyicisidir. Kaynak kodlarını okumamıza yardımcı olur.
jd-gui: Jadx programının alternatifidir.
mobsf: Birçok işlevi bulunan mobil analiz programıdır.
apkinspector: İçerisinde apk analizlerindekullanılabilecek birçok tool bulunan programdır.
Packet Capturer: Dinamik analiz sırasında ağ trafiğini izlemek amacıyla kullanılır.
androguard: APK dosyalarını analiz eder, bilgi toplar.
Zararlı Yazılımların Yayılma Yöntemleri
Zararlı yazılımlar saldırganın hedefine göre farklı yollar ile yayılabilmektedir. Ancak araştırmacıların tespit ettiği ve en çok kullanılan yöntemler aşağıdaki gibidir;
Uygulama İndirme Platformları (Play Store vs.)
Phishing Sayfaları
Fiziksel Kontrol
Sisteme Sızma (Zafiyet sömürme vs.)
Programların APK Dosyalarını Bulma
Farklı yöntemler ile programların apk dosyaları elde edilebilir ancak genel olarak aşağıdaki yöntemler kullanılır;
Tarayıcı Eklentileri(APK Downloader)
APK Extractor Benzeri Programlar
Websiteler(apps.evozi.com/apk-downloader/)
Zararlı Yazılım Analiz Türleri
Toplamda 3 tür zararlı yazılım analiz yöntemi bulunmaktadır.
1)Statik
Program çalıştırılmaz.
Kaynak kodları okunur, tersine mühendislik yapılır.
Gelişmiş zaralı yazılımları tespit etmek çok zordur.
2)Dinamik
Program çalıştırılır ve işlemler gözlemlenir
Genel olarak programın hareketleri izlenir
RAM gibi cihaz donanımları izlenir(performans artışı vs.)
Gelişmiş zararlı yazılımlar için etkilidir.
3)Hibrit
Yukarıda bulunan 2 analiz türü de kullanılır.
Android Emulatör Kurulumu(Genymotion)
Dinamik analiz sırasında kişisel cihazlarımıza zarar gelmemesi gibi nedenlerden kaynaklı olarak sanal cihazlar kullanılır. Mobsf ile gerçekleştireceğimiz dinamik analiz için genymotion emulatörü gerekmektedir. Bu emulatör mobsf dışında da dinamik analiz ve benzeri amaçlar için kullanılabilir.
İlk olarak genymotion.com/account/create sitesine giderek kayıt oluyoruz.
Kayıt işleminden sonra genymotion.com/download/'a giderek programı indiriyoruz. Download'a bastıktan sonra .bin dosyasının inmesi gerekmektedir.
Superuser yetkisi("sudo su") aldıktan sonra chmod +x genymotion.bin komutu ile dosyaya çalıştırma izni veriyoruz. "./genymotion.bin" komutu ile kurulumu başlatıyoruz. Kurulum bittikten sonra programı çalıştırıyoruz. Bizi login ekranı karşılıyor. Kayıt olurken girdiğimiz hesap bilgileri ile giriş yapıyoruz. Başarılı aqua/turkhackteam.org olarak giriş yaptıktan sonra bizi aşağıdaki gibi bir ekran karşılıyor. "+" butonu ile android makine kurabiliyoruz.
MobSF Kurulumu
Alıntı:
[align=right]git clone https://github.com/MobSF/Mobile-Secu...work-MobSF.git
cd Mobile-Security-Framework-MobSF
./setup.sh
-Yukarıda bulunan komutları sırasıyla yazdıktan sonra kurulum işlemi tamamlanmış oluyor. "./run.sh" komutu ile programı çalıştırıyoruz ve tarayıcı üzerinden 0.0.0.0:8080'e gidip programı kullanabiliyoruz. Ancak dinamik analiz için genymotion' ile emulatörü açmamız gerekmektedir.
Örnek Analizler
Msfvenom aracılığıyla anlaşılabilir olması için obfuscator olmadan bir adet payload oluşturdum. Birlikte analiz edelim.
Programı apktool ile decompile ediyoruz.
"AndroidManifest.xml" dosyasını inceleyerek yetkilendirme gibi farklı bilgiler elde ediyoruz. Fotoğraftan da görebileceğiniz üzere olağanüstü yetkilendirmesi var programın.
Smali dosyasına girdiğimizde metâsploit isimli bir dizin olduğunu görüyoruz. Dizinin içerisinde programın ana aktiviteleri ve benzeri aktiviteleri barındıran smali dosyalarını görebiliyoruz.
Programın metâsploit payload olduğunu açık bir şekilde anlamış oluyoruz.
MobSF ile Zararlı Yazılım Analizi
Toolu yukarıda kurmayı öğrenmiştik. Şimdi ise anubis içeren zararlı yazılım analiz edeceğiz. Programı çalıştırmak için bulunduğu dizine gidip "./run.sh" komutunu yazıyoruz.
















