Yıllar önce, henüz 'Red Team' titrinin heyecanını yeni yeni tadarken, eve ucuz yollu bir IP kamera almıştım. Amacım hem kediyi izlemek hem de biraz kurcalamaktı. Kamerayı kutusundan çıkardım, fişe taktım, arayüzden şifreyi değiştirdiğimi sanıp bıraktım. Bir hafta sonra Shodan'da öylesine gezerken (evet, garip hobilerim var), kendi oturma odamı gördüm. Meğer o 'akıllı' kamera, UPnP protokolü üzerinden modemimde sessiz sedasız bir port açmış ve varsayılan kullanıcı adını değiştirsem de arka planda 'engineer' gibi saçma sapan, hardcoded bir teknik servis hesabını açık bırakmış. Kendi evimde kendimi hackletmiştim. O gün anladım ki; 'akıllı' takısı alan her cihaz, aslında içeri sızılmayı bekleyen birer Truva atı.
Bugün 'testCompany' gibi büyük yapılarda bile karşımıza çıkan en büyük risklerden biri bu: IoT (Internet of Things). Ya da benim tabirimle 'Internet of Troubles'. Gelin, bu cihazların neden bu kadar sorunlu olduğunu ve onları nasıl evcilleştirebileceğimizi sahadan tecrübelerle inceleyelim.
Neden Her Şey Bu Kadar Kırılgan?
IoT ekosistemindeki temel sorun, 'time-to-market' denilen o lanet olası hız tutkusu. Üretici, ürünü bir an önce rafa koymak istiyor. Güvenlik ise genellikle bir 'maliyet' veya 'engel' olarak görülüyor. Sonuç? Güncellenemeyen firmware'ler, şifrelenmemiş haberleşme protokolleri ve her köşe başında unutulmuş hata ayıklama (debugging) portları.
Bir sızma testinde olduğunuzu hayal edin. Kurumsal ağa girmek için bin takla atarken, köşedeki akıllı kahve makinesinin veya toplantı odasındaki o havalı akıllı tahtanın aslında Linux tabanlı, zayıf korunan birer bilgisayar olduğunu fark ediyorsunuz. İşte o an oyun başlıyor.
1. Keşif: Ortamda Kimler Var?
Bir ağa sızdığımızda ilk yaptığımız iş, etrafta hangi 'oyuncakların' olduğunu anlamaktır. IoT cihazları genellikle kendilerini belli eder. Nmap ile basit bir tarama bile çok şey anlatır.
# IoT cihazlarını ve açık portlarını belirlemek için defanged tarama örneği
nmap -sV -p 23,80,443,1883,8883,554,8080 192.168.1.0/24
Burada 1883 ve 8883 portları MQTT (Message Queuing Telemetry Transport) protokolüne işaret eder ki bu, IoT dünyasının lingua franca'sıdır. Eğer bu portlar açıksa ve kimlik doğrulama yoksa, cihazın tüm iç konuşmalarını dinleyebilirsiniz.
2. MQTT: Duvarların Kulağı Var
MQTT, cihazların birbiriyle konuştuğu hafif bir protokoldür. Ancak birçok kurulumda 'Anonymous' erişime izin verilir. Bir saldırgan olarak, sadece konuyu (topic) dinleyerek cihazın ne zaman çalıştığını, sensör verilerini ve hatta bazen komutları ele geçirebilirsiniz.
Zararsızlaştırılmış bir örnekle MQTT trafiğini dinleyelim:
# Yerel ağdaki bir broker'dan tüm mesajları dinleme
mosquitto_sub -h 127.0.0.1 -t "#" -v
# Çıktı şuna benzer olabilir:
# sensors/living_room/temp 22.5
# devices/camera01/status active
# admin/commands/update {"url": "http://example.com/firmware.bin"}
O son satırı gördünüz mü? Eğer bir güncelleme URL'sini bu şekilde düz metin olarak yakalayabiliyorsanız, cihazı kendi hazırladığınız (ve içine backdoor yerleştirdiğiniz) bir firmware'i indirmeye zorlayabilirsiniz. MitM (Man-in-the-Middle) saldırılarıyla bu süreç tadından yenmez bir hale gelir.
3. Firmware Extraction: Cihazın Beynine İnmek
Red Team operasyonlarında eğer elimize fiziksel bir cihaz geçerse, ilk işimiz firmware'ini dump etmektir. UART, JTAG veya SPI üzerinden bu veriyi çekebiliriz. Veriyi çektikten sonra en yakın dostumuz binwalk olur.
# Firmware dosyasını analiz etme ve içindeki dosya sistemini çıkarma
binwalk -e device_firmware.bin
Bu komuttan sonra karşınıza çıkan /etc/shadow dosyası veya içinde unutulmuş API anahtarları, tüm kurumsal ağın anahtarını size verebilir. Bir keresinde bir akıllı kilit sisteminin firmware'inde, üreticinin tüm cihazlarda aynı olan 'master' şifresini hardcoded olarak bıraktığını bulmuştuk. Şaka gibi ama gerçek.
Savunma Hattı: Bu Kaostan Nasıl Çıkarız?
Sadece açık aramıyoruz, aynı zamanda bu delikleri kapatmak bizim işimiz. 'testCompany' bünyesinde veya kendi evinizde IoT güvenliğini sağlamak için şu adımlar kritik:
- Network Segmentation (Ağ Bölümleme): IoT cihazlarını asla ana iş ağınızla (production) aynı VLAN'a koymayın. Akıllı ampulün, finans departmanındaki veritabanına erişmeye ihtiyacı yok. Onları izole edilmiş bir ağa hapsedin.
- MACE (Monitor, Analyze, Control, Enforce): Ağdaki tüm cihazların bir envanterini tutun. Hangi cihaz nereye bağlanıyor? Neden dışarıdaki bir IP'ye sürekli veri gönderiyor? Bu soruların cevabı SIEM sistemlerinizde olmalı.
- Gereksiz Servisleri Kapatın: UPnP, Telnet gibi antik çağdan kalma protokolleri router ve cihaz düzeyinde devre dışı bırakın. Eğer bir cihazın sadece dışarı veri göndermesi gerekiyorsa, içeriye doğru tüm portlarını kapatın.
- Varsayılan Şifreler Ölümcüldür: Cihazı kutudan çıkarır çıkarmaz yapacağınız ilk iş şifreyi değiştirmek olmalı. Ama yetmez, firmware içinde gömülü başka hesaplar olup olmadığını üreticiden veya güvenlik raporlarından teyit edin.
Son Söz Yerine
IoT dünyası, saldırganlar için düşük asılı meyvelerle dolu bir bahçe gibi. Bizim görevimiz, bu meyveleri korumak için sadece yazılıma değil, donanıma ve protokollere de hakim olmak. Unutmayın, en güçlü firewall bile, mutfaktaki akıllı buzdolabının 'admin:admin' kullanıcı adı-şifresiyle internete açılmasına engel olamaz.
Bir sonraki Red Team macerasında, belki de bir akıllı priz üzerinden nasıl yanal hareket (lateral movement) yapıldığını konuşuruz. O zamana kadar, cihazlarınızı güncel tutun ve 'akıllı' olan her şeye biraz şüpheyle yaklaşın.
Stay geek, stay secure!
