- 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.