DROZER

Bengisu Gün
7 min readMay 28, 2021

--

Drozer, FSecureLABS tarafından geliştirilmiş, Android uygulama analizlerinizi gerçekleştirebileceğiniz bir programıdır. Kuruluşunuzun geliştirdiği veya test etmek istediğiniz bir uygulamanın analizini yapmanızda yardımcı olur. Drozer, Android için kapsamlı bir güvenlik denetimi sağlayıcısıdır ve saldırı yüzeylerini tespit etmek amacıyla kullanılabilir. Drozer ile kabuk komutlarını yürütebilir, güvenlik açıklıklarından yararlanabilir ve çeşitli paketler üzerinde çalışarak uygulamanızın testlerini gerçekleştirebilirsiniz.

DROZER KURULUMU

Kurulumu gerçekleştirmek için Ubuntu veya Kali Linux kullanabilirsiniz. İlk olarak Python 2.7 ve Python 2.7 için pip kurulumlarını gerçekleştirmemiz gerekiyor. Terminali açıp aşağıdaki komut satırları ile kurulumu gerçekleştirebilirsiniz.

· sudo apt-get install python2.7

· cd /usr/lib/python2.7

· sudo wget https://bootstrap.pypa.io/get-pip.py

Drozer’ın kurulumu için home bölümüne bir klasör oluşturuyoruz. Bunu manuel olarakta yapabilirsiniz veya komut satırı ile de gerçekleştirebilirsiniz.

· mkdir /home/root/drozer

· cd drozer

· wget https://github.com/mwrlabs/drozer/releases/download/2.3.4/drozer-agent-2.3.4.apk

· wget https://github.com/FSecureLABS/drozer/releases/download/

2.4.4/drozer-2.4.4-py2-none-any.whl

Pip kurulumunu yapıp tekerlek oluşturacağız.Bunu gerçekleştirmek için terminale gerekli olan komutları yazmanız gerekmektedir.

· sudo python2.7 get-pip.py

