Konferensi BLACK HAT. Cara membuat ponsel mata-mata. Bagian 1

Presenter: Kevin McNami adalah Direktur Bell Labs Security Research Laboratory, yang merupakan bagian dari Alcatel-Lucent. Presentasinya disebut "Cara Membuat Telepon Mata-Mata", dan jika Anda memiliki pertanyaan, silakan simpan sampai akhir pidato sehingga kami tahu bahwa kami memiliki waktu yang cukup untuk mereka.

Kevin McNami: Saya menyambut semua orang, saya senang saya berbicara di sini hari ini. Saya akan berbicara tentang cara membuat ponsel mata-mata yang bagus, tetapi saya pikir minat utama Anda adalah bagaimana Anda dapat mengambil modul ponsel mata-mata SpyPhone ini dan memasukkannya ke dalam aplikasi Android.



Presentasi saya akan terdiri dari 3 bagian. Yang pertama adalah demonstrasi SpyPhone dalam aksi, maka kita akan berbicara sedikit tentang desain khusus "telepon mata-mata". Bagian ketiga dari percakapan akan dikhususkan untuk bagaimana Anda dapat menyuntikkan layanan SpyPhone ke dalam aplikasi, dan pada akhirnya saya akan menyukai hasilnya dan menjawab pertanyaan.

Slide berikutnya menunjukkan bagaimana orang terbiasa mempersepsikan "telepon mata-mata". Pada dasarnya, mereka percaya bahwa telepon semacam itu memungkinkan Anda memata-matai orang lain.



Telepon mata-mata modern terlihat berbeda, ini adalah smartphone biasa yang menjalankan OS Android. Android adalah platform yang sangat fleksibel yang mudah digunakan, sangat terbuka dan memungkinkan Anda melakukan banyak hal. Jadi, seperti inilah tampilan SpyPhone modern. Saya pikir hal yang sama dapat dilakukan dengan ponsel yang menjalankan iOS, tetapi saya memfokuskan upaya saya pada Android.



Sebelumnya, untuk mengatur pengawasan luar, Anda akan memerlukan berbagai peralatan, mulai dari tape recorder hingga rekaman percakapan telepon hingga tape dan berakhir dengan mobil dengan peralatan untuk pengawasan rahasia. Hari ini yang Anda butuhkan hanyalah ponsel Android. Anda menggunakan telepon dengan perangkat lunak khusus yang diinstal di dalamnya dan Anda dapat melacak orang yang memiliki telepon ini. Anda dapat mengontrol panggilan teleponnya, Anda dapat mengontrol lokasinya, Anda bahkan dapat mengirim pesan dari telepon orang ini, melihat daftar kontak, dll.



Ini adalah bentuk perangkat pengawasan cyber yang sangat kuat. Jika ponsel seseorang terinfeksi aplikasi spyware ini dan orang ini membawanya ke kantor, Anda dapat mengikuti orang ini di tempat kerja, menonton rapat bisnis, dan sebagainya. Manajemen dan kontrol perangkat mata-mata dilakukan melalui Internet. Modul mata-mata tidak memerlukan peralatan tambahan khusus, semuanya terletak di dalam telepon. Ketika dia memiliki sesuatu untuk menyampaikan hal-hal menarik, dia menghubungi Anda melalui situs web perintah & kontrol dan mengirimkan informasi. Nanti saya akan tunjukkan demo cara kerjanya.

Sekarang perhatikan langkah-langkah penanggulangannya. Di zaman kuno, apa yang disebut "kerucut diam" digunakan untuk mencegah menguping. Jika seseorang memata-matai Anda, Anda selalu bisa memasuki "kerucut keheningan" dan berkomunikasi dengan teman bicara Anda sepenuhnya dengan bebas.



"Kerucut kesunyian" hari ini tampak sedikit berbeda. Perusahaan tempat saya bekerja telah mengembangkan teknologi yang dapat ditempatkan di jaringan dan yang secara otomatis mendeteksi lalu lintas seperti perintah & kontrol, yang dimediasi oleh ponsel Android.



