BlueBorne

Yayınlayan
Muhammed Bilal KAN
Yayınlanma tarihi
26-02-2022
Okuma süresi
10 DK

BlueBorne

 

Bluetooth teknolojisi günden güne ilerlerken güvenlik zafiyetleri de hızla artmaya devam ediyor. Bluetooth teknolojisinde keşfedilen güvenlik zafiyetleri genellikle Bluetooth’un kendisinden kaynaklı değil, üreticiler tarafından hatalı kullanılmasından (implementasyon) kaynaklanmaktadır. Bu zafiyetleri sömüren atak vektörlerine örnek olarak Bluebug, Bluesnarf, Bluestabbing, Bloover gösterilebilir.

Bu zafiyetleri ortaya çıkaran genel yöntem hatalı dosya aktarımları ile beklenmedik sonuçların oluşmasıdır. Bir sistem beklenmedik bir hatalı dosya aldığında bazı durumlarda güvenlik açısından dengesiz duruma düşer veya sistem çöker. Bu tarz durumlarda saldırganlar, zafiyetli cihazlar üzerinden çeşitli ataklar yapabilmektedir ve ataklar sonucunda veri hırsızlığı yapma, adınıza arama yapma, cihaz üzerinde root yetkileriyle komut çalıştırma gibi haklar elde edebilir.

Bluetooth kaynaklı atak vektörlerinin tehlikeli yanlarından biri de yüksek kazançlı antenlerle kilometrelerce uzaktan sömürülebilmesidir. Uzaktan ve kullanıcı etkileşimi olmadan yapılabilecek ataklar ile kullanıcının haberi bile olmadan cihazı ele geçirilebilir.

2017 yılında Armis Labs IoT güvenliği ekibi tarafından keşfedilen BlueBorne saldırısı; Android, iOS, Windows, Linux ve bunları kullanan aygıtlar da dahil olmak üzere mobil, masaüstü ve IoT cihazların çok büyük bir kısmını risk altına sokmuştur. Armis, bu saldırı vektörüyle alakalı olarak dördü kritik olmak üzere sekiz adet zero-day güvenlik zafiyeti açıkladı. Aşağıdaki görselde bu zafiyetlerin platform bazlı olarak gösterimi verilmiştir.

blueborne-1

Bu zafiyetler; Android için: CVE-2017-0781 (RCE), CVE-2017-0782 (RCE), CVE-2017-0785 (Data Leak), CVE-2017-0783 (MiTM)

Windows için: CVE-2017-8628 (MiTM)

Linux için: CVE-2017-1000250 (Data Leak), CVE-2017-1000251 (Buffer Overflow)

IOS için: Apple tarafından Bluetooth kulaklıklar ve Siri Remote ile çalışması için oluşturulan ve Bluetooth üzerinde çalışan Low Energy Audio Protocol (LEAP) adlı protokol yapısında bulunan zafiyet(RCE)

BlueBorne saldırısında saldırgan; Bluetooth üzerinden, kablosuz olarak saldırıyı gerçekleştirir ve RCE, MiTM (Man in the Middle) gibi çok çeşitli istismarlar yapabilir.

BlueBorne Saldırısı Keşif Aşamaları

Öncelikle cihaza saldırı yapılabilmesi için MAC adresinin tespit edilmiş olması gerekir. Bluetooth cihazları MAC adreslerinin bir parçasını, yolladığı paketlerle birlikte iletir. Bu parçaya LAP (Lower Adress Part) adı verilir. Sadece tek bir paketin sniff edilmesi ile MAC adresinin geri kalanının tespit edilmesi maksimum 32 deneme sürer. Ayrıca bir cihazdaki WiFi ve Bluetooth MAC adresleri genellikle ardışık gelir. Bu sebepten WiFi gözlenerek de Bluetooth MAC adresi hakkında bilgi edinilebilir. Aşağıdaki resimde MAC adreslerinin ardışık gelmesiyle alakalı bir örnek verilmiştir.

blueborne-2

Bununla birlikte Bluetooth cihazları (neredeyse tamamı) görünürlüğü aktif olmasa dahi her zaman dinleme modundadır. Bu sebepten bir saldırganın özellikle görünür olan bir Bluetooth cihazı bulmasına gerek kalmaz, dinleme modun da olan her Bluetooth cihazı bu zafiyete karşı risk altındadır.

Cihaz MAC adresi öğrenildiğine göre cihaz ile iletişim kurulabilir. Peki bu saldırı nasıl gerçekleşiyor? Saldırının nasıl gerçekleştiğini Linux tabanlı IoT cihazlarının istismarı üzerinden anlatalım.

