3 puan yazan GN⁺ 2025-09-16 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Evdeki köpeği gözlemlemek için bir Tapo kamera satın aldı, ancak beklenmedik şekilde TP-Link cihazları ve uygulamasının nasıl çalıştığını tersine açıklamış oldu
  • Onboarding süreci ile şifrelenmiş API iletişimi yapısını analiz etmek için MITM, APK decompile etme, şifre çözme betikleri oluşturma gibi çeşitli teknikler kullandı
  • İlk yönetici parolasını bulup oturum anahtarı türetme sürecini çözerek şifrelenmiş mesajları deşifre etti ve cihaz ile bulut hesabı arasındaki güvenilmez senkronizasyon sorununu tespit etti
  • Onboarding’in tüm akışını analiz ederek başlıca API çağrıları, hesap oluşturma, parola değiştirme ve Wi‑Fi bağlantısı süreçlerini Bash betikleriyle otomatikleştirdi
  • Tapo firmware güvenlik tasarımındaki açıkları, daha az rafine şifreleme uygulamalarını ve düzensiz hesap senkronizasyonunu ortaya koyarak düşük maliyetli IoT cihazlarının tipik özelliklerine işaret etti

Proje özeti

  • Yazar, ev içindeki köpeğini gözlemlemek için uygun fiyatlı bir Tapo kamera satın alıp kullandı
  • Kullanım sırasında yaşanan kurulum zorlukları ve internette bilgi azlığı, ürünün çalışma mantığını derinlemesine inceleme motivasyonu yarattı
  • frigate entegrasyonu ve 2way audio etkinleştirme gibi konularda beklenmedik sorunlar çıkınca, bulut bağlantısı olmadan doğrudan onboarding yöntemine ilgi duymaya başladı

Onboarding ve kimlik doğrulama yapısının analizi

  • Tapo kameranın bağlantı sürecini analiz etmek için MITM proxy ve frida dinamik hooking aracını kullanarak uygulama ile kamera arasındaki trafiği ele geçirdi
    • Güncel uygulamalar proxy yok sayma ve certificate pinning gibi engel aşmayı zorlaştıran özellikler içerdiğinden, dinamik araçlarla yapılan bu yöntem etkili oldu
  • Bu engel aşma düzenini kurduktan sonra, kamera onboarding akışındaki varsayılan yönetici hesabı giriş sürecini net biçimde doğruladı
  • Varsayılan giriş API’sinin, bulut hesabı parolasından bağımsız olarak cihaza özgü varsayılan bir parola ile çalıştığını keşfetti

Şifreleme yapısı ve varsayılan parola araştırması

  • APK decompile etme (JADX kullanarak) ve kod analizi sayesinde, admin hesabının varsayılan parolasını (TPL075526460603) elde etti
  • Bulut parolası değiştirilse bile daha önce eşleştirilmiş kamera cihazlarının bu değişikliği fark etmemesi, uygulama ile kamera arasında parola senkronizasyonunun hatalı olduğunu gösterdi
  • Varsayılan parolayı öğrendiği için, oturum anahtarı (lsk, ivb) türetme mantığını uygulayıp şifrelenmiş API mesajlarını gerçek zamanlı olarak deşifre edebilir hale geldi

mitmproxy betikleri ve API analizi

  • PyTapo açık kaynak projesini referans alarak, gerçek Tapo onboarding sürecinin API akışını ayrıntılı biçimde analiz etti
  • tapo_decrypt_pretty.py betiği aracılığıyla
    • giriş handshake’ini tespit etti
    • oturum anahtarlarını çıkardı
    • şifrelenmiş API’leri çözüp okunabilir çıktı üretti ve JSON olarak kaydetti
  • Tüm onboarding API çağrıları içinden anlamlı başlıca adımları seçerek otomatik bir iş akışı oluşturdu
    • Wi‑Fi listesini alma (scanApList)
    • RTSP/ONVIF hesabını etkinleştirme
    • yönetici parolasını değiştirme
    • Wi‑Fi bağlantısını kurma

Otomasyon ve sonuçlar

  • Bash betiği (tapo_onboard.sh) ile yukarıdaki tüm onboarding sürecini otomatik çalışacak şekilde yapılandırdı
    • varsayılan admin girişi
    • Wi‑Fi seçimi ve bağlantısı
    • kamera görüntüsündeki logoyu kaldırma
    • RTSP/ONVIF kullanımına izin verme
    • yönetici parolasını sıfırlama
  • Kamera firmware yapısında şu özellikler ve açıklar bulundu
    • Bazı API’ler SHA-256 hash kullanırken, bazıları MD5 gibi eski şifreleme yöntemlerini koruyor
    • İki adet public key bulunuyor ve hangi durumda hangi anahtarın kullanılacağı belirsiz
    • Uygulama ile cihaz arasındaki parola senkronizasyonu son derece kararsız

Sonuç ve izlenimler

  • Tapo kamera firmware’i ve API güvenlik yapısı, geçici çözümlerle kurulmuş ve yeterince rafine edilmemiş bir tasarım hissi veriyor
  • Düşük maliyetli IoT cihazlarının güvenlik açıklarını ve eksik onboarding sistemlerinin gerçekliğini dolaylı biçimde deneyimledi
  • Projenin nihai amacı olan köpeği kontrol etme hedefine ulaştı; köpeğini çoğunlukla kanepede ya da yatakta uyurken gördü

Henüz yorum yok.

Henüz yorum yok.