Itulah sebabnya kami menciptakan modul SpyPhone, yang kami gunakan sebagai demonstrasi ketika kami mendatangi pelanggan kami, yang sebagian besar merupakan penyedia layanan komunikasi seluler dan Internet seluler. Kami menunjukkan kepada mereka "telepon mata-mata" untuk menunjukkan bahwa ada masalah keamanan besar di jaringan seluler. Ancaman ini masih dalam masa pertumbuhan, tetapi berpotensi menyebabkan kerusakan besar di masa depan. Kami menggunakan modul ini untuk mengedukasi pelanggan kami tentang bahaya, jadi wajar jika bagian kedua dari demonstrasi adalah presentasi produk kami, yang dapat menahan bahaya ini.

Smartphone adalah perangkat yang sangat kuat. Ini memberikan akses ke lokasi Anda, menghubungkan ke Internet dari hampir di mana saja, memiliki mikrofon, kamera, menghubungkan ke jaringan lokal melalui Wi-Fi, dan semua ini menjadikannya platform spionase yang ideal.

Saya akan mengatakan bahwa smartphone adalah alat spionase maya yang ideal yang dapat digunakan untuk melacak lokasi korban, mengunduh informasi pribadi, mencegat dan mengirim pesan, merekam percakapan, dan mengambil foto tanpa sepengetahuan pemiliknya. Dalam konteks BYOD dan APT, ini adalah platform yang ideal untuk meluncurkan serangan internal pada jaringan perusahaan atau pemerintah.

Saya pikir saya sudah cukup banyak berbicara tentang ini, jadi mari kita beralih ke demonstrasi. Di sebelah kiri Anda melihat tangkapan layar dari layar ponsel, yang akan segera menjadi spyware, ini adalah ponsel yang saya gunakan saat ini. Di sebelah kanan Anda melihat konsol perintah & kontrol, yang akan digunakan oleh orang yang melacak telepon ini.



Jadi, kami mengambil malware, modul SpyPhone, dan menerapkannya dalam salinan game Angry Birds yang sangat populer. Kemudian kami mengirim satu orang surel yang mengatakan bahwa ia bisa mengunduh permainan keren ini dan memainkannya. Kami juga dapat menempatkan game yang terinfeksi ini di situs pihak ketiga, tempat pengguna dapat mengunduhnya. Sekarang saya akan pergi ke browser saya di ponsel saya untuk melihat surat yang diterima.

Jadi, ketika orang ini menerima surat itu, dia mengklik tautan dan masuk ke toko aplikasi "Android" yang sebenarnya di halaman dengan permainan kami. Kami memutuskan untuk menyebutnya Very Angry Birds, karena berisi modul SpyPhone.



Jadi, pengguna mengunduh game ini. Di ponsel Android Anda, ketika Anda menginstal aplikasi, ia memberi Anda daftar semua izin yang diperlukan untuk bekerja.



Dikatakan bahwa aplikasi memerlukan akses ke lokasi Anda, informasi pribadi, komunikasi jaringan, penyimpanan data, layanan berbayar, panggilan telepon. Karena pengguna ingin menginstal aplikasi, ia biasanya tidak memperhatikan semua izin ini, yang terus-menerus muncul ketika menginstal program, dan cukup mengklik tombol "Instal". Sekarang layar menunjukkan bagaimana proses instalasi aplikasi berjalan. Selanjutnya, kami meluncurkan aplikasi yang diinstal. Sekarang di sebelah kiri Anda melihat permainan berjalan, dan di sebelah kanan - informasi dari situs web perintah & kontrol bahwa smartphone berada di bawah kendali, dan Anda dapat mendengar suara yang menyertai permainan.



Saya akan membisukan suara karena itu mengganggu saya. Jadi, perhatikan bahwa game ini bermain seperti biasa, tidak ada yang luar biasa yang bisa menarik perhatian pengguna. Tidak ada bukti bahwa sesuatu yang aneh sedang terjadi pada telepon.

Pengguna bermain, ini sangat keren, tetapi bahkan ketika dia berhenti bermain dan menutup permainan, modul mata-mata akan terus bekerja di latar belakang. Bahkan jika Anda me-restart telepon, layanan SpyPhone akan di-restart, sekarang selalu ada di smartphone ini. Jadi, ponsel ini terinfeksi mata-mata cyber dan sekarang ditampilkan di sini di konsol situs web perintah & kontrol. Jika saya mengklik baris ini, situs akan memberi saya informasi yang tersimpan di perangkat ini. Kita bisa mendapatkan peta dengan lokasi perangkat ini - ini Las Vegas.