blueborne-3

Linux kernelindeki Bluetooth yığınına BlueZ adı verilir. Samsung’un Tizen işletim sistemi, Amazon’un Fire işletim sistemi gibi Linux kerneline sahip özelleştirilmiş işletim sistemleri de, Bluetooth yığını olarak BlueZ kullanmaktadır. BlueZ yığınında çalışan protokol ve servisler root yetkilerinde veya kernel düzeyinde çalışırlar.

Bluetooth yığınlarının tamamında Bluetooth servisleriyle olan bağlantıları düzenleyen katmana L2CAP adı verilir. L2CAP, QoS özellikleriyle birlikte Bluetooth için TCP ile eşdeğer çalışır. Modifiye edilmiş L2CAP paketleri ile Linux tabanlı IoT cihazı üzerinde, KASLR (Kernel Address Space Layout Randomization) ve Stack Koruması bypass edilip BlueBorne saldırısı gerçekleştirilecektir.

Aynı zamanda BlueBorne saldırısı ile Linux kernelinde bulunan RCE zafiyetini kullanarak (CVE-2017-1000251) sistemde root yetkileriyle komut çalıştırılabilmektedir. Kernel sürümü v2.6.32 ve öncesi olan IoT cihazlarda yapılabilen BlueBorne saldırısının yanı sıra, kernel sürümü daha yeni olan cihazlarda da BlueBorne saldırısı gerçekleştirilebilmiştir. Örneğin kernel sürümü v2.6.37 olan Amazon Echo akıllı hoparlörü CVE-2017-1000251 zafiyetini barındırmamasına rağmen sömürülebilmiştir. Biz de saldırıyı detaylandırmaya Amazon Echo cihazı üzerinden devam edelim.

blueborne-4

Öncelikle Amazon Echo cihazının konfigürasyonlarına göz atalım:

  • Kernel sürümü 2.6.37
  • Arm 32bit işlemci kullanıyor. (TI DM3725)
  • KASLR bulunmuyor. KASLR, kernel imajının boot sürecinde her seferinde belirli bir adrese yüklenmesi yerine rastgele bir adrese yüklenmesini sağlar. KASLR hem interruptları handle eden Interrupt Descriptor Table’ın manipülasyonunu imkansız hale getirir hem de kernel adres bloğunun yerinin tahmin edilmesini zorlaştırır.
  • Stack Canary bulunmuyor. Stack Canary basitçe şu şekilde tanımlanır: Program çalıştırılmaya başlamadan önce kodların en üstünde EBP registerına aktarılmaya hazır rastgele oluşturulmuş bir değer saklar. Programın bitiminde de bu değer değişip değişmediğini kontrol eder.
  • GCC’nin FORTIFY_SOURCE mekanizması bulunmuyor. Yani overflow edilen ilk 4 byte direkt buffer’ın çıktısını gösterir.
  • NX Biti bulunmuyor. “No execute” anlamına gelir ve işlemcinin bazı kodları çalıştırmasını engelleyen bir teknolojidir.
  • LSM (Linux Security Module) bulunmuyor. Örneğin SMACK gibi işlem etkileşimlerini ve verileri kötü amaçlı işlemlerden koruyacak bir yazılım bulunmamaktadır.

Güvenlik açısından önemli kernel konfigürasyonlarının yapılmamış olması direkt olarak stack’e atlayıp shellcode çalıştırılabileceğini göstermektedir.

blueborne-5

Yukarıda sarı renklendirilmiş bölgede, l2cap_config_rsp’nin gelen konfigürasyon yanıtlarını 60 byte ile sınırlandırdığı görülmektedir. Yani buradan 64 byte’lık bir overflow yapılmasının mümkün olmadığı görülmekte. Fakat bunu aşmak için de l2cap_parse_conf_rsp’nin implementasyonun da derinliklere inip araştırmalar yapılmıştır.

blueborne-6.png

Yukarıdaki kod parçasında da görüldüğü üzere, while döngüsü her çalıştığında; l2cap_parse_conf_rsp, mevcut elementin uzunluğunu ve değerini döndürmektedir. Elementin uzunluğu ne olursa olsun gelen değer direkt olarak konfigürasyon yanıtına eklenecektir.

Örneğin; L2CAP_CONF_RFC türündeki bir konfigürasyon elementi while döngüsünde parse edildiğinde, aynı türde bir element sizeof (rfc) (9 byte) ile birlikte payloadına eklenecektir. L2CAP_CONF_RFC içerisindeki if ifadesi yalnızca memcpy öğesinin uygun boyutta olduğunu doğrular. Yani, sıfır uzunluklu bir RFC öğesi göndererek, ptr çıktısını 11 byte (2 header bytes + 9 payload bytes) kadar ilerletebiliriz.

