Akıllı Izgaramı Nasıl Hackledim ?

If you are looking for an English version of this article, please visit here.

Üst düzey bürokrat olan Mert SARICA’yı hedef alan Rus Askeri İstihbarat Dairesi (GRU), yaşadığı evinin kablosuz ağına sızıp Çok Gizli sınıfındaki belgeleri ele geçirmesi için 2004 yılından bu yana faaliyetlerine devam eden 26165 birimi olan namıdiğer APT 28 hacker grubunu görevlendirir.

10 Nisan’da diplomatik pasaport ile ülkeye giriş yapan APT 28 grup üyeleri, kiraladıkları Citroen C3 marka arabanın bagajına, kablosuz ağ hacklemek için bir bilgisayar ve çeşitli donanımlardan oluşan teçhizatlarını yerleştirdikten hemen sonra evin adresine doğru yola koyulurlar.

Hacking Grill
Hacking Grill
Hacking Grill

Eve yaklaştıklarında hedef alacakları kablosuz ağın adını (SSID) tespit edebilmek için Wardriving yöntemine başvururlar. Evin önünden 2 defa geçtikten sonra sinyal seviyesi en yüksek olan Hack4Career ağının ona ait olduğunu tespit ederler.

Şüphe çekmemek için eve en yakın sokağın başına arabalarını park eden APT 28 grubu, WPA3 protokolü ile korunan kablosuz ağın, özel karakter de içeren 15 hane uzunluğundaki alfanumerik parolasını tespit etmek için bilgisayarın başına geçerler.

Uzun uğraşlar sonucunda şifreyi kıramayacakları konusuna kanaat getiren grup, evin etrafında keşfe (reconnaissance) çıkmaya karar verirler.

Günümüz dünyasında mutfak gereçlerinden, otomobillere, termostatlardan, akıllı ev sistemlerine kadar birçok alanda karşılaşılan Nesnelerin İnternetinin (IoT), barındırdıkları zafiyetler nedeniyle kolayca istismar edilebilmesi sebebiyle akıllı cihaz aramaya koyulurlar.

İstatistiklere göre 2023 yılı itibariyle gezegenimizde 8 milyar insan yaşarken, IoTlerin sayısının ise insan sayısının iki katına yani 16 milyara ulaştığı görülmektedir.

Kısa bir keşif gezisinden sonra terasta yer alan ve fişe takılı olan Wi-Fi, Bluetooth destekli akıllı pelet ızgarası dikkatlerini çeker. Marka ve modelinin fotoğrafını uzaktan çektikten sonra bir tane satın alıp, zafiyet araştırması yapmaya başlarlar. 8 saatin sonunda sadece fişe takılı olması yeterli olan bu ızgaraya Bluetooth üzerinden gönderdikleri bir paket/komut sayesinde dahil olduğu kablosuz ağın adını ve parolasını uzaktan kolayca elde etmeyi başarırlar.

Bu bilgi ışığında vakit kaybetmeden arabalarına binip Mert SARICA’nın evine doğru yola çıkarlar. Araçlarını sokağın başındaki aynı yere park ettikten sonra 300 metre mesafeden bilgisayarlarının USB bağlantı noktasına taktıkları Parani-UD100 aygıt ile Bluetooth üzerinden akıllı ızgaraya paket/komut gönderirler. Akıllı ızgaradan gelen yanıt ile Hack4Career kablosuz ağ adını, 15 haneli parolayı elde ettikten sonra başarıyla kablosuz ağa bağlanırlar ve operasyonlarının birinci adımını başarıyla tamamlamış olurlar.

