R&D
Tinjauan analisis APK berbahaya serba guna
함세련
Jul 28, 2021

[ Tinjauan analisis APK berbahaya serba guna ]


Isi
1. Status
2. Teknik Analisis
3. Hasil Analisis
4. Kesimpulan

1. Status

Baru-baru ini, kerusakan melalui phishing suara meningkat dari hari ke hari. Menurut data statistik Badan Kepolisian Nasional, jumlah kerusakan yang disebabkan oleh kejahatan voice phishing pada tahun 2020 adalah 2,13,76 triliun won. Selain itu, Anda bisa mengecek kerusakan body cam phishing melalui artikel berita terkini. Sejumlah artikel melalui “body cam phishing” sedang dilaporkan, seperti kasus kriminal di mana 2,2 miliar won diperas dari 511 korban melalui body cam phishing, dan jejak kerusakan melalui body cam phishing pada ponsel seorang gadis yang bunuh diri.

* 피해액 = jumlah kerusakan (amount of damage)

Saya menulis untuk membantu mengurangi insiden korban dengan mengomunikasikan teknik analisis APK berbahaya, risiko, dan rencana pencegahan melalui blog.

2. Teknik Analisis

1) Layanan verifikasi aplikasi berbahaya

Banyak perusahaan melakukan verifikasi aplikasi berbahaya berdasarkan tanda tangan APK dan analisis pola. Anda dapat memeriksa hasil identifikasi aplikasi berbahaya setiap perusahaan dengan menggunakan situs verifikasi aplikasi berbahaya Virustotal.

2) Analisis statis

File APK adalah file terkompresi dan terdiri dari file tempat kode Java dikompilasi, perpustakaan tempat kompilasi kode DEX, C, dan C++, sumber daya, dan file yang terkait dengan tanda tangan APK. Analisis logika dapat dilakukan dengan menggunakan alat dekompilasi (Androguard, Apktool, jadx-gui, JEB, IDA, dll.) yang mengubah file yang dikompilasi menjadi kode yang mudah dipahami.

3) Analisis dinamis

Penyerang melakukan tindakan jahat melalui protokol jaringan dan APK terdistribusi. Menggunakan alat Packet Capture dan Proxy, dimungkinkan untuk memeriksa pengiriman dan penerimaan konten antara penyerang dan korban, dan konfirmasi operasi aplikasi real-time dan gangguan dimungkinkan melalui Hooking, Debugging, dan Smali Code Inejction.

  • Pengambilan Paket

    Menggunakan tcpdump, Alat Penangkap Paket, Anda dapat memeriksa paket protokol dari Layer 2 hingga Layer 7 OSI yang digunakan di smartphone. Karena tcpdump menyalin dan menampilkan paket ke pengguna sebelum paket dikirimkan ke driver pengontrol antarmuka jaringan melalui pustaka libpcap, dimungkinkan untuk memeriksa semua data komunikasi antar perangkat.

    Dimungkinkan untuk memeriksa paket untuk protokol HTTP/HTTPS/WebSocket yang digunakan di ponsel pintar menggunakan Fiddler dan Burp suite, yang merupakan alat proxy. Di lingkungan Windows, konten komunikasi protokol HTTP ditangkap menggunakan Windows Internet API. Anda dapat memeriksa Fiddler dan Burpsuite HTTP Protocol Packet dengan mengatur Android agar terhubung ke Fiddler dan Burpsuite Proxy Server yang berjalan di lingkungan Windows. Karena Fiddler hanya mendukung protokol HTTP/HTTPS/WEBSocket, tidak mungkin untuk memeriksa paket untuk komunikasi TCP, tetapi Burp Suite juga dapat memeriksa konten komunikasi TCP melalui instalasi plug-in NoPE.

  • Mengaitkan

    Periksa nilai yang ditransmisikan/diterima secara dinamis melalui Frida, alat pengait. frida menyuntikkan perpustakaan dinamis ke dalam proses. Pustaka yang dimasukkan ke dalam proses aplikasi target pengait dapat mengakses dan memodulasi semua memori proses.

  • Debug

    Periksa nilai variabel yang secara dinamis melewati JEB, Netbeans, dan IDA, yang merupakan alat debugging. Saat menjalankan debugger dengan hak istimewa tertinggi (root), dimungkinkan untuk men-debug pustaka so menggunakan panggilan sistem ptrace, dan dimungkinkan untuk men-debug file yang dapat dieksekusi (dex) di DVM (Dalvik Virtual Machine) melalui JPDA (Java Platform Debugger Arsitektur).

  • Injeksi Kode Smali

    Periksa nilai variabel secara dinamis melalui injeksi kode smali. Selama kompilasi, kode Java diubah menjadi bytecode (Smali). Setelah memulihkan kode Smali melalui alat dekompilasi, bytecode dari logika yang dimaksud dimasukkan dan kemudian dikemas ulang untuk memodifikasi logika eksekusi.