Izinkan saya menekankan bahwa di sini koneksi antara telepon dan komputer tidak dilakukan secara langsung, tetapi melalui Internet menggunakan server web yang berlokasi di Ottawa, tempat saya bekerja. Satu-satunya alasan saya menghubungkan ponsel ini dengan kabel ke komputer saya adalah kebutuhan untuk mengambil screenshot. Konsol menunjukkan bahwa kami memiliki telepon lain yang bekerja secara bersamaan. Ini adalah salah satu dari mereka yang berlokasi di Cina, sehingga Anda dapat membuat jaringan internasional "telepon mata-mata" dan memonitor mereka sepanjang waktu saat mereka sedang online.

Jadi, kembali ke telepon kita di Las Vegas. Anda dapat melihat bahwa di sini adalah alamat email dari akun pemilik ponsel, nomor telepon, standar komunikasi CDMA, jenis jaringan, IMEI, negara operator seluler, namanya, status kartu SIM, koordinat lokasi, dan kontak pemilik telepon. Semua informasi ini diunggah ke server perintah & kontrol, dan kami dapat melacak pemilik ponsel ini 24 jam sehari, 7 hari seminggu dan menggunakan semua informasi yang disediakan ponsel, termasuk mengunduh daftar kontak orang tertentu ini. Ini akan memberi kita daftar tujuan potensial lainnya jika kita menggunakan semacam spionase dunia maya industri, ketika kita ingin mengetahui dengan siapa pemilik telepon berbicara dan dengan siapa berbisnis. Kita dapat menggunakan daftar kontak ini untuk menargetkan orang-orang tertentu.

Orang dapat membayangkan bahwa seorang penyerang mendistribusikan game ini ke semua toko aplikasi Android, dan setelah orang mengunduhnya, Anda fokus pada beberapa karyawan perusahaan tertentu, pada daftar kontaknya, dan seterusnya.

Hal lain yang dapat kita lakukan adalah memperbarui spyware yang diinstal dan mengirim pesan ke telepon yang terinfeksi. Anda dapat menggunakannya untuk tujuan lain, misalnya, hanya untuk menakut-nakuti orang dengan pesan seperti itu. Kami dapat mengakses pesan SMS dan email, menentukan lokasi ponsel. Semua operasi ini ditunjukkan di bagian atas konsol untuk mengelola ponsel yang diambil, disorot dengan warna biru. Hal lain yang dapat dilakukan adalah menyalakan kamera ponsel, saya akan coba melakukannya sekarang. Saya mengambil telepon di tangan saya dan mengklik fungsi "Peep" di konsol kontrol, itu akan memakan waktu, karena Anda perlu mengambil foto dan mengirimkannya ke situs web perintah & kontrol. Seperti yang Anda lihat, pada awalnya foto saya muncul, diambil dengan kamera depan, di belakangnya adalah foto ruangan ini, diambil dengan kamera belakang. Dengan demikian, saya dapat memotret dari jarak jauh pada ponsel yang terinfeksi dan menerima foto-foto ini.

Jika Anda perhatikan, gim ini masih berjalan di layar, sehingga orang tersebut tidak akan menyadari bahwa foto itu diambil. Ini dilakukan di latar belakang tanpa sepengetahuan pengguna. Kita bisa menggunakan teknologi yang sama untuk merekam video. Hal terakhir yang ingin saya tunjukkan adalah fungsi mendengarkan. Jadi, saya katakan di telepon, "Ini ujian, satu, dua tiga, ini ujian, satu, dua, tiga." Lalu saya klik tombol "Play Audio", koneksi butuh sedikit waktu, dan sekarang Anda mendengar pengulangan kata-kata saya.



Jadi, saya merekam percakapan melalui mikrofon ponsel dan mengunggahnya ke situs web perintah & kontrol, jadi semuanya sangat keren. Jadi, itu adalah demonstrasi dari apa yang bisa dilakukan teknologi SpyPhone.

Sekarang mari kita bicara sedikit tentang bagaimana kami mengembangkan desain dan teknologi perangkat lunak kami dan mengapa kami membuat keputusan desain seperti itu. Saya akan kembali ke slide sebelumnya.



Pertama, kami ingin menggabungkan malware kami dengan fitur ponsel asli dan membuat program spyware tipe Trojan dengan akses jarak jauh yang akan bekerja dengan ponsel Android. Kami mengambil sebagai dasar aplikasi demo yang disebut "Kamus yang Dapat Dicari" dan memodifikasinya sehingga modul spyware dapat dimasukkan ke dalamnya, dan mengimplementasikannya sebagai aplikasi reguler untuk Android.

