bga_7_mobil pentest Örnek not

Mobile Application Pentest Eğitimi
ANDROID @2013
http://www.bga.com.tr
[email protected]
Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Android •  2003: Android Inc.’in kuruluşu •  2005: Google’a geçişi •  2008: İlk ,cari mobil Android cihaz Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Sayılarla Android •  900 milyon cihazı ak,vasyonu •  1.5 milyon günlük cihaz ak,vasyonu •  >50 milyar uygulama kurulumu Google Play Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Java VM vs. Dalvik VM Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Android SDK •  Android Yazılım Geliş,rme Ki, •  Android SDK Bileşenleri; –  SDK Manager: Farklı Android SDK’larını yönetme aracı •  Android 2.3.3 (Gingerbread, 2010) API Level 9 •  Android 3.2 (Honeycomb, 2011) API Level 13 •  Android 4.0.3 (Ice Cream Sandwich, 2011) API Level 15 •  Android 4.1 (Jelly Bean, 2013) API Level 18 –  Emulator: Test Android simulatorü –  AVD Manager: Android Emulator yapılandırma aracı Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Android Emulator •  Sanal Android mobil cihazlardır. •  Geliş,rme ve test amaçları için kullanılır. •  Cihaz ,pleri ve içinde çalışacak Android versiyonları emulatorü oluşturur. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr AVD Manager •  Android versiyonu ve cihaz ,pi, bir sanal cihazı oluşturur. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Yeni Android Device Defini,on Çözünürlük Keyboard yok Direc,onal Pad Emulator RAM büyüklüğü Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Yeni Android Virtual Device Device Seçimi Hardware Keyboard SD Card Büyüklüğü Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Emulator w/ Snapshot Eski kaydedilmiş snapshot kullanılmaz Sanal cihazın boyutunun belli bir oranda küçültülmesi Eski kaydedilmiş snapshot kullanılır Değişiklikler snapshot ‘a kaydedilir Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Android Debug Bridge -­‐ adb •  Android cihazlar veya emulatorler ile ile,şimi sağlayan zengin komut safrı aracıdır. •  <SDK>/plahorm-­‐tools/adb adb install uygulama.apk adb push <yerel> <uzak> adb pull <uzak> <yerel> adb shell adb logcat Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Android Sandbox Modeli -­‐ ps Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Android Sandbox Modeli -­‐ ls Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Kurulu Bir Android App İçinde •  cache/ : cache’lenen nesneler •  databases/ : kullanılan veritabanı •  shared_prefs/ : basit veri saklama Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr databases/ •  Android SQLite veritabanı sistemi ile gelir. •  Hassas veriler açık saklanmamalıdır; –  kimlik bilgileri, şifreleme anahtarları, kredi kartları Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr shared_prefs/ •  Basit key:value çinlerini saklamak içindir. •  Hassas veriler açık saklanmamalıdır; –  kimlik bilgileri, v.b. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr LogCat •  İşlemler için kullanılan kayıt mekanizması •  Hassas veriler açık bir şekilde kayıt alfna alınmamalıdır; –  kimlik bilgileri, şifreleme anahtarları, kredi kartları Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr SD Card’lar •  Android dahili veya harici depolama ih,yacını SD Card’lar ile sağlar •  Ancak SD Card üzerindeki kaynaklar geniş dosya hakları ile kullanılırlar Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Proxy Emulator HTTP Proxy Cihaz Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr SSL/TLS •  SSL/TLS protokolü, HTTP trafiğinin gizliliğini sağlayan en temel unsurdur. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr SSL Tokalaşması Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Güvenilir Ser,fikalar -­‐ Browser Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr HTTPS Bağlanflar URL url = new URL("htps://www.guvenlikod.com/"); con = (HtpsURLConnec,on)url.openConnec,on(); Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Güvenilir Ser,fikalar -­‐ Android •  Android sisteminde güvenilir ser,fikalar /etc/security/cacerts.bks •  Burp SSL ser,fikasını yüklemek için; 1. Browser’da htps://hedefsunucu:hedefport açılması 2. CA ser,fikasının der dosyası olarak export edilmesi 3. der dosyasının uzanfsının cer olarak değiş,rilmesi 4. adb push burp.cer /sdcard/burp.cer 5. Emulator/Cihaz’da Sewngs-­‐>Security-­‐>Install from SDCARD Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Yüklenen Ser,fika •  Sewngs-­‐>Security-­‐>Trusted creden,als Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Android APN Proxy Ayarları Sewngs Wireless & Networks More Mobile Networks Access Point Names Telkila Dikkat adb bağlan/sı kopabilir! # adb kill-­‐server # adb start-­‐server Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Android WIFI Proxy Ayarları Sewngs Wireless & Networks WIFI WiredSSID* Modify Network Show Advanced Opt. Manual * WiredSSID üzerine mouse ile basılı tutularak Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Burp Proxy Ayarları Her Host için ayrı CA imzalı serYfika Bütün interfacelerden dinler Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Emulatör Komut Safrı •  AVD manager arayüzünün yanısıra Android emulatör komut safsı aracılığı ile de çalışfrılabilir •  HTTP Proxy cihaz başlaflırken komut safrından da tanıflabilir emulator -­‐avd MyEmulator -­‐htp-­‐proxy htp://127.0.0.1:8081 Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Android Proje Dizin Yapısı src/ Kaynak kodlar; java,aidl dosyaları gen/ Otoma,k üre,len java dosyaları bin/ APK’yı oluşturan derlenmiş dosyalar; dex, xml libs/ Harici kütüphaneler res/ Kaynaklar; imajları, yapılandırma XML’leri project.proper,es Hedef Android versiyonu AndroidManifest.xml Uygulama bileşenleri, kullanılacak izinler, v.b. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Java → APK Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Android Package -­‐ APK UI ile ilgili XML yapılandırma dosyaları, resimler Kriptografik imzalanmış serYfikalar Java class dosyalarının dex forma`na derlenmiş hali Binary forma`nda uygulama bileşenleri, kullanılacak izinler, v.b. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr APK Dosyasının İmzalanması •  APK kurulum dosyası, release öncesinde kriptografik olarak imzalanmalıdır. –  dijital imza ser,fikası self-­‐signed olabilir –  ser,fikanın geçerlilik süresi kurulum/yenileme zamanında kontrol edilir –  keytool/jarsigner araçları imzalama işlemi için kullanılırlar –  imzalar, cihaz üzerinde koşan uygulamalar arası güvenli ile,şimin en önemli kaynaklarındandır Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr İmzalama İşlemleri 1 •  Yoksa self-­‐signed ser,fikasının oluşturulması keytool.exe -­‐genkey -­‐keystore mykstr -­‐alias myalias -­‐keyalg RSA -­‐validity 10000 serYfikanın saklanacağı keystore dosya ismi keystore içindeki serYfikanın alias’ı 10000 gün geçerlilik süresi Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr İmzalama İşlemleri 2 •  APK’nın imzalanması jarsigner.exe -­‐verbose -­‐keystore mykstr HelloWorld.apk myalias -­‐sigalg MD5withRSA -­‐digestalg SHA1 imzalayacak serYfikayı barındıran keystore imzalanacak APK keystore içinde imza için kullanılacak serYfikanın alias’ı Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr İmzalama İşlemleri 3 •  APK imzasının kontrolü jarsigner.exe -­‐verbose -­‐verify HelloWorld.apk imzası kontrol edilecek APK Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Android Market •  Android uygulamaların indirildiği bazı popüler web portallar Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Android Uygulama İzinleri android.permission.WRITE_EXTERNAL_STORAGE android.permission.INTERNET ... Android APP Kullanıcı OK İzin Kontrol İzin Kontrol Internet API SD CARD API •  Kurulma/Yenileme esnasında uygulamalar kaynaklara erişmek için kullanacakları izin listesini kullanıcının onayına sunarlar. •  Onay sonrası uygulama, kaynaklara erişim esnasında bir daha bu izinleri kullanıcıya sormaz. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr AndroidManifest.xml ve İzin Tanımları # aapt.exe dump permissions HerdFinancial.apk package: org.owasp.goatdroid.herdfinancial uses-­‐permission: android.permission.READ_PHONE_STATE uses-­‐permission: android.permission.INTERNET uses-­‐permission: android.permission.WRITE_EXTERNAL_STORAGE Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Reversing APK •  Dalvik executable (classes.dex) -­‐> Java kaynak kodlarına dönüşüm Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Reversing APK -­‐ dex2jar # d2j-­‐dex2jar.bat PlayWithSSL.apk 1 2 Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Reversing APK -­‐ apktool # apktool.bat PlayWithSSL.apk 1 2 Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr smali? •  Dex için üre,len assembly/disassembly aracı •  Aynı zamanda assembly diline verilen isim 1 2 java -­‐jar baksmali-­‐1.4.2.jar PlayWithSSL\classes.dex -­‐o smali Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr java -­‐ HelloWorld import java.io.PrintStream; public class HelloWorld { public sta,c void main(String[] paramArrayOfString) { System.out.println("Hello World!"); } } Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr smali -­‐ HelloWorld .class public LHelloWorld; .super Ljava/lang/Object; .method public sta,c main([Ljava/lang/String;)V .registers 2 sget-­‐object v0, Ljava/lang/System;-­‐>out:Ljava/io/PrintStream; const-­‐string v1, "Hello World!" invoke-­‐virtual {v0, v1}, Ljava/io/PrintStream;-­‐>println(Ljava/lang/String;)V return-­‐void .end method Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr apk -­‐> smali -­‐>apk Baksmali Unzip Edit Smali Zip Sign Smali Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Enjeksiyon -­‐ İstemci •  SQL enjeksiyonu Android uygulamalarda da bulunabilecek bir zafiyet çeşididir. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Yetersiz Yetkilendirme -­‐ Sunucu •  Yetkilendirme kontrolleri sunucu tara‰nda eksiksiz gerçekleş,rilmelidir. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Yetersiz Yetkilendirme -­‐ Sunucu •  Yetkilendirme kontrolleri sunucu tara‰nda eksiksiz gerçekleş,rilmelidir. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr LogCat Bilgi Sızdırma •  Yapılan işlemler sonucu hassas bilgiler LogCat mekanizmasında kayıt alfna alınmamalıdır. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Güvensiz Veri Saklama •  Kullanıcı şifreleri, kredi karf numaraları, kişisel bilgiler shared_prefs gibi yapılar açık saklanmamalıdır. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Güvensiz Veri Saklama •  SDCard Android sandbox’ının uygulanmadığı güvensiz bir veri alanıdır. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Güvensiz Veri Transferi •  Hassas bilgiler HTTP üzerinden ile,lmemelidir. •  SSL bağlanf problemler nedeniyle özel sınıflar kullanılmamalıdır. 1 2 Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Android Bileşenler •  Android uygulamalarında dört temel bileşen –  Ac,vity •  kullanıcıların ile,şim kurduğu arayüz –  Service •  arkaplanda iş yapan bileşen –  Content Provider •  veri sunan servisler, veritabanı –  Broadcast Receiver •  iş için komut bekleyen bileşen Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Intent •  Bileşenler arası ile,şim Intent’ler ile sağlanır Ac,vity Intent Broadcast Receiver Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Özel veya Açık Bileşenler •  Uygulamalar bileşenlerini sisteme AndroidManifest.xml dosyası ile tanıfrlar •  Bileşen tanımlarında –  export atribute’unun değeri True ise veya –  extra Intent tanımları içeriyorsa, ilgili bileşeni diğer uygulamalar da çağırabilir •  Özel bir bileşen sadece aynı uygulamadan çağrılabilir Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Örnek Bileşen Tanımı 1 •  .mydb Content Provider bileşeni export atribute’u True olduğundan diğer uygulamalar tara‰ndan çağrılabilir <manifest …> <provider android:name=".mydb" android:exported="true"> <intent-­‐filter> </intent-­‐filter> </provider> </manifest> Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Örnek Bileşen Tanımı 2 •  .mysmssender Broadcast Receiver bileşeni export atribute’u True olmasa da, bir Intent ile te,kleneceğini beyan ewği için açıkfr <manifest …> <receiver android:name=“.mysmssender”> <intent-­‐filter> <ac,on android:name=“android.intent.sendSMS”/> </intent-­‐filter> </receiver> </manifest> Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Bileşenlerin Yetki Kontrolü •  Dolayısıyla hassas işlem yapan Açık (Export=True) bir bileşen, diğer uygulamalar tara‰ndan çağrıldığında yetki kontrolü yapmalıdır A yetkili midir? A B Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Güvensiz IPC •  Componentlar arasındaki gerekli yetkilendirme kontrolleri gerçekleş,rilmelidir. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Güvensiz IPC Önlem 1 •  normal permission kontrolü A yetkili midir? 3 <uses-­‐permission android:name="permission" A B <permission 1 android:name="permission" /> <receiver android:permission="permission" Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr 2 Güvensiz IPC Önlem 2 •  permission protecYonLevel ipucu Sadece A mı yetkilidir? 3 <uses-­‐permission android:name="permission" A B <permission 1 android:name="permission" android:protectionLevel="signature" /> <receiver 2 android:permission="permission" Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Güvensiz IPC Önlem 3 •  hardcoded signature kontrolü A A gerçek midir? B packageInfo = pm.getPackageInfo(A_PkgName, PackageManager.GET_SIGNATURES); String A_SIGNATURE = "308202..."; for (Signature signature : packageInfo.signatures) if (signature.toCharsString().equals(A_SIGNATURE)) { } Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Yetersiz An,-­‐Otomasyon •  Özellikle login işlemleri, deneme-­‐yanılma saldırılarına açık olmamalıdırlar. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr Memory Analizi •  Eclipse MAT ile uygulamaların heap memory analizi gerçekleş,rilebilir. Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr DDMS Ekranı -­‐ Hprof Dump Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr MAT Ekranı -­‐ Dominator Tree Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr MAT Ekranı -­‐ DT -­‐ List Objects Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr MAT Ekranı -­‐ DT -­‐ List Objects Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr SMALI -­‐ Log Injec,on •  APKSmash iki amaç için kullanılabilir; –  Hedef APK içerisinde telefon numaraları, IP adresleri, URL’leri ve kayıt işlemlerine ait incelenebilecek bazı bilgileri –  Hedef uygulamayı patchleyerek run,me’da LogCat mekanizmasına bir çok kayıt aflmasını sağlar. Bu şekilde uygulama hakkında detaylı bir çok dinamik bilgi elde edilebilir Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr SMALI -­‐ Log Injec,on •  APKSmash için iLogger ve APKTool araçları gerekmektedir •  Hedef uygulamanın APK’sı belirlendikten sonra; 1.  apktool ile decode edilir 2.  apksmash.py, decode edilen dizinde, kod içerisinde aşağıdaki değişiklik ile çalışfrılır JonestownThisAPK = FalseTrue Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr SMALI -­‐ Log Injec,on 3.  Aynı dizinde oluşturulan apk-­‐ig-­‐info.txt dosyası ilginç bazı bulgular için analiz edilebilir 4.  Kayıt enjeksiyonu için iglogger.smali dosyası smali dizinine kopyalanır 5.  apktool kullanılarak dizin build edilir ve imzalanır 6.  Elde edilen apk, emulator’e kurulduktan sonra çalışfrmadan önce incelenmek için adb logcat açılır 7.  adb logcat çıkfları, uygulama kullanıldıkça izlenir Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr SMALI -­‐ Log Injec,on •  apksmash ile enjekte edilen log metotları, logcat ile hassas bazı bilgileri açığa çıkarabilir Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr CCRAWL -­‐ Kaynak Kod Analizi •  Kaynak kodu elde olan veya decompile edilebilen Android uygulamalar için kaynak kod analizi ile hızlı bir dene,m gerçekleş,rilebilir •  Açık kaynak kodlu CCRAWL Android uygulamalarında probleme yol açabilecek bazı API’ları otoma,k olarak göstermektedir Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr CCRAWL -­‐ Android APIs •  Privacy Viola,on –  Log •  SQL Injec,on –  rawQuery, query •  Eksik BroadcastReceiver İzinleri –  registerReceiver, sendBroadcast, sendOrderedBroadcast •  Kod Enjeksiyonu –  DexClassLoader Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr CCRAWL -­‐ Android APIs •  SDCard Dosya İşlemleri –  android.permission.WRITE_EXTERNAL_STORAGE –  android.permission.READ_EXTERNAL_STORAGE –  getExternalStorageDirectory •  Şüpheli Geo-­‐Lokasyon İşlemleri –  android.permission.ACCESS_COARSE_LOCATION –  android.permission.ACCESS_FINE_LOCATION –  requestLoca,onUpdates, getLastKnownLoca,on Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr CCRAWL -­‐ Android APIs •  Süpheli SMS İşlemleri –  android.permission.SEND_SMS –  android.permission.WRITE_SMS –  sendTextMessage( –  content://sms/inbox •  Özel SSL Dene,mi –  SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER –  checkServerTrusted, checkClientTrusted –  setHostnameVerifier, AllowAllHostnameVerifier Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr CCRAWL -­‐ Android APIs •  Bilgi İfşası –  setData, getData, putExtra, getExtras •  XSS –  setJavaScriptEnabled, addJavaScriptInterface •  Hassas İşlemler –  getCallState, getCellLoca,on, getDeviceId, getLine1Number, getSimSerialNumber, Intent.ACTION_CALL, SmsManager, ContactsContract, Loca,onManager Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr