- Katılım
- 27 Ocak 2026
- Mesajlar
- 70
- Tepkime puanı
- 36
- Puan
- 18
Selamlar arkadaşlar, herkese iyi forumlar.
Biliyorsunuz dün akşamki konuda Android dünyasının en belalı konularından biri olan WebView zafiyetlerini ve RCE (Remote Code Execution) risklerini detaylıca konuşmuştuk. İşin teorisini ve mantığını kaptıysak, bugün biraz işleri hızlandıralım istedim.Her pentest sürecinde tek tek dosyaları elle gezmek bazen saatler alabiliyor. Bu yüzden, statik analiz sürecini otomatize eden, kendi yazdığım ATOOL (Android Tool) isimli Python aracını sizinle paylaşıyorum.
Ama sadece tool'u verip kaçmak yok. "Tool çalıştır geç" mantığı bize ters. O yüzden konunun sonunda, bu tool'un bulduğu açıkları Linux komutlarıyla (grep, find vb.) manuel olarak nasıl doğrulayacağınızı da anlatacağım.
ATOOL Nedir?
ATOOL, decompile ettiğiniz (kaynak koduna ayırdığınız) bir APK klasörünü tarayan ve size HTML formatında rapor sunan bir Python scripti. İçerisinde 150'den fazla zafiyet imzası var.
Neleri Yakalar?
- unutulmuş API Key'ler (AWS, Google, Firebase vb.)
- Tehlikeli WebView kullanımları (Dün anlattığım addJavascriptInterface vb.)
- SQL Injection riskleri
- Root ve Emulator tespiti yapan kod blokları
- Manifest dosyasındaki tehlikeli izinler
Kurulum ve Kullanım
ATOOL-v1.0Aracı kullanmak için bilgisayarınızda Python yüklü olması yeterli.
cd atool
pip install -r requirements.txt
Hedef Uygulamayı Hazırlayın (Decompile):Önce APK'yı parçalamamız lazım (bunun için apktool kullanıyoruz):
Taramayı Başlatın:apktool d hedef_uygulama.apk -o /klasor/yolu
python atool.py -d /klasor/yolu
İşlem bitince klasörde atool_report.html-json-csv diye birden fazla dosya oluşacak. Açın bakın, html'de her şey renkli renkli karşınızda.
Asıl Olay: Manuel Doğrulama (False Positive Avı)
Arkadaşlar, hiçbir otomatiğe %100 güvenmeyin. Tool size "Burada açık olabilir" der, hacker ise onu doğrular. ATOOL bir şey bulduğunda, terminalden şu komutlarla manuel sağlamasını yapabilirsiniz:
1. Hardcoded Secret / API Key Doğrulama
Tool size "Google API Key buldum" derse, hemen terminale dönüp grep ile o dosyayı ve satırı kendiniz bulun.(Bu komut, klasördeki tüm dosyalarda "AIza" ile başlayan Google keylerini arar.)grep -r "AIza" .
Eğer genel bir "password" veya "secret" araması yapacaksanız:
(-r: recursive/derinlemesine, -i: büyük/küçük harf duyarsız)grep -ri "api_key" .
grep -ri "password" .
2. WebView Zafiyetlerini Doğrulama
Dünkü konumuzdaki addJavascriptInterface belasını manuel aramak isterseniz:Komut:
Eğer sonuçlarda addJavascriptInterface görüyorsanız ve hemen üstünde @JavascriptInterface annotasyonu yoksa (eski Android sürümleri için) veya JS köprüsü gereksiz yere açıksa, oradan yürüyebilirsiniz.grep -r "addJavascriptInterface" .
3. Root Tespitini Aşma
Uygulama "Cihaz rootlu, açılmam" diyorsa, kodun içinde neyi kontrol ettiğini bulmak için:Komut:
Bu komutlar, uygulamanın root kontrolü yaparken hangi kütüphaneleri veya dosya yollarını kontrol ettiğini gösterir. Sonra Frida ile o fonksiyonu hooklayıp return false döndürebilirsiniz.grep -ri "RootBeer" .
grep -ri "/system/bin/su" .
grep -ri "test-keys" .
4. Manifest Analizi
Manifest dosyasında exported="true" olan aktiviteler dışarıdan tetiklenebilir. Bunu bulmak için XML okumaya çalışmak yerine:grep 'android:exported="true"' AndroidManifest.xml
Tool'u geliştirmeye devam ediyorum. Kodlar açık kaynak, istediğiniz gibi değiştirip kullanabilirsiniz. Hata bulursanız veya "Şunu da ekle" derseniz yorumlarda belirtin, güncelleyelim.
İyi çalışmalar,Iyi forumlar.. ATOOL-v1.0