Artinya, kami menganut desain program Android asli menggunakan Java. Kami membutuhkannya untuk memuat semua komponen yang diperlukan di dalam dirinya, untuk bekerja di latar belakang, bahkan jika aplikasi dihentikan, itu dimulai ketika ponsel dimuat. Tugas kedua kami adalah menyediakan integrasi SpyPhone dengan mudah ke dalam aplikasi resmi. Ini berhasil, dan malware kami tidak mengganggu pengoperasian aplikasi lain yang diinstal pada ponsel. Sebagai perintah & kontrol, perintah & kontrol server, kami memilih server web NodJS dengan transfer data melalui HTTP. Untuk perintah kontrol program kami, kami menggunakan antarmuka JS, dan perintah itu sendiri terlihat seperti ini:

perbarui - kirim informasi ke server,
bersulang - menampilkan pesan di layar,
shutdown - hentikan SpyPhone,
sms - mengirim pesan SMS ke kontak,
lokasi - mengirim informasi lokasi telepon ke server,
mengintip - mengambil foto dan mengirimkannya ke server,
mendengarkan - merekam suara dan mengirim ke server.

Semua ini cukup mudah diprogram, karena pencipta Android menyediakan sistem mereka dengan seperangkat alat pengembangan SDK yang cukup kuat. Kit ini menyediakan antarmuka untuk semua yang Anda inginkan. Kami tidak pernah mengembangkan program Android, tetapi berkat SDK ini, kami bahkan tidak perlu belajar apa pun dan kami mengembangkannya dalam beberapa minggu.

Slide berikutnya menunjukkan desain awal dari kamus yang Dapat Dicari, atas dasar yang kami buat SpyPhone menggunakan kode Java yang Anda lihat di sini. Kami menambahkan bagian yang disebut droidwhisper ke aplikasi ini.



Ini adalah bagian yang akan kami potong dan tempel ke dalam aplikasi yang sesuai nanti. Kami tidak memiliki pengalaman dalam membuat eksploitasi khusus yang akan mengeksploitasi kerentanan aplikasi, jadi kami mengimpor API standar yang disediakan Android:

Informasi Pengguna
- Impor android.accounts.Account;
- Impor android.accounts.AccountManager.
Telepon dan SMS
–Impor android.telephony.SmsManager;
–Impor android.telephony.TelephonyManager.
Lokasi
–Impor android.lokasi.Lokasi;
–Impor android.location.LocationListener;
–Impor android.lokasi.LokasiManager;
Merekam file media (audio dan video)
- Impor android.media.MediaRecording.
Kamera
–Impor android.hardware.Camera;
–Impor android.hardware.Camera.PictureCallback;
–Impor android.hardware.Camera.PreviewCallback;
–Impor android.hardware.Camera.Size;
–Impor android.media.AudioManager;
–Impor android.view.SurfaceHolder;
–Impor android.view.SurfaceView.
Internet
–Impor org.apache.http.HttpResponse;
–Import org.apache.http.NameValuePair;
–Impor org.apache.http.client.ClientProtocolException;
–Impor org.apache.http.client.HttpClient.

Seseorang mengatakan bahwa merekam video dan mengambil gambar saat ponsel ada di saku pengguna tidak terlalu baik. Karena itu, jika Anda ingin mengambil foto yang baik, Anda mengirim pesan teks ke pemilik, karena kami memiliki nomor teleponnya. Dia menerima pesan, memegang telepon menghadap dirinya untuk membacanya, dan saat ini Anda mengambil foto dengan kamera depan. Jika Anda hanya memanggilnya, ia membawa telepon ke telinganya, dan pada saat itu Anda dapat mengambil gambar dengan kamera belakang.



Membuat kamera berfungsi sedikit lebih rumit, jadi kami menggunakan seluruh rangkaian kelas, misalnya AudioManager, SurfaceHolder, dan sejenisnya. Kami harus menyediakan untuk sementara mematikan suara klik saat foto diambil, agar tidak menarik perhatian pengguna jika fungsi ini diaktifkan dalam pengaturan kameranya. Selain itu, kami membayangkan bahwa foto atau video mata-mata yang diambil harus ditampilkan di galeri telepon sebagai gambar kecil berukuran 1 piksel sehingga pengguna tidak dapat melihatnya. Jadi kami harus menggunakan beberapa trik untuk memastikan operasi yang tidak mencolok dari modul mata-mata kami. Seperti yang telah saya perhatikan, hampir semuanya untuk menyediakan komunikasi dengan server perintah & kontrol terdapat di dalam telepon itu sendiri. Kami juga menggunakan beberapa kelemahan keamanan Android.

