mobil pentest Örnek not
DESCRIPTION
Bilgi Güvenliği Akademisi Ekibi Tarafından Hazırlanmış Dokümandır.TRANSCRIPT
Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
Mobile Application Pentest Eğitimi
@2013
http://www.bga.com.tr [email protected]
ANDROID
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
Direc,onal Pad
Emulator RAM büyüklüğü
Keyboard yok
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
Sanal cihazın boyutunun belli bir oranda küçültülmesi
Eski kaydedilmiş snapshot kullanılır
Eski kaydedilmiş snapshot kullanılmaz
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
• İş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ı
LogCat
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
Cihaz
HTTP Proxy
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
• Burp SSL ser,fikasını yüklemek için;
/etc/security/cacerts.bks
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ı
Bütün interfacelerden dinler
Her Host için ayrı CA imzalı serYfika
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
Kriptografik imzalanmış serYfikalar
UI ile ilgili XML yapılandırma dosyaları, resimler
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
• Yoksa self-‐signed ser,fikasının oluşturulması
keytool.exe -‐genkey -‐keystore mykstr -‐alias myalias -‐keyalg RSA -‐validity 10000
10000 gün geçerlilik süresi
serYfikanın saklanacağı keystore dosya ismi
keystore içindeki serYfikanın alias’ı
1
Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
İmzalama İşlemleri
• APK’nın imzalanması
jarsigner.exe -‐verbose -‐keystore mykstr HelloWorld.apk myalias -‐sigalg MD5withRSA -‐digestalg SHA1
keystore içinde imza için kullanılacak serYfikanın alias’ı
imzalayacak serYfikayı barındıran keystore
imzalanacak APK
2
Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
İmzalama İşlemleri
• APK imzasının kontrolü
jarsigner.exe -‐verbose -‐verify HelloWorld.apk
3
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
• 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.
Kullanıcı Android APP
Internet API
android.permission.WRITE_EXTERNAL_STORAGE android.permission.INTERNET
...
OK SD CARD
API
İzin Kontrol
İzin Kontrol
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
2
1
Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
Reversing APK -‐ apktool
# apktool.bat PlayWithSSL.apk
2
1
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
java -‐jar baksmali-‐1.4.2.jar PlayWithSSL\classes.dex -‐o smali
1
2
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
Unzip Baksmali
Edit Smali
Smali
Zip
Sign
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 Broadcast Receiver Intent
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 B
A yetkili midir?
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ü
<uses-‐permission android:name="permission"
<receiver android:permission="permission"
A B
A yetkili midir?
<permission android:name="permission" /> 1
2
3
Mobile Applica,on Pentest © 2013|Bilgi Güvenliği AKADEMİSİ | www.bga.com.tr
Güvensiz IPC Önlem 2
• permission protecYonLevel ipucu
<receiver android:permission="permission"
A B
Sadece A mı
yetkilidir?
3
2
<permission android:name="permission" android:protectionLevel="signature" />
1
<uses-‐permission android:name="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 B
A gerçek midir?
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