3. Hasil analisis

1) Hasil analisis layanan verifikasi aplikasi berbahaya

LiveTalk.apk yang dikirim oleh penyerang menunjukkan bahwa 8 dari 74 perusahaan adalah aplikasi berbahaya. Meskipun dinilai sebagai aplikasi berbahaya yang mengekstrak informasi penting tanpa persetujuan pengguna, file APK yang dikirimkan ke smartphone korban saat penyerang menjalankan aplikasi dianggap oleh seluruh perusahaan sebagai aplikasi biasa.

2) Hasil analisis aplikasi berbahaya melalui analisis statis

Penyerang menggunakan APK terdistribusi dan APK yang dikirimkan selama eksekusi untuk mengekstrak informasi target dan mengontrol ponsel cerdas tanpa izin pengguna.

  • Daftar Kode Ekstraksi Informasi

    A. daftar nomor telepon

    Izin dan kode diatur untuk mengakses informasi kontak

      <uses-permission android:name="android.permission.READ_CONTACTS"/>
    

    B. lokasi

    Izin dan kode ditetapkan untuk mengakses informasi lokasi

        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    

    C. konten teks

    Izin dan kode diatur untuk akses ke konten teks

       <uses-permission android:name="android.permission.READ_SMS"/>
    

    D. daftar panggilan

    Izin dan kode diatur untuk mengakses log panggilan

      <uses-permission android:name="android.permission.READ_CALL_LOG"/>
    

    E. ID akun online

    ID akun yang terdaftar di perangkat Android, izin dan kode yang ditetapkan untuk mengakses informasi layanan yang digunakan

      <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    

    F. Alamat MAC Wifi, SSID

    Izin dan kode yang ditetapkan untuk Alamat Mac Wifi, verifikasi nama Wifi

      <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    

    G. Pengiriman informasi perangkat

    Izin dan kode untuk mengakses informasi perangkat Android

      <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    

    H. mengajukan

    Izin dan kode untuk membaca konten file di perangkat

      <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    

  • Daftar kode berbahaya

    A. Eksekusi perintah sistem ponsel korban

    Hasil kode kembali setelah menjalankan perintah yang diberikan oleh penyerang

    B. Hubungi nomor yang diberikan oleh penyerang

    Izin dan kode untuk menelepon ke nomor telepon yang diberikan oleh penyerang

      <uses-permission android:name="android.permission.CALL_PHONE"/>
    

    C. catatan

    Izin dan kode untuk merekam dan menyimpan

      <uses-permission android:name="android.permission.RECORD_AUDIO"/>
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    

    D. pemotretan

    Izin dan kode untuk mengambil dan menyimpan foto kamera

      <uses-permission android:name="android.permission.CAMERA"/>
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
      <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    

    E. Hapus file, hapus setelah enkripsi

    Izin dan kode untuk penghapusan dan enkripsi file

      <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    

    Hapus file

    Enkripsi file (kunci “jeritan” + “string yang dikirim oleh penyerang”)

    F.  Eksekusi aplikasi berkelanjutan

    Izin dan kode untuk eksekusi otomatis setelah reboot untuk eksekusi aplikasi berbahaya yang berkelanjutan dan eksekusi berkelanjutan bahkan saat aplikasi tidak digunakan

      <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
      <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
      <uses-permission android:name="android.permission.WAKE_LOCK"/>
    

    G. ganti wallpaper

    Izin dan kode diperlukan untuk ditetapkan sebagai wallpaper setelah mendekripsi file yang dikirim oleh penyerang

      <uses-permission android:name="android.permission.SET_WALLPAPER"/>
    

    H. komunikasi soket

    Kode pengiriman/penerimaan konten untuk eksekusi perintah dan ekstraksi informasi pribadi menggunakan komunikasi soket

    I. Muat DexFile

    DexFile memuat dan menjalankan kode setelah mengunduh file

      <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    