Seperti yang Anda ketahui, aplikasi ini harus ditandatangani untuk dapat diinstal di ponsel, tetapi ini bukan masalah, karena Anda dapat menggunakan sertifikat lama untuk penandatanganan, karena yang terpenting adalah aplikasi tersebut memiliki sertifikat secara umum, tidak peduli yang mana. Nanti saya akan berbicara lebih banyak tentang ini.

Jadi, ini adalah deskripsi singkat tentang desain yang kami gunakan saat membuat aplikasi. Sekarang saya akan memberi tahu Anda tentang proses implementasi, yaitu, bagaimana kami mengambil modul jahat kami dan memasukkannya ke dalam aplikasi.

Hal pertama yang kami lakukan adalah memilih game Angry Birds. Kami memilihnya bukan karena itu adalah permainan yang sangat bagus, tetapi karena popularitasnya. Modul SpyPhone kami dapat sepenuhnya dimasukkan ke dalam aplikasi apa pun. Pertama-tama, kita memerlukan salinan file .apk asli. Ini adalah arsip yang berisi semua komponen aplikasi. Di dalam file aplikasi adalah kode Java, atau lebih tepatnya, tidak cukup Java - ini adalah kode untuk mesin virtual Dalvik. Kode ini dapat diganti dengan konten lain, ini disebut kerentanan "kunci utama". Jadi, kita harus membuka file .apk ini dan membongkarnya, yaitu, memiliki daftar semua komponen yang harus dibongkar.
Jadi, pertama-tama, kami mengekstrak semua komponen aplikasi Angry Birds 2000.



Kemudian, di direktori smali, kami memasukkan direktori contoh / android / droidwhisper kami, dan itu berada di folder final droidwhisper tempat file aplikasi kamus yang dapat dicari yang mengandung modul mata-mata kami berada.



Kami mengunduh game Angry Birds dari Google Play Market dan membuat salinannya. Hal berikutnya yang kita khawatirkan adalah kunci tanda tangan. Anda melihat semua file ini di direktori kami yang disebut inject.

Dalam proses pembongkaran, kami menggunakan program Apk_tools, alat untuk mengelola file .apk. Sekarang, menggunakan baris perintah, saya menunjukkan bagaimana kami mulai membongkar Angry Birds.



Selanjutnya, kami melanjutkan pembongkaran aplikasi secara langsung. Kami membuat katalog Angry Birds, tempat kami memasukkan semua komponen aplikasi. Karena ini adalah demo, Anda harus menunggu sedikit hingga proses pembongkaran selesai. Jadi, Anda melihat banyak direktori, folder aset terletak pertama, berisi hal-hal seperti suara, lalu ada folder sumber daya, perpustakaan lib, tetapi kuncinya bagi kami adalah direktori smali, yang berisi kode dan format bahasa assembly.

23:00 mnt

Konferensi BLACK HAT. Cara membuat ponsel mata-mata. Bagian 2



Terima kasih telah tinggal bersama kami. Apakah Anda suka artikel kami? Ingin melihat materi yang lebih menarik? Dukung kami dengan melakukan pemesanan atau merekomendasikannya kepada teman-teman Anda, diskon 30% untuk pengguna Habr pada analog unik dari server entry-level yang kami temukan untuk Anda: Seluruh kebenaran tentang VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps dari $ 20 atau bagaimana membagi server? (opsi tersedia dengan RAID1 dan RAID10, hingga 24 core dan hingga 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps hingga Januari secara gratis ketika membayar untuk jangka waktu enam bulan, Anda dapat memesan di sini .

Dell R730xd 2 kali lebih murah? Hanya kami yang memiliki 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV dari $ 249 di Belanda dan Amerika Serikat! Baca tentang Cara Membangun Infrastruktur Bldg. kelas menggunakan server Dell R730xd E5-2650 v4 seharga 9.000 euro untuk satu sen?

Source: https://habr.com/ru/post/id434052/


All Articles