3 poin oleh GN⁺ 2025-09-16 | Belum ada komentar. | Bagikan ke WhatsApp
  • Membeli kamera Tapo untuk memantau anjing di rumah, tetapi tanpa diduga malah melakukan reverse engineering terhadap cara kerja perangkat dan aplikasi TP-Link
  • Untuk menganalisis proses onboarding dan struktur komunikasi API yang terenkripsi, digunakan berbagai teknik seperti MITM, dekompilasi APK, hingga pembuatan skrip dekripsi
  • Dengan menemukan kata sandi admin awal dan proses derivasi session key, ia berhasil mendekripsi pesan terenkripsi dan memahami masalah sinkronisasi yang tidak andal antara perangkat dan akun cloud
  • Dengan menganalisis seluruh alur onboarding, ia mengotomatiskan proses pemanggilan API utama, pembuatan akun, perubahan kata sandi, dan koneksi Wi-Fi dengan skrip Bash
  • Menunjukkan celah dalam desain keamanan firmware Tapo, implementasi enkripsi yang kurang rapi, serta sinkronisasi akun yang tidak konsisten—ciri khas perangkat IoT murah

Gambaran proyek

  • Penulis membeli dan menggunakan kamera Tapo berbiaya rendah untuk memantau anjing di dalam rumah
  • Karena proses pengaturan yang merepotkan dan minimnya informasi online, ia terdorong untuk menggali lebih dalam cara kerja produk tersebut
  • Saat mencoba integrasi frigate dan mengaktifkan 2way audio, muncul masalah tak terduga, sehingga ia tertarik pada metode onboarding langsung tanpa integrasi cloud

Analisis struktur onboarding dan autentikasi

  • Untuk menganalisis prosedur koneksi kamera Tapo, penulis mencegat trafik antara aplikasi dan kamera menggunakan MITM proxy serta alat dynamic hooking frida
    • Karena aplikasi modern memiliki fitur tahan-bypass seperti pengabaian proxy dan certificate pinning, pendekatan dengan alat dinamis terbukti efektif
  • Setelah menyiapkan skema bypass ini, ia dapat mengonfirmasi secara tepat proses login akun admin default dalam alur onboarding kamera
  • Ia menemukan bahwa API login default berjalan dengan kata sandi bawaan unik milik perangkat, terpisah dari kata sandi akun cloud

Menelusuri struktur enkripsi dan kata sandi default

  • Melalui dekompilasi APK (menggunakan JADX) dan analisis kode, ia memperoleh kata sandi default untuk akun admin (TPL075526460603)
  • Dari fakta bahwa perangkat kamera yang sudah terhubung tidak menyadari perubahan kata sandi cloud, ia memastikan bahwa sinkronisasi kata sandi antara aplikasi dan kamera tidak akurat
  • Karena sudah mengetahui kata sandi default, ia mengimplementasikan logika derivasi session key (lsk, ivb) sehingga dapat mendekripsi pesan API terenkripsi secara real-time

Skrip mitmproxy dan analisis API

  • Dengan merujuk pada proyek open source PyTapo, ia menganalisis secara rinci alur API prosedur onboarding Tapo yang sebenarnya
  • Melalui skrip tapo_decrypt_pretty.py, ia dapat:
    • mendeteksi login handshake
    • mengekstrak session key
    • mendekripsi API terenkripsi, menampilkannya dengan format yang mudah dibaca, dan menyimpan JSON
  • Dari seluruh log pemanggilan API onboarding, ia memilih hanya proses utama yang benar-benar penting untuk membangun workflow otomatis
    • mengambil daftar Wi-Fi (scanApList)
    • mengaktifkan akun RTSP/ONVIF
    • mengubah kata sandi admin
    • menyambungkan Wi-Fi

Otomatisasi dan hasil

  • Dengan skrip Bash (tapo_onboard.sh), ia menyusun seluruh proses onboarding di atas agar dapat dijalankan otomatis
    • login admin default
    • memilih dan menyambungkan Wi-Fi
    • menghapus logo pada feed kamera
    • mengizinkan penggunaan RTSP/ONVIF
    • mereset kata sandi admin
  • Dari struktur firmware kamera, ia menemukan karakteristik dan kelemahan berikut
    • beberapa API menggunakan hash SHA-256, tetapi sebagian lain masih mempertahankan skema lama seperti MD5
    • terdapat 2 public key, namun tidak jelas kunci mana yang harus dipakai dalam kondisi tertentu
    • sinkronisasi kata sandi antara aplikasi dan perangkat sangat tidak stabil

Kesimpulan dan kesan

  • Struktur keamanan firmware dan API kamera Tapo terasa seperti tambal sulam dan desain yang kurang matang
  • Penulis secara tidak langsung merasakan realitas celah keamanan dan sistem onboarding yang tidak sempurna pada perangkat IoT murah
  • Tujuan utama proyek ini, yaitu memeriksa kondisi anjing peliharaannya, tetap berhasil dicapai; dan ternyata anjing itu paling sering terlihat tidur di sofa atau tempat tidur

Belum ada komentar.

Belum ada komentar.