which pip2.7 (Kurulumun gerçekleşip gerçekleşmediğini kontrol ediyoruz.

” sudo python2.7 get-pip.py” komutunda sıkıntı yaşarsanız.

Aşağıdaki komut satırları yardımıyla sisteminize yüklemeyi deneyebilirsiniz.

· sudo apt-get install python2.7

· sudo apt-get install python2.7-pip

· cd drozer

· pip2.7 install drozer-2.4.4-py2-none-any.whl

· pip install twisted

Kurulumumuzun başarıyla tamamlandığını kontrol etmek için drozer komutu ile programımızı çalıştıralım.

GENYMOTİON KURULUMU VE DROZER UYGULAMASININ YÜKLENMESİ

Drozer programını kullanmak için bilgisayarımıza genymotion uygulamasını indirerek sanal bir telefon emilatörü elde etmiş olacağız. Aşağıda vereceğim siteden genymotion uygulamasını indirebilirsiniz.

Kurulum adımlarını tamamladıktan sonra sizden kullanıcı adı ve şifre oluşturmanızı isteyecektir. Gerekli bilgileri girerek bir kullanıcı oluşturabilirsiniz. Kullanıcı oluşturduktan sonra aşağıdaki sayfa karşınıza çıkacaktır.

Bu sayfada aşağıdaki adımları uygulayarak bir telefon oluşturabilirsiniz. İlk olarak “+” butonuna tıklayarak telefon modelini seçebilirsiniz.

Burada bulunan telefon modellerinden istediğiniz bir modeli seçip yüklemesini gerçekleştirebilirsiniz. Ben “Google Nexus 7” modeli üzerinde işlemlerimi gerçekleştireceğim.

Telefonun değiştirmek istediğiniz ayarları var ise kurulumu gerçekleştirmeden önce ayarlamalarını yapabilirsiniz. En başta “Android Version” bölümü 4.4 şeklinde gelecektir. Bu bölümü 6.0 yapıyorum siz isteğinize göre daha düşük veya yüksek bir versiyon yapabilirsiniz. İşlemlerinizi tamamladıktan sonra “INSTALL” butonuna tıklayarak indirmeyi başlatabilirsiniz.

Kurulum tamamlandığında ilk sayfaya yönlendirileceksiniz ve aşağıdaki gibi telefonunuzun yüklendiğini gösterecektir. Telefonun üstüne iki kere tıklayarak veya ok ile gösterdiğim yere tıklayarak telefonu başlatabilirsiniz.

Telefonu başlattığınızda aşağıdaki gibi bir görüntü almalısınız. Yükleme tamamlandıktan sonra telefonunuz açılacaktır.

Cihazımıza drozer uygulamasını adb aracılığıyla yükleyeceğiz. Fakat “adb” aracı sizde yüklü olarak gelmeyecektir bu yüzden ilk olarak terminalinize giderek “sudo apt-get install adb” komutunu kullanarak adb aracını yüklemeniz gerekecektir.

Telefona bağlanmamız için emilatörünüzün üst bölümünde IP adresi görünecektir bu adres sayesinde telefonumuza komut satır ile uygulamaları yükleyebiliriz. Bu adres her telefon için ayrıdır aşağıda bulunan fotoğraftaki benim yüklediğim telefonun adresidir bu adres sizde farklı gözükeceği için IP adresi kısmına kendi emilatörünüzünkini yazınız.

adb connect IP_ADRESİ:5555

Drozer klasörünüzün içine girdikten sonra “adb install drozer-agent-2.3.4.apk” komutunu yazınız. Bu komut sayesinde telefonunuza Drozer uygulamasını yüklemiş olacaksınız. Eğer komut satırı ile bu işlemi gerçekleştiremediyseniz Drozer uygulamasını sitesinden indirip telefonunuza sürükleyerekte bırakabilirsiniz.

Drozer uygulamasına terminal üzerinden bağlanmak için “OFF” olan bölümü “ON” haline getirmemiz gerekmektedir. Bağlantı noktanızın “31415” olduğuna dikkat ediniz.

Bağlantı noktasını kullanarak terminal üzerinden Drozer uygulamasına bağlanacağız.

Terminalinize “adb forward tcp:31415 tcp:31415” komutunu yazınız.

Bağlantı sağlandıktan sonra uygulamamızı çalıştırabiliriz “drozer console connect” diyerek Drozer uygulamasının konsoluna bağlanabiliriz.

Drozer uygulamasının modüllerini incelemek isterseniz komut satırına “list” yazarak sağladığı hizmetleri ve ulaşabileceğiniz bilgilerin komut listesini gösterecektir.

Cihaz hakkında bilgi toplamak isterseniz;

· run information.datetime

· run information.deviceinfo

komut satırlarını kullanarak cihazın versiyonundan ID numarasına kadar bilgileri elde edebilirsiniz.

Drozer ile telefonda kurulu paketleri listelemek isterseniz “run app.package.list” komutunu kullanabilirsiniz.

İncelemek istediğiniz bir uygulamanın paket hakkındaki bilgilerini listelemek isterseniz

· run app.package.şnfo –a com.android.insecurebankv2

komut satırını uygulayarak aratabilirsiniz. Ben insecurebankv2 uygulamasının incelemesini gerçekleştireceğim. Eğer siz başka bir uygulama inceleyecekseniz “com.android.insecurebankv2” yerine kendi inceleyeceğiniz uygulamanın adını yazınız. Insecurebank uygulamasını indirmek isterseniz “https://github.com/dineshshetty/Android-InsecureBankv2 “ sitesinden sizde indirebilirsiniz. Daha sonra APK dosyasını telefona sürükleyerek bırakabilirsiniz ya da komut satırı ile Drozer uygulamasını yüklediğimiz gibi telefona yükleyebilirsiniz.

Fotoğrafı incelediğimizde Insecurebankv2 uygulamasının versiyon, APK’nın bulunduğu adres ve uygulamanın kullandığı izinler gibi birçok bilgiye ulaşabildiğimizi görebilirsiniz.

Hata Ayıklanabilir Paketler

Herhangi bir paket hata ayıklanabilir olarak belirlenirse özel bir kod enjekte edip uygulamanın çalışmasını değiştirebiliriz. Uygulamaların hata ayıklanabilir olup olmadığını kontrol etmek için “run app.package.debuggable” komut satırını çalıştırarak işlemleri kontrol edebiliriz.

Bir uygulamanın androidmanifest.xml dosyasını görmek isterseniz

· run app.package.manifest com.android.insecurebankv2

komutunu çalıştırabilirsiniz.

Uygulamanın Saldırı Yüzeyini Belirleme

Drozer ile uygulamaların saldırı yüzeylerini belirleyebiliriz. Kullanılan komutlar ile uygulamanın zafiyetlerini tespit edebilir böylelikle saldırı yüzeyleri hakkında bilgiler elde edebilirsiniz. Test etmek istediğiniz uygulamanın adını yazarak aşağıdaki komutu uygulayabilirsiniz.

· run app.package.attacksurface com.android.insecurebankv2

Uygulamayı Suiistimal Etme İşlemleri

Bir uygulama, uzaktan erişebilme veya uygulamayı başlatma gibi etkinlikleri herhangi bir kimlik doğrulama yapmadan gerçekleştirebilen aktivitelere sahip olabilir. Dışa aktarılan bu aktiviteleri kontrol etmek amacıyla Drozer aracı kullanılabilir

· run app.activity.info -a com.android.insecurebankv2

Şimdi dışa aktarılan bir etkinliği başlatmak için şunu yapabiliriz. Login kısmına giriş yapmadan adb komutu yardımıyla atlatabiliriz veya altta bulunan Drozer komutu ile atlatabilmekteyiz.

· adb shell am start –n com.android.insecurebankv2/

com.android.insecurebankv2.PostLogin

· run app.activity.start — component com.android.insecurebankv2 com.android.insecurebankv2.Loginactivity

İÇERİK SAĞLAYICILARI SUİSSTİMAL ETME

Android’deki İçerik Sağlayıcılar, uygulamanın SQLite veri tabanında bulunan verilere ulaşmasını ve bunları yönetmesine yardımcı olur. Bir işlemdeki verileri başka bir işlemde çalışan kodla birbirine bağlayan bölümlerdir. Uygulamalar, uygulamanızda çalışan veri tabanı / dosya destekli sağlayıcıya içerik sağlayıcınızın arabirimi üzerinden erişebilir.

Uygulamada bulunan içerik sağlayıcılar hakkında bilgi edinmek için:

· run app.provider.info –a com.android.insecurebankv2

komutu kullanılabilir.

· run app.provider.finduri –a com.android.insecurebankv2

komutu ile sorgulanabilen veya sorgulanamayan tüm URI’leri bize getirmektedir.

· run app.provider.columns content://com.android.insecurebankv2.

TrackUserContentProvider/trackerusers /

Yukarıda ki “columns” komutu ile içerik sağlayıcıda bulunmakta olan sütunları görüntülemektedir.

· run app.provider.read content://com.android.insecurebankv2.

TrackUserContentProvider/trackerusers /

Yukarıda ki “read” komutu ile belirlenen bir dosyayı okumak için dosya destekli olan içerik sağlayıcılar üzerindeki işlemleri deneyerek bize sonuçları gösterir.

· run app.provider.query content://com.android.insecurebankv2.

TrackUserContentProvider/trackerusers /

“query” komutu ile veri tabanını sorgulayabilir ve bilgeleri dışa aktarabiliriz.

Ulaşılan veri tabanlarında biri kullanılmak istenirse aşağıdaki komut yardımı ile veri tabanı silinebilir.

· run app.provider.delete content://com.android.insecurebankv2.

TrackUserContentProvider/trackerusers /

Uygulamanın tüm enjekte edilebilir içerik sağlayıcılarını tespit etmek amacıyla

· run scanner.provider.injection –a com.android.insecurebankv2

komutu kullanılır

Sunucunun veri tabanındaki SQL tabloları görüntülemek için

· run scanner.provider.sqltables –a com.android.insecurebankv2

komutu kullanılır.

SONUÇ

Drozer aracı sayesinde uygulamalarınız hakkında birçok genel bilgiye ulaşabilirsiniz. Gerekli komut satırları kullanarak uygulama üzerindeki bilgilere erişebilirsiniz ve bazı bölümlerde değişiklikler yapabilirsiniz.

--

--

No responses yet