Maksimum 30 sıfır uzunluklu RFC elemanının (konfigürasyon yanıtında 60 byte olarak) gönderilmesi, 330 baytlık bir konfigürasyon isteği yaratacaktır (11 * 30). Buffer’ın boyutunu (64 byte) büyük ölçüde geçecektir.

Devamında buffer taşırılarak gelen network üzerinden gelen yanıtlara göre shellcode yazılmıştır. Amazon Echo cihazından elde edilen shell ile örnek olarak uzaktan istediğiniz sesleri çalıştırabilirsiniz. Shellcode yazım aşaması yazının sonunda linkini paylaşacağım zafiyetin teknik raporunda detaylıca anlatılmıştır.

Bu saldırıyla birlikte ağ üzerinde cihazı kullanarak MiTM saldırısı, cihaz üzerinde root yetkilerinde komut çalıştırma, bilgi sızdırma, iç ağa erişim veya cihaz özelliklerini sizin adınıza kullanma gibi sömürüler yapılabilir.

BlueBorne saldırısından korunmak için platform bazlı yayınlanan güncellemeleri cihazlarda gerçekleştirebilirsiniz. Bununla birlikte BlueBorne benzeri bir saldırı vektörüne karşın Bluetooth servisini kullanmadığınız sürece kapalı konumda tutmanız tavsiye edilir.

Teknik Rapor: https://www.blackhat.com/docs/eu-17/materials/eu-17-Seri-BlueBorne-A-New-Class-Of-Airborne-Attacks-Compromising-Any-Bluetooth-Enabled-Linux-IoT-Device-wp.pdf

Referanslar:  https://www.blackhat.com/eu-17/briefings.html#blueborne-a-new-class-of-airborne-attacks-that-can-remotely-compromise-any-linux-iot-device

https://github.com/Alfa100001/-CVE-2017-0785-BlueBorne-PoC

https://armis.com/blueborne/#/devices

Muhammed Bilal KAN

Diğer Blog Yazıları_