Yukarıda anlattığım bu kurgu hikaye birçoğunuza iki nedenden dolayı ütopik gelebilir.

  • Birincisi, Rus hackerların ellerini kollarını sallayarak bir ülkeye giriş yapıp daha sonrasında kablosuz bir ağa sızmaya çalışmalarına ancak bir film senaryolarında rastlanabileceğini düşünebilirsiniz. Bu şekilde düşünenlerin 2018 yılına ait şu habere göz atmalarını tavsiye ederim. Eminim ki haberde yer alan bazı fotoğraflar sizlere bir yerden tanıdık gelecektir. :)

  • İkinci neden ise akıllı bir ızgarayı hackleyerek ev ağına sızmanın pratikte bu kadar kolay olamayacağını ve bunun da ancak Mr. Robot dizisinin bir bölümünde gerçekleşebileceğini düşünebilirsiniz. Bu şekilde düşünenlerinizi de bu defa başroldeki kişinin ve tüm anlatılanların gerçek olduğu aşağıdaki hikaye ile başbaşa bırakıyorum. :)

  • Barbekü sezonunun yaklaşmasıyla 2023 yılının Nisan ayında evimin terasında kullanmak üzere bir mangal arayışına girdim. Kömürle her defasında kim uğraşacak, gazlı mangal gibi pratik bir şey mi alsam derken WiFi ve Bluetooth destekli akıllı bir pelet yakıtlı ızgara satın almaya karar verdim.

    Hacking Grill

    Izgara elime ulaştıktan sonra her ne kadar yıllardır “Akıllı cihaz demek, casus cihaz demektir.” desem de akıllı cihazlar kullanmayı tercih etmekten geri kalmayan biri olarak (Doktorun dediğini yap, yaptığını yapma derler.) ızgaranın kullanım kılavuzunda yer alan mobil uygulamayı indirip, kurdum. Hemen ardından da çuvaldızı kendime batırarak kendimi eleştiren bir tweeet paylaşmayı ihmal etmedim. :)

    Honeypot isimli bir kişi tarafından gönderilen tweet aslında yapacağım güvenlik araştırmasına bir nevi davetiye çıkardı.

    Hacking Grill

    Uygulamayı açtıktan sonra yönlendirmeleri takip ederek önce Bluetooth üzerinden ızgarayı ekledim ardından da kablosuz ağımın parolasını girerek ızgarayı ev ağıma dahil ettim.

    Hacking Grill
    Hacking Grill
    Hacking Grill
    Hacking Grill

    Eşimle birlikte ızgarada ilk yemeğimizi pişirip, afiyetle yedikten sonra tabii ki satın aldığım cihazları, aygıtları güvenlik araştırmalarıma (Koş Mert Koş vb.) konu eden biri olarak bu akıllı ızgarayı da boş geçmemeye karar verdim. :)

    İlk iş olarak ApkPure sitesinden ızgaranın mobil uygulamasını indirip jadx aracı ile kaynak kodunu incelemeye başladım. Derleme aşamasında herhangi bir gizleme yöntemi (obfuscation) kullanılmadığı için kaynak kodlarını rahatlıkla inceleyebildim.

    Hacking Grill
    Hacking Grill

    Kodlar arasında biraz gezindikten sonra getFileContent() fonksiyonuna parametre olarak gönderilen init.js dikkatimi çekti. getFileContent() fonksiyonunu incelediğimde Fs.Get metodu ile ızgaranın işletim sisteminde yer alan init.js dosyasını okuduğunu gördüm.

    Hacking Grill
    Hacking Grill

    Tabii bunu görünce kafamda şimşekler çaktı ve aklımda tek bir soru belirdi: “init.js yerine başka bir dosya ismini Bluetooth üzerinden ızgaraya iletirsem, gelen yanıtta o dosyanın içeriğini görebilir miydim?”

    Bu sorunun yanıtını bulmak için Koş Mert Koş başlıklı blog yazımda olduğu gibi mobil uygulama ile ızgara arasındaki Bluetooth haberleşmeyi incelemek için Samsung’un destek sayfasında Bluetooth paketleri kaynaklı problem yaşayan bir kişinin mesajına yazılan yanıttaki adımları adım adım gerçekleştirdim.

    btsnoop_hci.log dosyasını Wireshark ile analiz etmeye başladığımda iletişimin bir noktasında mobil uygulamanın, ızgaranın 5f6d4f53-5f52-5043-5f74-785f63746c5f (CHARACTERISTIC_BROIL_KING_WRITE_DATA_LENGTH) Bluetooth servisinin karakteristiğine ait olan 0x33 tanıtıcısına (handle) 00000055 değerini yazdığını (WRITE REQUEST) gördüm.

    Sonraki adımda ise bu defa 5f6d4f53-5f52-5043-5f64-6174615f5f5f (CHARACTERISTIC_BROIL_KING_WRITE_COMMAND) servisinin karakteristiğine ait olan 0x2e tanıtıcısına (handle), {“id”:999,”method”:”FS.Get”,”params”:{“filename”:”init.js”,”offset”: 0 , “len”:20}} komutunun parça parça gönderildiğini (WRITE REQUEST) gördüm.

    Hacking Grill
    Hacking Grill
    Hacking Grill
    Hacking Grill
    Hacking Grill
    Hacking Grill

    Izgaradan gelen yanıtta (READ RESPONSE) yer alan {“id”:999,”src”:”XXX-XXXXXXX”,”result”:{“data”: “Ly9CS1B2MDQyLjQ1ICAgICAgICA=”, “left”: 35298}} Base64 ile kodlanmış veriyi çözdüğümde ise //BKPv042.45 karakter dizisi ile karşılaştım.

    Hacking Grill
    Hacking Grill

    Google arama motorunda mobil uygulamanın kaynak kodunda dikkatimi çeken bazı kelimeleri arattığımda ızgaranın Mongoose OS isimli bir işletim sistemine sahip olduğunu öğrendim.

    Hacking Grill
    Hacking Grill

    Daha önce bu işletim sistemini görmediğim, duymadığım için web sitesinde yer alan kullanıcı kılavuzuna göz atmaya karar verdim. Yapılandırma sayfasını ziyaret ettiğimde conf ile başlayan json uzantılı dosyalar arasında yer alan conf9.json dosyası hemen dikkatimi çekti.

    Kullanıcı ayarlarını içeren bu dosyada dikkate değer bilgiler olabileceğini düşündüğüm için init.js yerine conf9.json dosyasını bluetoothctl aracı ile Bluetooth bağlantısı üzerinden okumamı sağlayacak 88 karakter uzunluğundaki aşağıdaki isteği oluşturup Bash betiği üzerinden ızgaraya gönderdiğimde Invalid Offset ile hatası ile ile karşılaştım.

    {“id”:999,”method”:”FS.Get”,”params”:{“filename”:”conf9.json”,”offset”: 0 , “len”:20}}

    Hacking Grill
    Hacking Grill
    Hacking Grill

    Biraz araştırma yaptıktan sonra “invalid offset” hatasının boyuttan kaynaklı tetiklendiğini öğrendim. Daha sonra 85 karakter uzunluğundaki init.js isteği ile yukarıdaki 88 karakter uzunluğundaki conf9.json isteğini boyut olarak eşitlemeye karar verdim. 3 tane boşluk karakterini (space) sildikten sonra istek aşağıdaki şekle bürünmüş ve 85 karakter uzunluğunda olmuş oldu.

    {“id”:999,”method”:”FS.Get”,”params”:{“filename”:”conf9.json”,”offset”:0,”len”:20}}

    Bu isteği ızgaraya gönderdikten sonra conf9.json dosyasının ilk 20 karakterini başarıyla okuyabildiğimi gördüm.

    Hacking Grill

    Opsiyonel parametre olan Offset değerini yavaş yavaş arttırarak dosyayı okumaya devam ettiğimde ise aşağıdaki istek sonucunda ızgaranın kurulumu aşamasında uygulamaya girmiş olduğum kablosuz ağ adımı ve parolamı elde edebildiğimi gördüm!

    {“id”:999,”method”:”FS.Get”,”params”:{“filename”:”conf9.json”,”offset”:280,”len”:99}}

    Hacking Grill
    Hacking Grill

    Sonuç itibariyle yaptığım güvenlik araştırması sonucunda ortaya çıkan bu kritik zafiyeti istismar ederek, art niyetli bir kişinin bu marka ve model bir ızgaraya 30 ila 300 metre mesafe uzaklıktan istek göndererek dahil olduğu kablosuz ağ adını ve parolasını kolaylıkla öğrenebileceğini ortaya koymuş oldum. İşin şaşırtıcı kısmı ise bu zafiyetin istismar edebilebilmesi için ızgaranın açık konumda (POWER ON) olmadan sadece fişe takılı olması yeterli oluyordu.

    Bu zafiyetin kaç haneyi etkilediğini bilemesem de istatistiklere göre Amerika’da 2021 yılı başı itibariyle 100 milyon hanenin ızgara kullandığını, her üç haneden birinin de birden fazla ızgara kullandığını dikkate aldığımızda, bu tür akıllı ızgaraların (IoT) yaygınlaşması ile ciddi güvenlik risklerini beraberinde getireceğini söyleyebilirim.

    Keşfettiğim bu ciddi zafiyet sonrasında akıllı ızgaram ile yollarımızı ayırmak yerine kendisini diğer IoTler ile birlikte Wi-Fi Misafir Ağına taşıyarak iştahımı kaçırmasını engelledikten sonra lezzetli yemeklerin keyfini çıkarmaya devam etmeye karar verdim. :)

    Her ihtimale karşı üretici bu zafiyeti ortadan kaldırana dek mümkünse akıllı ızgaranızı kullanmadığınız zamanlarda fişe takılı bırakmamanızı tavsiye ederim.

    Hacking Grill

    Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

    Not: Izgara üreticisine 1 Nisan tarihinde zafiyetle ilgili e-posta gönderdiğimi ancak bu zamana kadar yanıt alamadığımı da üzülerek paylaşmak isterim.

    Hacking Grill

    image_pdfShow this post in PDF formatimage_printPrint this page
    8 comments
    1. Mükemmelsiniz hocam. Türkiyede ızgara yaygın olmasada kullanılan pek çok İOT cihazda daha bilmediğimiz kim bilir ne zafiyetler var. “Akıllı süpürgemi Hackledim” diye de bir blog yazısı gelir mi :) Severek takip ediyoruz

    2. hocam bloglarınız çok sağlam film gibi atıştırmalık yerken okuyası geliyor insanın :D

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    You May Also Like
    Read More

    e-Devlet Hacklendi mi?

    If you are looking for an English version of this article, please visit here. Öncelikle yazının sonunda söyleyeceğimi başta söyleyeyim, “Hayır, hack-len-me-di!” Peki bu durumda vatandaş olarak rahat bir nefes alabilir misiniz ? Maalesef hayır. Bunun sebebini de yazının devamında okuyabilirsiniz. Zaman zaman hortlayan “e-Devlet Hacklendi!”, “e-Devlet verileri çalındı!”, “85…
    Read More
    Read More

    LinkedIn Dolandırıcıları

    If you are looking for an English version of this article, please visit here. Uzun yıllardan beri sosyal ağları ve medyayı etkin kullanan bir siber güvenlik araştırmacısı olarak bağlantılarım arasında yer alanlarınız özellikle hafta içi LinkedIn ve Twitter üzerinden okuduğum ve beğendiğim siber güvenlik makalelerini, haberleri paylaştıklarımı farkediyorlardır. Twitter hesabımın…
    Read More
    Read More

    WhatsApp Dolandırıcıları

    If you are looking for an English version of this article, please visit here. Başlangıç Son günlerde hemen hemen WhatsApp uygulaması kullanan herkesi rahatsız eden yabancı cep telefonu numaralarından gelen çağrılardan, mesajlardan ben de yakın zamanda nasibimi aldım ve tabii ki diğer dolandırıcılıklarla ilgili yazılarımda (Kripto Para Dolandırıcıları, LinkedIn Dolandırıcıları,…
    Read More
    Read More

    Profilime Kim Baktı?

    If you are looking for an English version of this article, please visit here. 23 Eylül 2020 tarihinde Twitter’da siber güvenlik ile ilgili haberlere göz gezdirirken gündem olan başlıklarda #profilimekimbaktı etiketi dikkatimi çekti. Beni oldukça şüphelendiren bu etiketin gündem olmasının arkasında yatan sebebi bulmak için bu etiketi paylaşan hesaplara göz…
    Read More