2 poin oleh GN⁺ 28 hari lalu | 1 komentar | Bagikan ke WhatsApp
  • Saat layanan seluler sistem interkom Doorking yang ada dihentikan dan fungsi buka-tutup gerbang berhenti bekerja, dilakukan peretasan perangkat keras untuk memulihkan kendali jarak jauh
  • Menggunakan papan relay Wi-Fi ESP32 untuk mengendalikan langsung kabel kontrol solenoid, lalu menyusunnya sebagai klien protokol Matter yang terhubung ke Apple Home
  • Dengan firmware berbasis Rust, gerbang dirancang hanya terbuka selama waktu tertentu lalu terkunci otomatis agar keamanan tetap terjaga
  • Untuk mengatasi masalah bentrok memori antara Wi-Fi dan Bluetooth, kedua stack dijalankan secara eksklusif, lalu dioptimalkan agar hanya Wi-Fi yang dipakai setelah provisioning
  • Hasilnya, tercipta contoh perluasan IoT tersembunyi yang memungkinkan gerbang dikendalikan lewat smartphone tanpa merusak sistem yang sudah ada

Proyek kotak rahasia yang menghubungkan interkom apartemen ke Apple Home

  • Proyek ini bermula dari situasi ketika interkom apartemen teman menggunakan sistem Doorking 1834-080, dan karena kelalaian pengelolaan, layanan selulernya dihentikan sehingga fungsi buka-tutup gerbang tidak lagi bekerja
  • Ketika pengunjung tak lagi bisa meminta masuk lewat panggilan telepon, dibuat solusi peretasan perangkat keras berbasis ESP32 agar gerbang dapat dibuka dari jarak jauh lewat Apple Home

Investigasi awal dan percobaan pertama

  • Hasil pemeriksaan di lokasi menunjukkan kotak bagian atas interkom tidak terkunci sehingga struktur internalnya bisa diperiksa, dan router Wi-Fi/seluler masih memakai kata sandi default
  • Setelah mengunduh file konfigurasi router, ditemukan kerentanan yang memungkinkan reset kata sandi root, tetapi pendekatan ini ditinggalkan karena rumitnya analisis protokol serial kustom milik sistem
  • Pada percobaan kedua, dicoba meniru sinyal DTMF lewat terminal saluran telepon ('PH LINE'), tetapi eksperimen dihentikan karena besar kemungkinan kotak kontrol mengabaikan perintah saat tidak sedang menunggu panggilan masuk

Pendekatan ketiga: kontrol di tengah rangkaian

  • Saat kotak sambungan kabel (junction box) di antara kotak suara dan pengendali utama dibuka, terlihat kabel kontrol solenoid yang mengendalikan kunci gerbang melewati sana
  • Solenoid memiliki struktur sederhana: saat daya diberikan, gerbang terbuka; saat diputus, gerbang terkunci. Dari sini muncul gagasan membuka gerbang dengan menyuplai daya secara langsung
  • Daya bantu 12V DC ditarik dari kotak suara untuk menjalankan papan relay Wi-Fi ESP32, lalu disusun rencana untuk menghubungkannya ke Apple Home
    • Kabel kontrol solenoid dicabang lalu dihubungkan ke relay ESP32
    • Firmware ditulis dalam Rust agar berjalan sebagai klien protokol Matter
    • Rangkaian dirancang agar tetap mempertahankan operasi normal sistem lama sambil memungkinkan kontrol paralel

Konfigurasi perangkat lunak

  • Menggunakan library Matter berbasis Rust untuk menghubungkan ESP32 ke Apple Home
  • Setelah koneksi jaringan terbentuk dan perintah diterima, gerbang dibuka selama waktu tertentu (default 10 detik) lalu terkunci otomatis
  • Ini mencegah gerbang tetap terbuka terlalu lama sehingga keamanan tetap terjaga
  • Kode dibuka untuk umum: GitHub - ImTheSquid/doorbell2

Masalah memori dan solusinya

  • Karena kekurangan RAM pada ESP32, menjalankan stack Wi-Fi dan Bluetooth secara bersamaan menyebabkan kerusakan memori dan reset
  • Implementasi Matter yang digunakan memakai stack Bluedroid, yang memperparah masalah
  • Sebagai solusi, Wi-Fi dan Bluetooth dibuat aktif secara saling eksklusif, dan opsi penghematan memori diterapkan pada file konfigurasi (sdkconfig.defaults)
  • Bluetooth hanya diaktifkan sementara saat provisioning, lalu setelah itu sistem distabilkan agar hanya menggunakan Wi-Fi
  • Di Apple Home, kunci gerbang tampil normal, dan informasi pabrikan juga bisa diatur secara bebas

Instalasi dan penyelesaian masalah daya

  • Papan ESP32 pas sepenuhnya di dalam kotak kabel sehingga tidak terlihat dari luar
  • Awalnya kabel daya ditarik dari kotak suara tetapi tidak berfungsi, sehingga pengujian sementara berhasil dilakukan memakai baterai bor nirkabel 20V
  • Setelah manual diperiksa, baru diketahui bahwa terminal 12V pada kotak suara ternyata untuk input
  • Masalah daya diselesaikan dengan menambahkan regulator penyearah yang mengubah input 18V AC menjadi 12V DC
  • Semua komponen kemudian dirapikan di dalam kotak kabel hingga proyek selesai