Sosyal Medya Kullanımının Riskleri
Sosyal Medya Kullanımının Riskleri
Infraskope Server ve Özellikleri
Infraskope Server ve Özellikleri
Kritik Sunucular Üzerindeki Aktivitelerin Loglanması
Kritik Sunucular Üzerindeki Aktivitelerin Loglanması
Kurumlarda Ağ Güvenlik Stratejileri
Kurumlarda Ağ Güvenlik Stratejileri
WPA-WPA2 Güvenlik Standartlarına Yönelik Saldırı: KRACK (KEY-REINSTALLATION-ATTACK)
WPA-WPA2 Güvenlik Standartlarına Yönelik Saldırı: KRACK (KEY-REINSTALLATION-ATTACK)
Log Yönetiminde Ajanlı/Ajansız Çözümler
Log Yönetiminde Ajanlı/Ajansız Çözümler
Herkesin aklındaki soru: Yapay Zeka Nedir?
Herkesin aklındaki soru: Yapay Zeka Nedir?
Discovery of DLL Hijack on Trend Micro AntiVirus+ | CVE-2018-18333
Discovery of DLL Hijack on Trend Micro AntiVirus+ | CVE-2018-18333
Web Cache Poisoning
Web Cache Poisoning
XML EXTERNAL ENTITY INJECTION AND OOB (OUT-OF-BAND) DATA RETRIEVAL
XML EXTERNAL ENTITY INJECTION AND OOB (OUT-OF-BAND) DATA RETRIEVAL
ARP Poisoning
ARP Poisoning
Cross-Site Request Forgery (CSRF) Zafiyeti
Cross-Site Request Forgery (CSRF) Zafiyeti
SSRF (Server Side Request Forgery)
SSRF (Server Side Request Forgery)
BlueBorne
BlueBorne
Server Side Template Injection Nedir?
Server Side Template Injection Nedir?
Linux Restricted Shell Atlatma Teknikleri
Linux Restricted Shell Atlatma Teknikleri
Discovery of Sandbox Escape on Comodo Container(Antivirus&Firewall)
Discovery of Sandbox Escape on Comodo Container(Antivirus&Firewall)
SDR-Sharp Kullanımı
SDR-Sharp Kullanımı
Log Yönetimi | Log Management | Veritabanı Log | Siem
Log Yönetimi | Log Management | Veritabanı Log | Siem
Cyber Kill Chain, Bir Siber Saldırının Yaşam Döngüsü
Cyber Kill Chain, Bir Siber Saldırının Yaşam Döngüsü
Phishing Nedir?
Phishing Nedir?
“GOLD” Affix Phishing Attack
“GOLD” Affix Phishing Attack
Sızma Testi ve Ödül Avcılığı Hizmetleri
Sızma Testi ve Ödül Avcılığı Hizmetleri
Güvenilir Olarak CAPTCHA Yapılandırılması
Güvenilir Olarak CAPTCHA Yapılandırılması
Basit Kriptolojiden Günümüze Evrilişi
Basit Kriptolojiden Günümüze Evrilişi
Dosya Sistem Analizinin Önemi
Dosya Sistem Analizinin Önemi
HTTP Request Smuggling (HTTP İstek Kaçakcılığı) Nedir?
HTTP Request Smuggling (HTTP İstek Kaçakcılığı) Nedir?
KVKK Kapsamında Veri Keşfi Maskeleme ve Şifreleme
KVKK Kapsamında Veri Keşfi Maskeleme ve Şifreleme
Sosyal Medya Kullanımının Riskleri
Sosyal Medya Kullanımının Riskleri
Sızma (Penetrasyon) Testi Nedir?
Sızma (Penetrasyon) Testi Nedir?
Start Up Kültürü
Start Up Kültürü
Sigma Kuralları ile SIEM Ürünlerinde Tehdit Avı
Sigma Kuralları ile SIEM Ürünlerinde Tehdit Avı
Kritik Altyapılar ve SCADA Güvenliği
Kritik Altyapılar ve SCADA Güvenliği
Zararlı Yazılım Analiz Teknikleri
Zararlı Yazılım Analiz Teknikleri
Uzaktan Çalışma Modellerinde Siber Güvenlik Riskleri
Uzaktan Çalışma Modellerinde Siber Güvenlik Riskleri
Pandemi Sürecinde Siber Güvenlik Riskleri
Pandemi Sürecinde Siber Güvenlik Riskleri
SOC Nedir ve SOC Merkezleri Nasıl Çalışır?
SOC Nedir ve SOC Merkezleri Nasıl Çalışır?
PHISHING Hakkında Her şey
PHISHING Hakkında Her şey
Sosyal Mühendislik Nedir?
Sosyal Mühendislik Nedir?
Siber Hijyen
Siber Hijyen
Adli Bilişim (Digital Forensic) Nedir?
Adli Bilişim (Digital Forensic) Nedir?
DHCP Spoofing Saldırısı Nedir, Nasıl Yapılır?
DHCP Spoofing Saldırısı Nedir, Nasıl Yapılır?
FAIL2BAN İLE SSH BRUTE FORCE SALDIRILARINI ÖNLEME
FAIL2BAN İLE SSH BRUTE FORCE SALDIRILARINI ÖNLEME
BULK EXTRACTOR ARACIYLA DİSK İNCELEME
BULK EXTRACTOR ARACIYLA DİSK İNCELEME
SolarWinds Vaka Analizi
SolarWinds Vaka Analizi
Frida ile SSL Pinning Bypass
Frida ile SSL Pinning Bypass
COOKİE Nedir? Nasıl Çalışır?
COOKİE Nedir? Nasıl Çalışır?
Bilgi Güvenliği Test ve Değerlendirmeleri Teknik Kılavuzu
Bilgi Güvenliği Test ve Değerlendirmeleri Teknik Kılavuzu
Dridex Bankacılık Trojanı Teknik Analiz Raporu (TR)
Dridex Bankacılık Trojanı Teknik Analiz Raporu (TR)
Adwind Rat Technical Analysis Report (ENG)
Adwind Rat Technical Analysis Report (ENG)
SOC Nedir, Firmalar İçin Neden Önemlidir?
SOC Nedir, Firmalar İçin Neden Önemlidir?
Blockchain Nedir?
Blockchain Nedir?
İşlemcilerin Koruma Mekanizması ve Koruma Mekanizmasının Atlatılması
İşlemcilerin Koruma Mekanizması ve Koruma Mekanizmasının Atlatılması
Active Directory Güvenlik İpuçları
Active Directory Güvenlik İpuçları
Nisan 2022 Siber Güvenlik Bülteni
Nisan 2022 Siber Güvenlik Bülteni
Mavi Takım Üyeleri İçin Windows Core Process
Mavi Takım Üyeleri İçin Windows Core Process
Kişiler İçin Bilgi Güvenliği Rehberi
Kişiler İçin Bilgi Güvenliği Rehberi
DDoS Nedir?
DDoS Nedir?
C Dilinde Dosya Yönlendirmeleri (IO Redirection)
C Dilinde Dosya Yönlendirmeleri (IO Redirection)