1 puan yazan GN⁺ 2025-04-16 | 1 yorum | WhatsApp'ta paylaş
  • ESP32 tabanlı akıllı ev cihazı, tersine mühendislikle incelenerek Home Assistant ile entegre edildi
  • Mobil uygulama analiz edilerek bulut sunucusu ile bağlantısı doğrulandı
  • Ağ trafiği ele geçirilerek cihaz kontrolü denenildi
  • ESP32 flash belleği dump edilip analiz edilerek firmware değiştirme denendi
  • Paket yapısı analiz edilerek şifreleme ve checksum mantığı anlaşıldı

Giriş

  • Son dönemde tüm cihazları Home Assistant'a bağlama yönünde girişimlerde bulunuluyor
  • Belirli bir hava temizleyicinin kendi uygulaması dışında bağlanmaması nedeniyle, bunu hackleyip entegre etmeye çalışılıyor
  • İnternet bağlantısına ve bulut hesabına bağımlı ürünlerin sorunlarına dikkat çekiliyor

Plan

  • Mobil uygulamanın bulut sunucusuna bağlanarak uzaktan kontrol sağladığı doğrulandı
  • Ağ trafiğini yakalayıp cihazı kontrol etmenin yolları araştırıldı

Mobil uygulama analizi

  • Android uygulaması analiz edilerek React Native ile geliştirildiği doğrulandı
  • WebSocket üzerinden bulut sunucusuna bağlandığı keşfedildi

Ağ incelemesi

  • Pi-hole kullanılarak DNS sorguları incelendi ve Wireshark ile trafik analiz edildi
  • UDP paketleri üzerinden cihaz ile sunucu arasındaki iletişim doğrulandı

Paket analizi

  • UDP proxy kullanılarak cihaz ile bulut sunucusu arasındaki trafik aracılık edildi
  • Wireshark ile paket yapısı analiz edilip şifreleme olasılığı doğrulandı

Fiziksel söküm

  • ESP32 tabanlı cihaz sökülerek flash çipinden firmware dump alındı
  • esptool kullanılarak seri bağlantı üzerinden veriler okundu

Flash analizi

  • esp32knife kullanılarak flash verisi analiz edildi ve partition table doğrulandı
  • FAT dosya sistemi içinde önemli dosyalar bulundu

İlk statik analiz

  • Ghidra kullanılarak firmware içindeki string'ler analiz edildi ve şifreleme kütüphanesi kullanımı doğrulandı
  • mbedtls kütüphanesi kullanılarak ECDH ve HKDF algoritmaları uygulanmış

Firmware değiştirme

  • Ghidra ile CapSense işlevi devre dışı bırakılıp firmware değiştirilerek cihaz boot edildi
  • Checksum sorunu çözülerek değiştirilmiş firmware başarıyla flashlandı

Paket başlığı

  • Paket başlığının yapısı analiz edilerek seri numarası ve mesaj tanımlayıcısı doğrulandı
  • İstemci isteği ile sunucu yanıtı arasındaki kalıplar belirlendi

Paket checksum'u

  • CRC checksum doğrulanarak paket verisinin bütünlüğü denetlendi

1 yorum

 
GN⁺ 2025-04-16
Hacker News görüşleri
  • Uzun vadeli çözüm, yerel kontrolü göz ardı eden ev ürünlerini satın almamak

    • WiFi şifresi zorunluysa ürünü iade ederdim
    • Güvenlik ve gizlilikten ödün vermek kişisel bir tercih olabilir, ancak işlev kaybı olmadan reddedilebilecek bir seçenek sunulmalı
    • RTSP desteklemeyen kapı zili kamerası satın almazdım
  • Hava temizleyicinin iç mekân hava kalitesi düştüğünde daha güçlü çalışması için IoT cihazı, uygulama, kablosuz iletişim veya hub gerekmez

    • Hava temizleyiciye bir hava kalitesi sensörü ve ayarları değiştirmek için küçük bir LCD eklemek yeterlidir
    • Koridor ışığının otomatik yanması cloud, HomeAssist, WiFi, Zigbee, uygulama veya pil değiştirme olmadan çalışır
    • Son 10 yıldır ağ kapalı olsa bile sorunsuz çalıştı
  • ESP32 tabanlı IoT cihazı satıcılarına:

    • Akıllı cihazı akıllı ev sistemiyle entegre etmek için yükseltmek, başka instance'ları veya cloud servislerini etkilemez
    • Hassas ürün verileri belirsizleştirilir veya silinir
  • ESP32 tabanlı IoT cihazı sahiplerine:

    • Akıllı ev ürünlerinden cloud'u kaldırmak ve hata ayıklamak için açık kaynak projeler oluşturuyorum ve teknik tarafta çok şey öğreniyorum
    • Bu gönderiyi yazmak için çok emek verdim, biçimle ilgili geri bildirim almayı isterim
  • Cihazın kartında hangi pinlerin bağlı olduğunu anlayıp bunu tamamen ESPHome ile flash'layıp özel bir yaml yapılandırması yazmanın mümkün olup olmayacağını merak ediyorum

  • IoT cihazı tasarım ekibinde olduğum her seferde güvenliğe odaklanan mühendis boot korumasından sorumluydu

    • Firmware dump alıp yeniden flash etmeye karşı direnç olmaması şaşırtıcı
    • Neden flash şifreleme kullanılmadığını merak ediyorum
  • Makaleyle ilgili geri bildirim:

    • Cihaz anahtarlarının kullanımıyla ilgili notta, cihaz başına anahtar olması en açık yaklaşım gibi görünüyor
    • Cihaz başına anahtar yönetiminin karmaşıklığı ve riskleri hakkındaki geri bildirimi paylaşmak isterim
    • Cihaz şifreleme fabrikada çok fazla soruna yol açabilir; ürün bunu kaldırabiliyorsa bundan kaçınmak daha iyi olabilir
  • Neden standartlaştırılmış bir çözüm kullanılmadığını merak ediyorum

    • Kendi çözümünü yapmaktan daha maliyet etkin gibi görünüyor
  • ESP32 IoT cihazlarında firmware şifrelemesinin kullanıldığına nadiren rastladım

    • Firmware okunamasaydı sertifika üretmek zor olurdu
    • Ama aynı zamanda etkileyici
  • Servis mühendislerinin DTLS gibi standart protokolleri uygulamamayı seçmesi hakkında görüşler

    • Her cihazın kendine özgü bir private key'e sahip olup olmadığından emin değilim
    • Tüm cihazlar aynı firmware private key'ini paylaşıyorsa, tek bir cihazı tersine mühendislikle inceleyerek diğer cihazlara MITM saldırısı yapmak mümkün olabilir
  • Akıllı cihaz kullanan kişiler, cihazları kişisel ağdan ayrılmış bir VLAN içinde izole etmek için DD-WRT, OpenWrt, Tomato, Asuswrt-Merlin kullanmalı

  • Satın alınan bir ürünü kullanmak için hacklemek gerekmemeli

    • "Rant kollama" ekonomisi düzenlenmeli ya da yasaklanmalı