Mobil Zararlı Yazılım Analizi 101

UZAY 52

Uzman üye
14 Ağu 2021
1,299
842
Ddos
2tvb2gm.gif


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 aqua/turkhackteam.org 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.


(Tıkla)

pandasecurity-defender-antimalware-1100x825.jpg


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


wp8650178.jpg


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.)


blockchain-app.jpg


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.

ransomware-attack-data-recovery.jpg


"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.


virus-img-18.jpg


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 analizlerinde aqua/turkhackteam.org kullanı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.)


l-intro-1631542637.jpg


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.

file-20190202-112389-1wc48q4.jpg


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.

scm68db.png



Kayıt işleminden sonra genymotion.com/download/'a giderek programı indiriyoruz. Download'a bastıktan sonra .bin dosyasının inmesi gerekmektedir.

179iplj.png


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.

how-to-remove-malware.jpg


MobSF Kurulumu




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.

how-to-remove-malware-on-windows-pc-hero1581530134837100.png


Ö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.


si-malware-analysis-feature.jpg


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.


Programı başlattıktan aqua/turkhackteam.org sonra arayüzüne ulaşmak için tarayıcıya 0.0.0.0:8080 yazmamız yeterli olacaktır.

Ortada bulunan "Upload & Analyze" butonuna basıp dosyayı yüklüyoruz. Bir süre sonra sonuçlar önümüze çıkacaktır. Fotoğrafta görebildiğiniz gibi toplanm 17 aktivite, 24 servis, 4 alıcı olduğunu gösteriyor. Bunun yanında uygulama hakkında hash bilgileri gibi temel bilgileri göstermiş.


malware-analysis-feature.jpg


Biraz aşağı indiğimizde prorgamın decompile edilmiş hali ve dinamik analiz başlatabileceğimiz bir yer ile karşılaşıyoruz.

Bir sonraki bölüme geldiğimizde programın imza, sertifika bilgilerini inceleyebiliyoruz. Aşağıda mobsf'in yorumlamalarını görebiliriz.

Permissions bölümünde programın yetkilendirmelerini, ne olduklarını ve ne yapabileceklerini anlatmış.

Android API bölümünde kullanılan android apilerini inceleyebiliyoruz ve ek olarak işlevleri yazmakta.


Bir sonraki bölümde browsable olan aktiviteleri inceleyebileceğimiz ve uygulama ile bağlantılı ağ güvenliğini kontrol edebileceğimiz 2 bölüm bulunmakta.

Manifest analizinde programın manifest dosyasını analiz eder, kullanılan komutların aqua/turkhackteam.org açıklamalarını belirtir.

Code Analysis bölümünde programın kaynak kodlarını analiz eder. Popüler standartlara göre önem derecesini, açıklamasını ve geçerli olan dosyaları belirtir.

Aşağıdaki fotoğrafta bulunan "SHARED LIBRARY BINARY ANALYSIS" bölümünde binary analizi gerçekleştirerek herhangi bir kütüphane paylaşılmış mı inceler. "NIAP ANALYSIS" bölümünde NIAP değerlerinin yaptığı işlemleri gösterir ve açıklamaktadır.


960x0.jpg


"File Analysis" bölümünde apk içerisinde bulunan dosyalar analiz edilir. "APKID Analysis" bölümünde kullanılan compilerlar, anti-vm/debug ve benzeri olaylar gösterilir.

Bir sonraki bölümde program içerisinde çıkan domainlerin başka zararlı yazılımlarda kullanılıp kullanılmadığını, zararlı olup olmadığını göstermektedir.

"URLS" bölümünde program içerisinde bulunan urller gösterilir.

Bir sonraki bölümde ise varsa firebase database bilgileri, e-mailler, trackerlar, string aqua/turkhackteam.org değerleri ve benzeri veriler gösterilir.


Biraz daha aşağılara indiğimizde ise dosyalar, kütüphaneler, servisler, aktiviteler gibi bilgileri görmüş oluruz. Dinamik analiz için genymotion ile android makine oluşturduktan sonra çalıştırıp mobsf üzerinden "Start Dynamic Analysis" butonuna basmamız yeterli olacaktır.

cwvg4n2.gif

Elinize sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.