Hasil dan makna proyek

  • Lewat Apple Home, gerbang kini bisa dikendalikan dari jarak jauh lewat smartphone, dan pengunjung juga dapat membuka gerbang serta pintu apartemen sekaligus dari aplikasi
  • Instalasinya berupa struktur tersembunyi yang hanya terdiri dari papan ESP32 dan perangkat daya kecil, tanpa mengganggu sistem akses yang sudah ada
  • Dengan peretasan rangkaian sederhana dan integrasi berbasis standar terbuka, ini menjadi contoh IoT praktis yang memperluas fungsi perangkat keras lama
  • Proyek ini juga memberi pengalaman peretasan rangkaian, dan dapat direplikasi dengan mudah di lingkungan serupa

1 komentar

 
GN⁺ 28 hari lalu
Komentar Hacker News
  • Menunjukkan bahwa ini adalah tindakan yang sangat abu-abu secara hukum dan etika
    Menyambungkan ke boks di dalam apartemen pribadi masih bisa dipahami, tetapi menyambungkan ke pengendali pintu masuk bersama lalu membagikan akses kepada teman dianggap bermasalah
    Fakta bahwa ada beberapa kali upaya menghindari ketahuan membuatnya terlihat seolah OP sendiri tahu bahwa ini salah

    • Selain itu, ia disebut telah melewati log dan menghilangkan catatan yang diperlukan untuk penyelidikan kriminal, sekaligus meningkatkan kemungkinan gangguan sistem
      Tindakan seperti ini juga bisa memperluas permukaan serangan digital dan membuka peluang kejahatan
      Karena itu, pelaku mungkin tetap harus memikul sebagian tanggung jawab, termasuk tanggung jawab pidana maupun perdata
      Namun, jika itu adalah properti miliknya sendiri dan semua pihak terkait setuju, memodifikasi sistem dengan menyambungkan kabel solenoid mungkin saja pantas dilakukan
    • Mengkritik bahwa meskipun tempat itu bernama “Hacker”, justru semangat hacker tidak terlihat di sini
    • Secara sinis mengatakan bahwa di dunia nyata tak ada yang akan peduli, dan kalau ketahuan tinggal bilang “tidak tahu” lalu selesai
    • Berpendapat bahwa jika ini bukan apartemen dengan keamanan super ketat, maka kekhawatiran itu berlebihan, karena siapa pun bisa saja ikut masuk di belakang orang lain
      Menurutnya, seperti yang dilakukan OP, memberi daya ke kabel solenoid yang terekspos di luar bukanlah masalah besar
  • Saya juga pernah membuat integrasi Apple HomeKit yang mirip dengan cara sederhana
    Interkom terhubung ke telepon kabel khusus rumah, dan telepon itu otomatis masuk ke voicemail, lalu pesan tersebut memutar nada pembuka pintu
    Dayanya dikendalikan dengan smart plug; saat dinyalakan orang bisa langsung masuk, dan saat dimatikan akses diblokir

    • Saya juga membuat konfigurasi serupa dengan voip.ms + Asterisk
      Saat interkom menelepon nomor VoIP saya, pengunjung diminta memasukkan kode sandi, dan jika benar sistem mengirim DTMF 9 untuk membuka pintu
      Ada juga notifikasi email dan SMS, serta bisa menerbitkan beberapa kode sandi sehingga saya tahu siapa yang masuk
    • Keren, tetapi saya khawatir akan lupa mematikannya
      Jadi saya mungkin akan mengatur agar smart plug mati otomatis setelah pesan suara diputar
    • Namun untuk kasus OP, interkomnya sudah tidak bisa menelepon lagi, jadi cara ini tidak bisa dipakai
  • Saya juga mengalami masalah yang sama, dan setelah mencari lebih dari setahun saya menemukan seseorang di Rumania yang membuat dan menjual board hasil reverse engineering
    Bisa dipasang dengan biaya di bawah 30 euro, dan caranya terasa kasar tapi menawan
    Tautan

    • Dulu saya pernah memasang ESP01 ke interkom analog dan hanya mengendalikan tombolnya, tetapi konsumsi dayanya terlalu besar sehingga tidak berguna
      Saya sempat menarik daya dari jalur 24V, tetapi menyerah karena bisa dianggap sebagai “pencurian listrik”
      Akhirnya saya menggantinya dengan Nuki Opener, yang jauh lebih stabil dan lebih mudah dipakai seluruh keluarga
      Rangkaian eksperimental yang seadanya memang menyenangkan, tetapi tidak cocok untuk penggunaan nyata
      Sebagai referensi, repositori kodenya ada di tautan GitHub
  • Saya terkejut karena ekosistem interkom sekarang terasa sangat tertinggal
    Sulit dimengerti kenapa tidak ada produk setengah pintar yang setidaknya bisa mengumumkan hal sederhana seperti “makan malam sudah siap”
    Produk nirkabel murah tanpa merek bahkan gagal untuk komunikasi antar-ruangan, jadi pada akhirnya satu-satunya solusi adalah memakai Asterisk dan ponsel VoIP murah

    • Sebenarnya HomePod Mini, Google Home, Alexa sudah menjalankan sebagian besar fungsi interkom rumah tangga
    • Dengan Home Assistant Voice, Anda bisa menyusun server input/output audio sendiri
      Audio bisa dikirim, diterima, atau diputar kapan pun diinginkan
    • Menunjukkan salah ketik dan membetulkan bahwa bukan “Asterix” melainkan Asterisk
    • Menganalisis bahwa perusahaan seperti Butterfly membuat sistem mahal untuk kompleks besar, sementara pasar gedung kecil masih kosong
    • Secara umum produk audio itu rumit, mahal, dan kualitasnya tidak konsisten
      Setelah mencoba berbagai kombinasi seperti Sonos, Wiim, Acrylic, pada akhirnya ia tetap memakai Sonos dengan kualitas sedang yang dirasa cukup memuaskan
  • Pada beberapa interkom di Eropa ada solusi bernama Doorman
    Protokol Koch telah di-reverse engineer dan diimplementasikan dengan ESP32 + Home Assistant, dan fitur party mode sangat berguna saat ada acara
    Situs Doorman / Panduan Ring-to-open

  • Saya memilih cara yang lebih sederhana: memberi nomor Twilio kepada pengelola gedung, lalu mengatur respons per kode di aplikasi
    Kode yang valid akan membuka pintu dengan DTMF “9”, sedangkan “1” akan meneruskan panggilan ke ponsel saya

  • Saya mengalami kerepotan serupa untuk pengendalian pemanas rumah liburan
    Termostat dinding bertenaga baterai mengendalikan pemanas lantai melalui sinyal radio, tetapi untuk kontrol jarak jauh saya harus membeli perangkat baru dengan biaya lebih dari 2.000 dolar
    Padahal mestinya cukup meniru sinyal yang ada; teknologi dibuat terlalu tertutup tanpa perlu, dan itu membuat frustrasi
    Saya sampai berpikir mungkin lebih baik memakai penggerak kendali jarak jauh yang memutar kenop secara fisik

    • Nyatanya memang ada controller yang meniru sinyal
      Ada pengalaman menggunakan Home Assistant untuk merekam dan memutar ulang sinyal guna mengendalikan kipas plafon atau perangkat inframerah
    • Intinya adalah memahami bagian pengendali sumber panas
      Kebanyakan boiler pada dasarnya hanya membutuhkan tiga sinyal sederhana: blower, pemanas, dan pendingin
    • Merekomendasikan SwitchBot
      Ada perangkat yang bisa menekan tombol atau memutar batang blind, sehingga bisa diterapkan untuk memutar kenop
    • Jika memakai sinyal radio, kemungkinan besar ada unit penerima di sisi boiler
      Masalahnya mungkin bisa diselesaikan dengan ESP32 yang dipasang paralel ke jalur kontrol solenoid 24V
    • Jika punya tetangga yang bisa dipercaya, ada juga usulan bercanda untuk meminta bantuan dengan imbalan satu krat bir
  • Bercanda bahwa tamu Frank hanya butuh kunci default Doorking 16120
    Lalu membagikan kisah masa kuliah saat klub elektronik kampus menyelesaikan masalah akses pintu
    Dengan Raspberry Pi + relay, mereka memasang sambungan paralel ke rangkaian tombol buka pintu, sehingga pintu bisa dibuka lewat koneksi SSH via Wi‑Fi
    Pada akhirnya tidak pernah ketahuan, dan buktinya juga hilang saat gedung direnovasi

    • Bercanda bahwa “selama tim audit tidak menemukan Pi, itu bukan pelanggaran SOC2
    • Heran, “untuk membuka satu pintu saja sampai memakai satu Raspberry Pi penuh?!”
    • Memuji dengan komentar, “Jenius!”
  • Menyinggung kemungkinan relay mengalami kegagalan
    Jika arus melebihi rating, relay bisa macet dalam keadaan menempel

    • Relay yang dipakai kemungkinan adalah tiruan tanpa merek, dan mungkin hanya tahan sekitar 10⁵ siklus untuk beban induktif
      Alih-alih DPDT, dipakai dua SPDT secara paralel, sehingga jika hanya satu yang aktif ada risiko pintu tetap terkunci
      Juga tidak ada fuse maupun snubber
      Sebagai gantinya, direkomendasikan lini produk Relay In A Box — bersertifikasi UL dan CE, umur pakai 10 juta siklus, dan bisa lolos inspeksi kode
      Datasheet / Halaman produk
  • Saya juga pernah membuat hal serupa sendiri
    Tautan proyek
    Saya membeli BTicino BT 344232 di eBay seharga 32 euro, menyolder empat kabel, lalu menambahkan mikrokontroler
    Sekarang perangkat itu terintegrasi dengan Nuki Opener + MQTT Pub/Sub dan berfungsi sebagai interkom pintar