3) Hasil analisis aplikasi berbahaya melalui analisis dinamis

Penyerang dapat mengonfirmasi bahwa file DEX telah ditransfer dari server C&C dan kemudian dieksekusi untuk mencuri informasi pribadi.

  • Informasi lokasi serangan

    A. Debugging

    Server dan port komunikasi soket penyerang diperiksa melalui alat Debugging JEB

    • Tuan rumah komunikasi : 182.80.222.92
    • Port komunikasi : 4455

  • Kirim dan terima data

    A. Injeksi Kode Smali

    Kirim/terima keluaran data sebagai log melalui injeksi kode smali

    • Muat nama kelas : plugens.angel.plugnes.terminal
    • APK dikirim melalui komunikasi soket

    Daftar file APK yang diperoleh setelah memblokir logika penghapusan file melalui Smali Code Injection

    B. tcpdump

    Transmisi informasi korban dikonfirmasi menggunakan Data Paket tcpdump

    • Perangkat Perangkat: Samsung S10
    • Versi OS Android: Pie
    • UUID aplikasi yang diinstal : 5184e43e4-6245-e64f-54sd-69ff9e76d8f

4. Kesimpulan

Aplikasi jahat yang dianalisis bukan hanya aplikasi untuk phishing kamera tubuh, tetapi juga dapat menjalankan perintah di ponsel cerdas korban, mencuri file, informasi, dan bahkan ransomware yang ada. Setelah aplikasi terinstal, smartphone berada di tangan penyerang. Mari lindungi informasi pribadi dengan aman melalui pencegahan proaktif.

Instal antivirus di ponsel cerdas Anda. Antivirus menghapus dan memblokir aplikasi berbahaya agar tidak berjalan.

Jangan mengunduh aplikasi dari sumber yang tidak dikenal. Aplikasi yang terdaftar di Google Play adalah aplikasi yang telah menjalani verifikasi keamanan.

Jangan melakukan panggilan video cabul. Lawan jenis yang menarik tidak mengekspos tubuh kepada kita sejak awal.


Kim Ji-hyun, Hong Soon-bin, Oh Jin-young, “Phishing suara ditujukan untuk [The W] 2030… Memancing dengan ‘Part-timer’, ‘Body Cam’”, , 2021.05.02, [https://news.mt.co.kr/mtview.php?no=2021050209122253595](https://news .mt .co.kr/mtview.php?no=2021050209122253595)* Shin Jeong-eun, “Peringatan 'body cam phishing' yang menargetkan ziplock… 2,2 miliar kerusakan saja”,, 2021.02.18, https://news.sbs.co.kr/news/endPage.do?news_id=N1006212770&plink=SEARCH&cooper=SBSNEWSSEARCH&plink=COPYPASTE&cooper=SBSNEWSEND Choi Seon-eul, “Siswa sekolah menengah diancam dengan 'body cam phishing' dan jatuh dari atap gedung apartemen dan meninggal”, , 2021.05.31, [https://www.seoul.co.kr/news/newsView.php?id=20210531500185 ](https://www.seoul.co.kr/news/newsView.php?id=20210531500185)

함세련
RECENT POST
Minjoong Kim
Android 1day Exploit Analysis (CVE-2019-2215)
Android 1day Exploit Analysis by Newbie
이주협, 이주영
뉴비들의 하드웨어 해킹 입문기
뉴비들의 하드웨어 해킹 입문기