Bluetooth Hack Araçları

1_FrFLMlKBKKrw8_OsQbdUfg.gif


En iyi Bluetooth tarayıcının ne olduğunu merak ediyor musunuz?
Ya da en sık kullanılan Bluetooth yazılımı nedir?
Biz de bunu merak ettik.

SERuL7.gif



Birkaçını inceledik, özellikleri ve yetenekleri karşılaştırdık ve en iyisi
Nordic Semiconductor nRF-51DK gibi görünse de, farklı durumlar için iyi sonuçlar veren bir dizi seçim olduğunu keşfettik. Sağlam bir strateji, eldeki durum için en iyisine odaklanırken birden fazla seçeneğe sahip olmaktır.
Bluetooth araştırma ve koklama ile IoT araştırmasına yaklaşma fikri iki yönlüdür. Birincisi, Bluetooth'un saldırı yüzeyinin güvenli olduğundan emin olmak için basitçe kontrol etmektir. İkincisi, saldırı vektörlerinin haritasını çıkarmaya yardımcı olabilecek girdi noktaları bulmak veya bir kişinin veya pahalı yeni IoT cihazının (veya her ikisinin birden) kolayca izlenmesine izin verebilecek cihaz bilgilerinin nasıl sızdırıldığını belirlemek gibi bir IoT araştırmasının diğer alanlarına yardımcı olmaktır. ).
Tutarsız bir test aracına veya diğer tüm araçlardan yalnızca bir şeyi daha iyi yapan ve en iyi ihtimalle vasat ek görevleri yerine getiren bir test aracına sahip olmaktan daha sinir bozucu bir şey yoktur. Tarama ve araştırma yaparken tutarlılık bulmak zordur ve bu kısmen Bluetooth'un doğasından kaynaklanmaktadır - verileri Wi-Fi'den çok daha zayıf bir sinyalde ileten, birbiri üzerine yığılmış, frekans atlamalı bir protokoller kümesidir. 🫣

Sonuç olarak, belirli ortamlardaki bazı donanım araçları iyi veya tutarlı bir şekilde performans göstermez. Bazı donanım araçları, yalnızca belirli ortamlarda başarılı olmak için özel olarak uyarlanmıştır. Ve bazıları, sahip olduğunuz her aletin de yapmasını dilediğiniz o tek şeyi teslim etmek gibi tuhaf şeyler yapar.😉
SERuL7.gif


Bu nedenle, birkaç farklı alanı göz önünde bulundurarak araçlara baktık:
Lab work
, including sniffing and probing
Field work, with both the ability to quickly find close-range targets as well as longer range targets using more sophisticated hardware with larger antennas
Programmability, for the serious hacker doing serious experimentation.

Platformlara ve üzerlerinde çalışan araçlara biraz değineceğiz ve hangi araçların hangi platformda en iyi çalıştığından bahsedeceğiz. Platform seçim listesi kapsamlı olmayacak, ancak harekete geçmenizi ve düşünmenizi sağlayacak kadar kapsamlı olmalıdır. Normalde, bu araçları incelemeye yönelik genel stratejimizi bir tür kılavuzla belirlerdik, ancak bu durumda, güçlü ve zayıf yönleri işaret etmeye devam edeceğiz - güçlü yönlere bir araştırmacının sahip olması gereken iyi bir araç açısından vurgu yaparak.

SERuL7.gif



Dizüstü bilgisayarlar

Bilgisayardaki uygulamalara geçmeden önce, bilgisayarın kendisinden bahsetmemiz gerekiyor - kullanıcıların bir masaüstü sistem yerine bir dizüstü bilgisayar seçeceğini varsayacağız. Bluetooth, doğası gereği hareketliliği ifade eder ve onu bir mobil platform aracılığıyla takip etmek en mantıklı olanıdır. IoT ile ilgili Bluetooth ve Wi-Fi sorunları söz konusu olduğunda, "saha çalışması" fikri mantıklıdır, dolayısıyla platformunuz da aynısını yapmalıdır.

İstediğiniz herhangi bir işletim sistemini (OS) kullanabilirsiniz - hepsi bir dereceye kadar sınırlamalar içerecektir.

AAA.png


Yalnızca yazılımda, özellikle komut satırı türünde bir bilgisayar korsanıysanız, ancak sürücü desteği bir sorunsa, Linux çok önde gelir. Bu, Windows önceden yüklenmiş olarak HP veya Dell dizüstü bilgisayar satın aldığınız ve ardından Linux'u yüklemek için sildiğiniz fenomendir - yalnızca donanımla etkileşim için Linux sürücülerinin biraz genel olduğunu bulmak için.

Windows sürücüleri, donanımlarıyla mükemmel şekilde çalıştıklarından emin olmak için genellikle dizüstü bilgisayar satıcısı tarafından yazılır. Dizüstü bilgisayarınızı, donanımlarını yalnızca Linux ve Linux ile gönderen ve donanımları için kendi özel sürücülerini yazan bir şirketten satın alırsanız, bunu Linux için bulabilirsiniz.

Birlikte gönderdikleri tek işletim sistemi olan Ubuntu için kendi sürücülerini geliştirip sürdürdükleri için System 76'nın harika bir seçim olmasının nedeni budur . Sonuç olarak, hem Bluetooth hem de Wi-Fi ile etkileşimleri çok yüksek kalitede ve şüpheli kablosuz araçlar çok daha kararlı ve kullanışlı hale geliyor.

fig1-system76.png



Şekil 1. System76 Galago Pro. Donanımlarıyla konuşmak için özelleştirilmiş sürücülerle hafif.

Tamamen kişisel bir tercih olsa da, Ubuntu'yu satıcı destekli donanım üzerinde çalıştırmanın sağlam bir yol olduğunu düşünüyoruz ve üç işletim sistemini de bir araştırma kapasitesinde kullanma deneyiminden yola çıkarak, bu gerçekten tutarlı sonuçlar veriyor gibi görünüyor - özellikle de Bluetooth.

Bizi yanlış anlamayın, diğer dizüstü bilgisayarlarda, diğer avantajlardan daha ağır basabilecek belirli bir klavye gibi, olmadan yaşayamayacağınız özellikler olabilir, ancak doğrudan Bluetooth ve genel olarak kablosuz protokollerle konuşursanız, bir adım önde olabilirsiniz. Linux düşünülerek tasarlanmış bir sistemde Linux ile.

Kali Linux hakkında birkaç söz: Eğer ihtiyacınız çok yönlü bir araştırma/sızma testi sistemiyse, bu iyi bir seçimdir, ancak Kali için uygulama seçiminin daha çok penetrasyona yönelik olduğunu unutmayın. Örneğin, Kali'deki Bluetooth yardımcı programlarının çoğu saldırmak içindir ve genellikle tek bir açık (veya istismar sınıfı) için yazılır ve bu istismarların çoğu modern sistemlerde yamalanmıştır.

SERuL7.gif

Bluetooth Donanım Aygıtları

Bluetooth söz konusu olduğunda tonlarca iyi eklenti donanım seçeneği var. Eklenti donanım seçenekleri derken, genellikle dizüstü bilgisayarınızdaki yerleşik Bluetooth'un sahip olmadığı özellikler ve yetenekler sağlayan USB aygıtlarından bahsediyoruz. Daha önce de belirtildiği gibi, birini diğerine tercih etmiyoruz; birden fazla özel cihaz kullanmanızı öneririz. Birden fazla öneriyormuşuz gibi geliyorsa, bunun nedeni büyük olasılıkla gideceğiniz yönün bu olmasıdır.

Akılda tutulması gereken en önemli şey, cihazın modern Bluetooth'u desteklemesi gerektiğidir - bu nedenle,
"Klasik Bluetooth ve Bluetooth Düşük Enerji" veya sürüm 4.0 veya üstü gibi bir şey görürseniz, iyi olmalısınız. Her iki "tat" da Bluetooth spesifikasyonunun 4.0 sürümüyle birleştirildi, bu nedenle tamamen 4.0 veya üstüyse her ikisini de desteklemesi gerekir. Bu yazı itibariyle, Bluetooth'u destekleyen çoğu IoT aynı zamanda 4.0 veya sonraki sürümleri de desteklemektedir.

Bazı IoT cihazları, "Bluetooth Düşük Enerji" için LE, BLE, BTLE veya adın başka bir varyasyonunu kullanmaya atıfta bulunacaktır - ancak yine, USB eklenti cihazınız 4.0 veya üstünü destekliyorsa, iyi olmalısınız.

Herhangi bir cihaz Bluetooth 5.x'i desteklediğini iddia ediyorsa harika - 5'in bazı nüanslarını kapatmak için ekstra özen gösterildiğinden emin olun. Sürüm 5 daha yüksek hız, farklı pil kullanımı vb. bellenimden 5'i gerçekten destekliyor ve daha az güç kullanırken daha yüksek performans gibi bir şeyden tam olarak yararlanamayan ince ayarlı 4.x donanımı değil.



SERuL7.gif

Küçük Donanım Kilidi

Basit dongle'lar söz konusu olduğunda tonlarca seçenek var. SMK-Link Nano gibi daha eski olanlar bile muhtemelen iyidir. Ana dezavantaj, macOS'ta yeterli desteğin olmaması ve garip Windows desteğidir. Windows 8'den başlayarak, Bluetooth sürücülerinde değişiklikler yapıldı, bu nedenle bazı dongle'lar yalnızca Windows 7'de düzgün çalışırken diğerleri yalnızca Windows 8 ve daha yenisini destekler. Seçiminiz Linux ise, çoğu Bluez gibi normal Bluetooth sürücüleri ile çalışacak ve tarama gibi görevleri kolaylıkla gerçekleştirecektir.



fig2-smklink.jpg

Şekil 2. SMK-Link Nano. Bilgisayar çantanızın altını kontrol edin, nasıl edindiğinizi bilmeden bir bilgisayar sahibi olabilirsiniz.


Bu sınıftaki dongle'lar, aynı dongle ile problama yapmak için bir araç kullanırken dongle'dan dinleme için Wireshark kullanmıyorsanız, dinleme için harika bir seçim değildir. Bu dongle'larla temel rastgele dinleme yetenekleri genellikle yoktur. Güçlü yanları, yakın çevredeki Bluetooth cihazları için temel taramalar sırasında biraz daha iyi performans sunabilmeleridir; bunun ötesinde herhangi bir şey için, istikrarlı ve tutarlı sonuçlar alırsanız şanslısınız. Dizüstü bilgisayarda yerleşik olan Bluetooth donanımından daha iyi bir performans elde edemiyorsanız, onu atlayabilirsiniz.

Daha Büyük Cihazlar

Daha kararlı bir cihaz, harika bir USB cihazı olan Sena UD-100'dür .
fig3-sena.jpg

Şekil 3. Kısa antenli Sena UD100.

Küçük bir antenle birlikte gelirken, dipol ve yama anten gibi bazı aksesuarların seçilmesi cihazın menzilini büyük ölçüde genişletebilir - örneğin, yama anten menzili bir kilometreye kadar artırabilir. Yine, Windows'ta beklenen sürücülere dikkat edin ve Linux'ta sorun olmamalıdır.

fig4-dipole-antenna.jpg

Şekil 4. UD100'deki bu çift kutuplu anten, ona yaklaşık yarım kilometrelik bir menzil (görüş hattı) verir.

Bu kurulumun büyük artıları, daha büyük antenin bile (çıkarıldığında) bir çantaya düzgün bir şekilde sığması ve menzili önemli ölçüde artırmasıdır. Sena UD100, yerleşik donanımdan çok daha iyi çalışan sağlam bir USB Bluetooth cihazıdır. Hem tarama hem de araştırma için bu bir rock yıldızı. Ancak, en büyük eksi, neredeyse hiç gizli olmamasıdır. Bir kafede, ne olduğunu öğrenmek isteyen meraklı "normaller" tarafından yaklaşılma olasılığını bekleyin (iyi bir şaşırtma yanıtı, "kablosuz bağlantı kesildi, ben onu dükkana götürene kadar geçici olarak onarmaktır").


SERuL7.gif


Ubertooth

Tüm sunumlar Ubertooth etrafında yapılmıştır ve güçlü yönleri olduğu kadar sınırlamaları da vardır. İşe yaradığında, düzgün çalışır ve başka türlü elde edilmesi oldukça zor olan verileri almanıza yardımcı olur. Ancak bu noktaya gelmek oldukça zordur. Yakalamaya çalıştığınız Bluetooth etkinliği ne olursa olsun düşen paketler ve çok sayıda yeniden başlatma bekleyin, çünkü Bluetooth açısından neler olup bittiğinin tam bir resmini elde etmek biraz sabır gerektirecektir - özellikle de koklamayı denerseniz.

Daha önce bahsettiğimiz gibi, Bluetooth belirli bir aralık veya spektrumdaki frekanslar arasında geçiş yaparak çalışır. Ubertooth, yazılım aracılığıyla spektrumdaki bu "kovalamaca" adım adım ilerliyor ve çeşitli çevresel faktörler ve mükemmel bir şekilde senkronize olmayan saatler nedeniyle, paketler düşebilir ve hatta Ubertooth'un tamamen kaçırdığı bir değiş tokuşun bir kısmı veya tamamı gerçekleşebilir.

Programlanabilir olması kesinlikle bir artıdır ve aygıt yazılımı dahil olmak üzere tüm yazılım yardımcı programları açık kaynaklıdır. Saha ortamında daha güçlü bir çift kutuplu anten bağlayabilir ve bundan daha iyi menzil elde edebilirsiniz, ancak açıkçası, Ubertooth kontrollü bir laboratuvar ortamında en iyi performansı gösterir.


İskandinav Yarı İletkeni

Nordic Semiconductor nRF51-DK cihazı, beklenenden daha iyi çalışan koklama yetenekleriyle oldukça iyi bir Bluetooth vericisi ve alıcısıdır. Ubertooth gibi, programlanabilir, ancak kullanıma hazır aygıt yazılımı, koklama da dahil olmak üzere çoğu hızlı bilgisayar korsanlığı işi için uygundur.

Menzil sınırlıdır, ancak kalite yüksektir. Nordic Semiconductor, IoT'de birçok çip ve donanım çözümü sağlıyor, bu nedenle geliştiricilerin yaratımlarını test etmelerine yardımcı olmak için ucuz donanımlar üretme eğilimindeler.

fig5-nordic.jpg

Şekil 5. Nordic Yarı İletken nRF51-DK. Bu şey hem ciddi geliştiriciler hem de bilgisayar korsanları için yapıldı.


Ubertooth, mesafe söz konusu olduğunda küçük bir avantaja sahip olsa da, bu laboratuvar için harika bir USB cihazıdır. Nordic Semiconductor'ın ürettiği çeşitli yonga setleri için IoT cihazları oluşturan ve IoT yazılımı yazan tasarımcı ve geliştiricilerin sayısı nedeniyle, bu cihaza yönelik topluluk desteği hızla artıyor. Bunun (ve bu yazının yazıldığı tarihteki daha yeni model olan nRF52-DK'nin) geniş açık platform sayesinde bilgisayar korsanlarının favori tercihi olmasını bekleyin.


Üst Düzey Donanım

Ciddi bir şekilde hardcore değilseniz ve çok büyük bir bütçeniz yoksa bunu önermiyoruz, ancak parayı harcamak istiyorsanız, mükemmel Bluetooth yakalamaları elde edebilirsiniz. Örneğin, Ellisys Bluetooth Explorer mükemmel, ancak 17.500 USD'ye satılıyor. İleri teknoloji cihazlar satan başka şirketler de var, ancak fikri anladınız - başlangıç noktası 17.500 dolar ve fiyatlar oradan yükseliyor.

fig6-ellisys.png

Şekil 6. Ellisys Bluetooth Explorer BEX400, aynı anda hem Bluetooth hem de Wi-Fi algılaması yapar.

Bu üst düzey araçların maliyeti neden bu kadar yüksek? Çünkü çok iyi çalışıyorlar. Bahsettiğimiz dongle'lar koklama için kullanılabilir, ancak temelde Bluetooth spektrumunda atlama sinyali verdiği için Bluetooth oturumunu takip ederler.

Üst düzey makineler, tüm Bluetooth spektrumunu bir kerede yakalayarak her şeyi yakalayarak farklı çalışır. Cihazı kontrol etmeye ve yakalanan verileri okumaya yardımcı olmak için özel yazılım kullanılır ve genellikle yalnızca Windows'ta çalışır. Bu cihazlar laboratuar çalışması için üretilmiştir, ancak daha güçlü antenler kolayca eklenebilir ve güç gereksinimlerini karşılayabildikleri sürece, bu da mükemmel bir saha cihazı olarak kabul edilebilir (hatta bazı üst düzey modeller bu şekilde pazarlanmaktadır - hem laboratuvar hem de saha için üretilmiştir).


SERuL7.gif


Yazılım araçları

Komut Satırı Hakkında Her Şey

Linux korsanı için her şey komut satırı arabirimiyle (CLI) ilgilidir. Bluetooth için çok sayıda CLI aracı vardır ve bunların çoğu yararlı bilgiler sağlar, ancak bunların tümü tutarlı bir şekilde çıktı sağlamaz.

Tek bir cihazı araştırırken ve kurcalarken bu genellikle bir sorun değildir, ancak aynı anda birkaç cihaza bakmaya çalışıyorsanız (bir kafedeyken çok sayıda cihazı taramak gibi), o zaman farklı çıktı biçimlerine düzen getirmek için çıktının bir miktar komut dosyası oluşturması ve ayrıştırılması gerekecektir.

İşte araştırmacılar tarafından yaygın olarak kullanılan bir dizi araç (başkaları da var, bu, Laboratuarlarda kullanılan daha popüler olanların bir örneğidir, ana sayfalarını kontrol edin veya tüm işlevler için -? veya --help seçenekleriyle çalıştırın) .

hcitool - Bu yardımcı program, diğer araçlarla bağlanırken komut satırı taraması ve her zaman önemli olan MAC adresini elde etmek için kullanılabilir.

gatttool - Bluez kitaplığına dahil olan bu, Genel Niteliklerin veya Bluetooth belirtiminde tanımlandığı şekliyle GATT özelliğinin belirli değerlerine odaklanmak için harika bir araçtır

ubertooth-btle - Ubertooth yazılımına dahildir; tüm Bluetooth araçları arasında bu, oldukça fazla kullanılacaktır. Bluetooth spektrumunda zıplarken ve kovalarken, bu yardımcı programı koklarken ara sıra tam bir Bluetooth trafiği yığını alırsınız. Bunun BTLE kısmının sizi aldatmasına izin vermeyin - tüm eşleştirme, düşük enerji aleminde Bluetooth 4.x'te gerçekleşir, bu nedenle, başka hiçbir şey olmasa bile, bu, eşleştirme sürecinin daha keskin bir izini sürmenin harika bir yoludur. Birden fazla denemeye ve biraz sabra hazırlıklı olun ve tamamlandığında, analiz etmek için pcap biçimli güzel bir çıktı dosyanız olacak.


Telefonlardaki Mobil Uygulamalar

Saha çalışması yaparken bazen dizüstü bilgisayarınızı çıkarıp dongle'larınızı kurmaya zahmet edip etmeyeceğinizi merak ediyorsunuz. Bazen trafiğe hızlı bir şekilde bakmak yardımcı olur ve yararlı bilgiler döndürmesi daha da iyidir - dizüstü bilgisayarı çıkardıktan sonra neye odaklanacağınız konusunda size zaman kazandırır.

Telefonunuz için bu konuda yardımcı olacak bir dizi ücretsiz uygulama var. Ücretsiz uygulamalardan bazılarının sonuçları karışıktır, ancak birini seçmek için temel bir kılavuz, bunları geliştirici tarafından seçmektir.

Telefonunuzdan test etmek için iyi ücretsiz Bluetooth uygulamaları yazan çeşitli uygulamalar veya IoT cihazları (veya her ikisi) oluşturmak için araçlar satan birkaç şirket var. Bunlar, satın alınan ürünleri kullanırken geliştirme sürecinizi tamamlamayı amaçladıklarından, genellikle oldukça yüksek kalitededir.

Güvenlik araştırmacıları için iyi çalışan bir kaç iyi olan, Punch Through's Light Blue Explorer ve Nordic Semiconductor'ın nRF Connect'idir .


fig7-punchthru.png

Şekil 7. Punch Through'un LightBlue Explorer'ı çalışırken. Yukarıdakilerden, olağandışı öğeleri bulmada yararlı olduğunu görebilirsiniz. Bu, bir iş gezisi sırasında uçuşun ortasında yakalandı.

fig8-nordic-semi.png

Şekil 8. Nordic Semiconductor'ın nRF Connect'i. İyi günlük kaydı özelliklerine sahip mükemmel bir uygulama.


Wireshark'ı kullanma

Donanımların çoğu ve hatta bazı yazılımlar, Wireshark eklentileriyle birlikte gelir ve hepsini derler ve kurar. Adlandırılacak ve planlanacak çok fazla şey olsa da akılda tutulması gereken bazı genel kurallar vardır.

Belgeleri okuyun, ancak tarihi not edin. Araçların çoğu, eklentiyi derlemek için Wireshark kaynak kodunun hangi sürümüne ihtiyacınız olduğuna ilişkin ayrıntılı talimatlara ve gereksinimlere sahiptir ve muhtemelen Wireshark'ın çok daha yeni bir sürümünü kullanıyorsunuzdur. Talimatlar eskiyse ve Wireshark'ın eski bir sürümüne atıfta bulunuyorsa, eklentinin Wireshark'ın daha yeni sürümüyle birlikte gelmesi mümkündür. Çoğu eklenti, Wireshark'ın daha yeni bir sürümüyle sorunsuz bir şekilde derlenir. Aslında çoğu, Linux sürümünüz için Wireshark geliştirme paketiyle derlenir, örneğin Ubuntu'daki wireshark-dev.

Eklentilerin amacı, Wireshark uygulamasının içindeki ham Bluetooth paketlerini biraz daha okunabilir bir şeye yorumlamaktır ve Bluetooth ile ilgili birden fazla protokol olduğundan, neler olup bittiğine dair bir anlam çıkarmaya yardımcı olur.

Bluetooth'u koklamanın genellikle birkaç farklı yolu vardır - doğrudan Wireshark içinde ve komut satırı araçlarından biriyle. Örneğin, Ubertooth, Bluetooth trafiğinin yakalanmasına ve verilerin Wireshark'ın okuyabileceği ve yorumlayabileceği (uygun eklentilerle) pcap formatında kaydedilmesine izin veren yukarıda bahsedilen ubertooth-btle'ı içerir. Ancak Bluetooth USB dongle'larınızı da takabilir ve Wireshark'ın içinden koklayabilirsiniz. Ve Wireshark içinde koklama sırasında birden fazla Bluetooth kaynağı kullanabilirsiniz.

Örneğin, dizüstü bilgisayarın yerleşik Bluetooth özelliklerini kullanarak koklama yapılabilir; tek bir CLI aracıyla eylem gerçekleştirmek için donanım kilidiyle bir USB bağlantı noktası kullanın; ve başka bir eylem gerçekleştirmek için ikinci bir dongle ile ikinci bir USB bağlantı noktası kullanın - aynı anda üçünü de koklayabilirsiniz. Kulağa aşırı derecede karmaşık geliyor, ama değil. Bir cihazı araştırmak için bir donanım kilidi kullanıyorsanız ve aynı anda onu doldurmaya çalışan başka bir dongle kullanıyorsanız, her ikisinin de sonuçlarını aynı sniffer oturumunda görebilirsiniz. Ayrıca, bir dongle veya CLI'nin diğerine karşı nasıl performans gösterdiği test edilirken yardımcı olur.


Peki Amaç Ne?

Bluetooth'un saldırı yüzeyini incelemeye yönelik kontrol listesi, uygulamanın hizmet reddi vb.

Bu aynı zamanda cihazın çeşitli aşamalarda ne yaptığını belgelemeyi de içerir. Örneğin, birden fazla cihaz onunla eşleşebilir mi? İlk kez güç uygulandıktan hemen sonra reklam vermeye mi başlıyor yoksa eşleştirmeye izin vermesi için bir işlem (düğmeye basma gibi) gerçekleştirmeniz mi gerekiyor? Belki de pil gücünden tasarruf etme çabasıyla, reklam verme ve reklam vermeme dönemleri arasında geçiş yapıyor mu? Ancak daha da önemlisi, özellikle cihazın durumu değiştikçe, parmak izi almak veya cihaz hakkındaki bilgileri belirlemek için ne kadar bilginin uzaktan okunabileceğini görmek. Ve bu ikinci alana giriyor.

Cihazın adı veya model numarası gibi şeyler işinize yarayabilir. Genellikle bir cihazın parmak izini alırken, Bluetooth yonga seti ve belki de bu yonga seti ile ilişkili üretici yazılımı sürümleri gibi diğer alanlarda IoT araştırmanıza yardımcı olacak bilgiler bulursunuz.

Donanım yazılımı sürümünü tam yapı sürümüne kadar uzaktan belirleyebilmek, özellikle çevrimiçi olarak ürün yazılımı sürümlerini bulabiliyorsanız, çok büyük bir zaman kazandırabilir. Belirli bir kusur içeren ancak yalnızca önceki bir sürümde mevcut olan bir yapı sürümünün farkındaysanız, bu kusuru test aşamanızdan kaldırarak zamandan tasarruf edebilirsiniz.

Kod:
thegnome@fang:~$ hcitool -i hci1 leinfo 00:07:80:CF:76:BC[/B][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER]
[COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER]Requesting information ...
   Handle: 75 (0x004b)
   LMP Version: 4.0 (0x6) LMP Subversion: 0x3
   Manufacturer: Bluegiga (71)
   Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
thegnome@fang:~$





Küçük bir Google aramasıyla, Bluegiga yonga setini ve 71'in derleme sürümünü belirlemek, 2013'teki tam üretici yazılımı sürümünü belirlemeye yardımcı oldu. Bir telefonda ücretsiz uygulamalarla uğraşmak bile ilginç bilgileri ortaya çıkarabilir:

fig9-model-1508440643.png

Şekil 9. Bir aygıtın model numarası dizisini ascii hex yerine düz İngilizce olarak tarama ve bulma.


Yukarıdaki örnekte, BLE112'nin model numarası dizisi, Bluegiga ile hcitool çıktısı ve derleme sürümüyle birleştiğinde, kesin üretici yazılımının doğrulanmasına yardımcı oldu. Kayıt için, gatttool komut satırı aracı kullanılarak, neredeyse temiz bir şekilde sunulmasa da, aynı bilgiler de belirlenebilir.

Kod:
root@plague:~# gatttool -i hci1 -I[/B][/COLOR][/CENTER][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER]
[COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][                 ][LE]> connect 00:07:80:cf:76:bc
Attempting to connect to 00:07:80:cf:76:bc
Connection successful
[00:07:80:cf:76:bc][LE]> characteristics
handle: 0x0002, char properties: 0x0a, char value handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb
handle: 0x0004, char properties: 0x02, char value handle: 0x0005, uuid: 00002a01-0000-1000-8000-00805f9b34fb
handle: 0x0007, char properties: 0x02, char value handle: 0x0008, uuid: 00002a29-0000-1000-8000-00805f9b34fb
handle: 0x0009, char properties: 0x02, char value handle: 0x000a, uuid: 00002a24-0000-1000-8000-00805f9b34fb
handle: 0x000b, char properties: 0x02, char value handle: 0x000c, uuid: 00002a25-0000-1000-8000-00805f9b34fb
handle: 0x000e, char properties: 0x28, char value handle: 0x000f, uuid: 80c7b47e-0d04-44d9-9fa7-245e83c4fc66
handle: 0x0012, char properties: 0x2a, char value handle: 0x0013, uuid: 00002a26-0000-1000-8000-00805f9b34fb
[00:07:80:cf:76:bc][LE]> char-read-uuid 00002a24-0000-1000-8000-00805f
handle: 0x000a value: 42 4c 45 31 31 32
[00:07:80:cf:76:bc][LE]> char-read-hnd 0a
Characteristic value/descriptor: 42 4c 45 31 31 32
[00:07:80:cf:76:bc][LE]>






Yukarıdaki adımlar aşağıdaki gibiydi:

    • Gatttool'un “etkileşimli” moduna ( gatttool -i hci1 -I) geçin.​
    • hcitool lescan'dan ( ) elde edilen MAC adresini kullanarak Bluetooth aracılığıyla cihaza bağlanın connect 00:07:80:cf:76:bc.​
    • Değerleriyle ( characteristics) ortak tanıtıcıların bir listesini edinin.​
    • Bu durumda, Bluetooth yonga setinin model numarasını (bu satır: ) içeren 0x2a24 GATT özelliği ile ilgileniyoruz handle: 0x0009, char properties: 0x02, char value handle: 0x000a, uuid: 00002a24-0000-1000-8000-00805f9b34fb.​
    • 00002a24 ile başlayan uuid değeri, aradığımız değerdir ve tam uuid ( ) veya char değeri tanıtıcısını (char-read-hnd 0a) kullanarak , char-read-uuid 00002a24-0000-1000-8000-00805fmodel numarasına ( ) sahip dizeyi elde edebiliriz. 42 4c 45 31 31 32onaltılı "BLE112" dir ve belirli bir Bluegiga ürününü ifade eder).​
Karakter özellikleri değerleri ilginçtir - örneğin, 02 salt okunur ( char properties: 0x02) ve 0a yazılabilir. Ancak görebileceğiniz gibi, biraz araştırma ve araştırmadan sonra, aygıt yazılımı, yonga seti özellikleri vb. bulmamıza yardımcı olacak bir ton bilgi elde ettik.

Kaynak Koduyla İlişkilendirme

Değerlerin harici olarak yazılmasına izin veren tüm arabirimleri bulmak, saldırı yüzeyini incelemenin önemli bir parçasıdır ve tüm UUID değerlerine sahip olmak, derlenmiş kod aracılığıyla grep yapmak söz konusu olduğunda harikadır. Bu, IoT cihazına girilen değerleri potansiyel olarak haritalamanıza ve bu değerlerin, örneğin telefondaki eşlik eden uygulama tarafından nasıl işlendiğini görmenize olanak tanır.

IoT cihazı için üretici yazılımı edinmeyi başardıysanız ve onu kaynak koda dönüştürdüyseniz, rastgele verilerle hangi arabirimleri araştırabileceğiniz veya en azından hangilerinin en umut verici görünebileceği hakkında bir fikriniz olur.


Tam Olarak Mükemmel Değil

Bluetooth kusurlu olabilir ve birkaç kez test yapılmasına yardımcı olur. Örneğin, birkaç dakika arayla çalıştırılan bir cihaza karşı sonuçlara bakın:

Kod:
thegnome@claw:~$ hcitool -i hci1 leinfo 44:fe:d3:98:29:7e Requesting information ...[/B][/COLOR][/CENTER]
[COLOR=rgb(255, 255, 255)][B][CENTER]    Handle: 3585 (0x0e01)
    Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

thegnome@claw:~$ hcitool -i hci1 leinfo 44:fe:d3:98:29:7e
Requesting information ...
    Handle: 3585 (0x0e01)
    LMP Version: 4.1 (0x7) LMP Subversion: 0x64
    Manufacturer: Nordic Semiconductor ASA (89)
    Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00





İlki tam bir cevap alamadı, ikincisi aldı. Bu nedenle, bir testin birden fazla geçişini öneriyoruz.



Bluetooth cihazlarıyla uğraşmak söz konusu olduğunda bu bilgilerin biraz daha yön sağlayabileceğini umuyoruz. Özellikle bir IoT cihazına girdi sağlamanın birden fazla yolu ile uğraşırken ve saldırıları formüle ederken bunları katmanlamaya çalışırken, bazı alanlar karmaşık görünebilir. Ancak farklı antenlere sahip çeşitli cihazlar kullanarak ve sebepsiz yere başarısız olduklarında testleri tekrarlayarak, araştırma süresi kısaltılabilir ve gerçek kusurlar biraz daha hızlı bulunabilir.

Linux çalıştıran bir System76, daha büyük dipol antenli bir Sena UD100, Nordic Semiconductor nRF51-DK (veya yeni nRF52-DK), çeşitli Linux araçları ve nRF Connect for Desktop'ın Linux sürümü, çoğu alanı kapsamak için sağlamdır ve laboratuvar çalışması. Telefondaki iOS veya Android için nRF Connect gibi bazı uygulamalarla birleştiğinde, sahadayken o dizüstü bilgisayarı çıkarmanın değip değmeyeceğini hızlı bir şekilde kontrol edebilirsiniz - artı başka bir bilgi kaynağınız var. Ancak, daha fazla anten seçeneği veya Ubertooth gibi ek bir şey kullanabiliyorsanız, onu kullanın.

Bluetooth araştırması ağaç işleme gibidir - tüm projeyi yalnızca bir çekiç ve çivi, bir keski, zımpara kağıdı ve bir el testeresi ile yapabilirsiniz, ancak dekupaj testeresi veya elektrikli zımpara makinesi gibi bir dizi başka araca sahip olmak kesinlikle daha iyi sonuçların daha hızlı alınmasına yardımcı olacaktır.



SERuL7.gif














 

Ertugrul'

Basın&Medya Ekibi Deneyimli
22 Mar 2023
1,154
900
Photoshop 🔥
1_FrFLMlKBKKrw8_OsQbdUfg.gif


En iyi Bluetooth tarayıcının ne olduğunu merak ediyor musunuz?
Ya da en sık kullanılan Bluetooth yazılımı nedir?
Biz de bunu merak ettik.

SERuL7.gif



Birkaçını inceledik, özellikleri ve yetenekleri karşılaştırdık ve en iyisi
Nordic Semiconductor nRF-51DK gibi görünse de, farklı durumlar için iyi sonuçlar veren bir dizi seçim olduğunu keşfettik. Sağlam bir strateji, eldeki durum için en iyisine odaklanırken birden fazla seçeneğe sahip olmaktır.
Bluetooth araştırma ve koklama ile IoT araştırmasına yaklaşma fikri iki yönlüdür. Birincisi, Bluetooth'un saldırı yüzeyinin güvenli olduğundan emin olmak için basitçe kontrol etmektir. İkincisi, saldırı vektörlerinin haritasını çıkarmaya yardımcı olabilecek girdi noktaları bulmak veya bir kişinin veya pahalı yeni IoT cihazının (veya her ikisinin birden) kolayca izlenmesine izin verebilecek cihaz bilgilerinin nasıl sızdırıldığını belirlemek gibi bir IoT araştırmasının diğer alanlarına yardımcı olmaktır. ).
Tutarsız bir test aracına veya diğer tüm araçlardan yalnızca bir şeyi daha iyi yapan ve en iyi ihtimalle vasat ek görevleri yerine getiren bir test aracına sahip olmaktan daha sinir bozucu bir şey yoktur. Tarama ve araştırma yaparken tutarlılık bulmak zordur ve bu kısmen Bluetooth'un doğasından kaynaklanmaktadır - verileri Wi-Fi'den çok daha zayıf bir sinyalde ileten, birbiri üzerine yığılmış, frekans atlamalı bir protokoller kümesidir. 🫣

Sonuç olarak, belirli ortamlardaki bazı donanım araçları iyi veya tutarlı bir şekilde performans göstermez. Bazı donanım araçları, yalnızca belirli ortamlarda başarılı olmak için özel olarak uyarlanmıştır. Ve bazıları, sahip olduğunuz her aletin de yapmasını dilediğiniz o tek şeyi teslim etmek gibi tuhaf şeyler yapar.😉
SERuL7.gif


Bu nedenle, birkaç farklı alanı göz önünde bulundurarak araçlara baktık:
Lab work
, including sniffing and probing
Field work, with both the ability to quickly find close-range targets as well as longer range targets using more sophisticated hardware with larger antennas
Programmability, for the serious hacker doing serious experimentation.

Platformlara ve üzerlerinde çalışan araçlara biraz değineceğiz ve hangi araçların hangi platformda en iyi çalıştığından bahsedeceğiz. Platform seçim listesi kapsamlı olmayacak, ancak harekete geçmenizi ve düşünmenizi sağlayacak kadar kapsamlı olmalıdır. Normalde, bu araçları incelemeye yönelik genel stratejimizi bir tür kılavuzla belirlerdik, ancak bu durumda, güçlü ve zayıf yönleri işaret etmeye devam edeceğiz - güçlü yönlere bir araştırmacının sahip olması gereken iyi bir araç açısından vurgu yaparak.

SERuL7.gif



Dizüstü bilgisayarlar

Bilgisayardaki uygulamalara geçmeden önce, bilgisayarın kendisinden bahsetmemiz gerekiyor - kullanıcıların bir masaüstü sistem yerine bir dizüstü bilgisayar seçeceğini varsayacağız. Bluetooth, doğası gereği hareketliliği ifade eder ve onu bir mobil platform aracılığıyla takip etmek en mantıklı olanıdır. IoT ile ilgili Bluetooth ve Wi-Fi sorunları söz konusu olduğunda, "saha çalışması" fikri mantıklıdır, dolayısıyla platformunuz da aynısını yapmalıdır.

İstediğiniz herhangi bir işletim sistemini (OS) kullanabilirsiniz - hepsi bir dereceye kadar sınırlamalar içerecektir.

AAA.png


Yalnızca yazılımda, özellikle komut satırı türünde bir bilgisayar korsanıysanız, ancak sürücü desteği bir sorunsa, Linux çok önde gelir. Bu, Windows önceden yüklenmiş olarak HP veya Dell dizüstü bilgisayar satın aldığınız ve ardından Linux'u yüklemek için sildiğiniz fenomendir - yalnızca donanımla etkileşim için Linux sürücülerinin biraz genel olduğunu bulmak için.

Windows sürücüleri, donanımlarıyla mükemmel şekilde çalıştıklarından emin olmak için genellikle dizüstü bilgisayar satıcısı tarafından yazılır. Dizüstü bilgisayarınızı, donanımlarını yalnızca Linux ve Linux ile gönderen ve donanımları için kendi özel sürücülerini yazan bir şirketten satın alırsanız, bunu Linux için bulabilirsiniz.

Birlikte gönderdikleri tek işletim sistemi olan Ubuntu için kendi sürücülerini geliştirip sürdürdükleri için System 76'nın harika bir seçim olmasının nedeni budur . Sonuç olarak, hem Bluetooth hem de Wi-Fi ile etkileşimleri çok yüksek kalitede ve şüpheli kablosuz araçlar çok daha kararlı ve kullanışlı hale geliyor.

fig1-system76.png



Şekil 1. System76 Galago Pro. Donanımlarıyla konuşmak için özelleştirilmiş sürücülerle hafif.

Tamamen kişisel bir tercih olsa da, Ubuntu'yu satıcı destekli donanım üzerinde çalıştırmanın sağlam bir yol olduğunu düşünüyoruz ve üç işletim sistemini de bir araştırma kapasitesinde kullanma deneyiminden yola çıkarak, bu gerçekten tutarlı sonuçlar veriyor gibi görünüyor - özellikle de Bluetooth.

Bizi yanlış anlamayın, diğer dizüstü bilgisayarlarda, diğer avantajlardan daha ağır basabilecek belirli bir klavye gibi, olmadan yaşayamayacağınız özellikler olabilir, ancak doğrudan Bluetooth ve genel olarak kablosuz protokollerle konuşursanız, bir adım önde olabilirsiniz. Linux düşünülerek tasarlanmış bir sistemde Linux ile.

Kali Linux hakkında birkaç söz: Eğer ihtiyacınız çok yönlü bir araştırma/sızma testi sistemiyse, bu iyi bir seçimdir, ancak Kali için uygulama seçiminin daha çok penetrasyona yönelik olduğunu unutmayın. Örneğin, Kali'deki Bluetooth yardımcı programlarının çoğu saldırmak içindir ve genellikle tek bir açık (veya istismar sınıfı) için yazılır ve bu istismarların çoğu modern sistemlerde yamalanmıştır.

SERuL7.gif

Bluetooth Donanım Aygıtları

Bluetooth söz konusu olduğunda tonlarca iyi eklenti donanım seçeneği var. Eklenti donanım seçenekleri derken, genellikle dizüstü bilgisayarınızdaki yerleşik Bluetooth'un sahip olmadığı özellikler ve yetenekler sağlayan USB aygıtlarından bahsediyoruz. Daha önce de belirtildiği gibi, birini diğerine tercih etmiyoruz; birden fazla özel cihaz kullanmanızı öneririz. Birden fazla öneriyormuşuz gibi geliyorsa, bunun nedeni büyük olasılıkla gideceğiniz yönün bu olmasıdır.

Akılda tutulması gereken en önemli şey, cihazın modern Bluetooth'u desteklemesi gerektiğidir - bu nedenle,
"Klasik Bluetooth ve Bluetooth Düşük Enerji" veya sürüm 4.0 veya üstü gibi bir şey görürseniz, iyi olmalısınız. Her iki "tat" da Bluetooth spesifikasyonunun 4.0 sürümüyle birleştirildi, bu nedenle tamamen 4.0 veya üstüyse her ikisini de desteklemesi gerekir. Bu yazı itibariyle, Bluetooth'u destekleyen çoğu IoT aynı zamanda 4.0 veya sonraki sürümleri de desteklemektedir.

Bazı IoT cihazları, "Bluetooth Düşük Enerji" için LE, BLE, BTLE veya adın başka bir varyasyonunu kullanmaya atıfta bulunacaktır - ancak yine, USB eklenti cihazınız 4.0 veya üstünü destekliyorsa, iyi olmalısınız.

Herhangi bir cihaz Bluetooth 5.x'i desteklediğini iddia ediyorsa harika - 5'in bazı nüanslarını kapatmak için ekstra özen gösterildiğinden emin olun. Sürüm 5 daha yüksek hız, farklı pil kullanımı vb. bellenimden 5'i gerçekten destekliyor ve daha az güç kullanırken daha yüksek performans gibi bir şeyden tam olarak yararlanamayan ince ayarlı 4.x donanımı değil.



SERuL7.gif

Küçük Donanım Kilidi

Basit dongle'lar söz konusu olduğunda tonlarca seçenek var. SMK-Link Nano gibi daha eski olanlar bile muhtemelen iyidir. Ana dezavantaj, macOS'ta yeterli desteğin olmaması ve garip Windows desteğidir. Windows 8'den başlayarak, Bluetooth sürücülerinde değişiklikler yapıldı, bu nedenle bazı dongle'lar yalnızca Windows 7'de düzgün çalışırken diğerleri yalnızca Windows 8 ve daha yenisini destekler. Seçiminiz Linux ise, çoğu Bluez gibi normal Bluetooth sürücüleri ile çalışacak ve tarama gibi görevleri kolaylıkla gerçekleştirecektir.



fig2-smklink.jpg

Şekil 2. SMK-Link Nano. Bilgisayar çantanızın altını kontrol edin, nasıl edindiğinizi bilmeden bir bilgisayar sahibi olabilirsiniz.


Bu sınıftaki dongle'lar, aynı dongle ile problama yapmak için bir araç kullanırken dongle'dan dinleme için Wireshark kullanmıyorsanız, dinleme için harika bir seçim değildir. Bu dongle'larla temel rastgele dinleme yetenekleri genellikle yoktur. Güçlü yanları, yakın çevredeki Bluetooth cihazları için temel taramalar sırasında biraz daha iyi performans sunabilmeleridir; bunun ötesinde herhangi bir şey için, istikrarlı ve tutarlı sonuçlar alırsanız şanslısınız. Dizüstü bilgisayarda yerleşik olan Bluetooth donanımından daha iyi bir performans elde edemiyorsanız, onu atlayabilirsiniz.

Daha Büyük Cihazlar

Daha kararlı bir cihaz, harika bir USB cihazı olan Sena UD-100'dür .
fig3-sena.jpg

Şekil 3. Kısa antenli Sena UD100.

Küçük bir antenle birlikte gelirken, dipol ve yama anten gibi bazı aksesuarların seçilmesi cihazın menzilini büyük ölçüde genişletebilir - örneğin, yama anten menzili bir kilometreye kadar artırabilir. Yine, Windows'ta beklenen sürücülere dikkat edin ve Linux'ta sorun olmamalıdır.

fig4-dipole-antenna.jpg

Şekil 4. UD100'deki bu çift kutuplu anten, ona yaklaşık yarım kilometrelik bir menzil (görüş hattı) verir.

Bu kurulumun büyük artıları, daha büyük antenin bile (çıkarıldığında) bir çantaya düzgün bir şekilde sığması ve menzili önemli ölçüde artırmasıdır. Sena UD100, yerleşik donanımdan çok daha iyi çalışan sağlam bir USB Bluetooth cihazıdır. Hem tarama hem de araştırma için bu bir rock yıldızı. Ancak, en büyük eksi, neredeyse hiç gizli olmamasıdır. Bir kafede, ne olduğunu öğrenmek isteyen meraklı "normaller" tarafından yaklaşılma olasılığını bekleyin (iyi bir şaşırtma yanıtı, "kablosuz bağlantı kesildi, ben onu dükkana götürene kadar geçici olarak onarmaktır").


SERuL7.gif


Ubertooth

Tüm sunumlar Ubertooth etrafında yapılmıştır ve güçlü yönleri olduğu kadar sınırlamaları da vardır. İşe yaradığında, düzgün çalışır ve başka türlü elde edilmesi oldukça zor olan verileri almanıza yardımcı olur. Ancak bu noktaya gelmek oldukça zordur. Yakalamaya çalıştığınız Bluetooth etkinliği ne olursa olsun düşen paketler ve çok sayıda yeniden başlatma bekleyin, çünkü Bluetooth açısından neler olup bittiğinin tam bir resmini elde etmek biraz sabır gerektirecektir - özellikle de koklamayı denerseniz.

Daha önce bahsettiğimiz gibi, Bluetooth belirli bir aralık veya spektrumdaki frekanslar arasında geçiş yaparak çalışır. Ubertooth, yazılım aracılığıyla spektrumdaki bu "kovalamaca" adım adım ilerliyor ve çeşitli çevresel faktörler ve mükemmel bir şekilde senkronize olmayan saatler nedeniyle, paketler düşebilir ve hatta Ubertooth'un tamamen kaçırdığı bir değiş tokuşun bir kısmı veya tamamı gerçekleşebilir.

Programlanabilir olması kesinlikle bir artıdır ve aygıt yazılımı dahil olmak üzere tüm yazılım yardımcı programları açık kaynaklıdır. Saha ortamında daha güçlü bir çift kutuplu anten bağlayabilir ve bundan daha iyi menzil elde edebilirsiniz, ancak açıkçası, Ubertooth kontrollü bir laboratuvar ortamında en iyi performansı gösterir.


İskandinav Yarı İletkeni

Nordic Semiconductor nRF51-DK cihazı, beklenenden daha iyi çalışan koklama yetenekleriyle oldukça iyi bir Bluetooth vericisi ve alıcısıdır. Ubertooth gibi, programlanabilir, ancak kullanıma hazır aygıt yazılımı, koklama da dahil olmak üzere çoğu hızlı bilgisayar korsanlığı işi için uygundur.

Menzil sınırlıdır, ancak kalite yüksektir. Nordic Semiconductor, IoT'de birçok çip ve donanım çözümü sağlıyor, bu nedenle geliştiricilerin yaratımlarını test etmelerine yardımcı olmak için ucuz donanımlar üretme eğilimindeler.

fig5-nordic.jpg

Şekil 5. Nordic Yarı İletken nRF51-DK. Bu şey hem ciddi geliştiriciler hem de bilgisayar korsanları için yapıldı.


Ubertooth, mesafe söz konusu olduğunda küçük bir avantaja sahip olsa da, bu laboratuvar için harika bir USB cihazıdır. Nordic Semiconductor'ın ürettiği çeşitli yonga setleri için IoT cihazları oluşturan ve IoT yazılımı yazan tasarımcı ve geliştiricilerin sayısı nedeniyle, bu cihaza yönelik topluluk desteği hızla artıyor. Bunun (ve bu yazının yazıldığı tarihteki daha yeni model olan nRF52-DK'nin) geniş açık platform sayesinde bilgisayar korsanlarının favori tercihi olmasını bekleyin.


Üst Düzey Donanım

Ciddi bir şekilde hardcore değilseniz ve çok büyük bir bütçeniz yoksa bunu önermiyoruz, ancak parayı harcamak istiyorsanız, mükemmel Bluetooth yakalamaları elde edebilirsiniz. Örneğin, Ellisys Bluetooth Explorer mükemmel, ancak 17.500 USD'ye satılıyor. İleri teknoloji cihazlar satan başka şirketler de var, ancak fikri anladınız - başlangıç noktası 17.500 dolar ve fiyatlar oradan yükseliyor.

fig6-ellisys.png

Şekil 6. Ellisys Bluetooth Explorer BEX400, aynı anda hem Bluetooth hem de Wi-Fi algılaması yapar.

Bu üst düzey araçların maliyeti neden bu kadar yüksek? Çünkü çok iyi çalışıyorlar. Bahsettiğimiz dongle'lar koklama için kullanılabilir, ancak temelde Bluetooth spektrumunda atlama sinyali verdiği için Bluetooth oturumunu takip ederler.

Üst düzey makineler, tüm Bluetooth spektrumunu bir kerede yakalayarak her şeyi yakalayarak farklı çalışır. Cihazı kontrol etmeye ve yakalanan verileri okumaya yardımcı olmak için özel yazılım kullanılır ve genellikle yalnızca Windows'ta çalışır. Bu cihazlar laboratuar çalışması için üretilmiştir, ancak daha güçlü antenler kolayca eklenebilir ve güç gereksinimlerini karşılayabildikleri sürece, bu da mükemmel bir saha cihazı olarak kabul edilebilir (hatta bazı üst düzey modeller bu şekilde pazarlanmaktadır - hem laboratuvar hem de saha için üretilmiştir).


SERuL7.gif


Yazılım araçları

Komut Satırı Hakkında Her Şey

Linux korsanı için her şey komut satırı arabirimiyle (CLI) ilgilidir. Bluetooth için çok sayıda CLI aracı vardır ve bunların çoğu yararlı bilgiler sağlar, ancak bunların tümü tutarlı bir şekilde çıktı sağlamaz.

Tek bir cihazı araştırırken ve kurcalarken bu genellikle bir sorun değildir, ancak aynı anda birkaç cihaza bakmaya çalışıyorsanız (bir kafedeyken çok sayıda cihazı taramak gibi), o zaman farklı çıktı biçimlerine düzen getirmek için çıktının bir miktar komut dosyası oluşturması ve ayrıştırılması gerekecektir.

İşte araştırmacılar tarafından yaygın olarak kullanılan bir dizi araç (başkaları da var, bu, Laboratuarlarda kullanılan daha popüler olanların bir örneğidir, ana sayfalarını kontrol edin veya tüm işlevler için -? veya --help seçenekleriyle çalıştırın) .

hcitool - Bu yardımcı program, diğer araçlarla bağlanırken komut satırı taraması ve her zaman önemli olan MAC adresini elde etmek için kullanılabilir.

gatttool - Bluez kitaplığına dahil olan bu, Genel Niteliklerin veya Bluetooth belirtiminde tanımlandığı şekliyle GATT özelliğinin belirli değerlerine odaklanmak için harika bir araçtır

ubertooth-btle - Ubertooth yazılımına dahildir; tüm Bluetooth araçları arasında bu, oldukça fazla kullanılacaktır. Bluetooth spektrumunda zıplarken ve kovalarken, bu yardımcı programı koklarken ara sıra tam bir Bluetooth trafiği yığını alırsınız. Bunun BTLE kısmının sizi aldatmasına izin vermeyin - tüm eşleştirme, düşük enerji aleminde Bluetooth 4.x'te gerçekleşir, bu nedenle, başka hiçbir şey olmasa bile, bu, eşleştirme sürecinin daha keskin bir izini sürmenin harika bir yoludur. Birden fazla denemeye ve biraz sabra hazırlıklı olun ve tamamlandığında, analiz etmek için pcap biçimli güzel bir çıktı dosyanız olacak.


Telefonlardaki Mobil Uygulamalar

Saha çalışması yaparken bazen dizüstü bilgisayarınızı çıkarıp dongle'larınızı kurmaya zahmet edip etmeyeceğinizi merak ediyorsunuz. Bazen trafiğe hızlı bir şekilde bakmak yardımcı olur ve yararlı bilgiler döndürmesi daha da iyidir - dizüstü bilgisayarı çıkardıktan sonra neye odaklanacağınız konusunda size zaman kazandırır.

Telefonunuz için bu konuda yardımcı olacak bir dizi ücretsiz uygulama var. Ücretsiz uygulamalardan bazılarının sonuçları karışıktır, ancak birini seçmek için temel bir kılavuz, bunları geliştirici tarafından seçmektir.

Telefonunuzdan test etmek için iyi ücretsiz Bluetooth uygulamaları yazan çeşitli uygulamalar veya IoT cihazları (veya her ikisi) oluşturmak için araçlar satan birkaç şirket var. Bunlar, satın alınan ürünleri kullanırken geliştirme sürecinizi tamamlamayı amaçladıklarından, genellikle oldukça yüksek kalitededir.

Güvenlik araştırmacıları için iyi çalışan bir kaç iyi olan, Punch Through's Light Blue Explorer ve Nordic Semiconductor'ın nRF Connect'idir .


fig7-punchthru.png

Şekil 7. Punch Through'un LightBlue Explorer'ı çalışırken. Yukarıdakilerden, olağandışı öğeleri bulmada yararlı olduğunu görebilirsiniz. Bu, bir iş gezisi sırasında uçuşun ortasında yakalandı.

fig8-nordic-semi.png

Şekil 8. Nordic Semiconductor'ın nRF Connect'i. İyi günlük kaydı özelliklerine sahip mükemmel bir uygulama.


Wireshark'ı kullanma

Donanımların çoğu ve hatta bazı yazılımlar, Wireshark eklentileriyle birlikte gelir ve hepsini derler ve kurar. Adlandırılacak ve planlanacak çok fazla şey olsa da akılda tutulması gereken bazı genel kurallar vardır.

Belgeleri okuyun, ancak tarihi not edin. Araçların çoğu, eklentiyi derlemek için Wireshark kaynak kodunun hangi sürümüne ihtiyacınız olduğuna ilişkin ayrıntılı talimatlara ve gereksinimlere sahiptir ve muhtemelen Wireshark'ın çok daha yeni bir sürümünü kullanıyorsunuzdur. Talimatlar eskiyse ve Wireshark'ın eski bir sürümüne atıfta bulunuyorsa, eklentinin Wireshark'ın daha yeni sürümüyle birlikte gelmesi mümkündür. Çoğu eklenti, Wireshark'ın daha yeni bir sürümüyle sorunsuz bir şekilde derlenir. Aslında çoğu, Linux sürümünüz için Wireshark geliştirme paketiyle derlenir, örneğin Ubuntu'daki wireshark-dev.

Eklentilerin amacı, Wireshark uygulamasının içindeki ham Bluetooth paketlerini biraz daha okunabilir bir şeye yorumlamaktır ve Bluetooth ile ilgili birden fazla protokol olduğundan, neler olup bittiğine dair bir anlam çıkarmaya yardımcı olur.

Bluetooth'u koklamanın genellikle birkaç farklı yolu vardır - doğrudan Wireshark içinde ve komut satırı araçlarından biriyle. Örneğin, Ubertooth, Bluetooth trafiğinin yakalanmasına ve verilerin Wireshark'ın okuyabileceği ve yorumlayabileceği (uygun eklentilerle) pcap formatında kaydedilmesine izin veren yukarıda bahsedilen ubertooth-btle'ı içerir. Ancak Bluetooth USB dongle'larınızı da takabilir ve Wireshark'ın içinden koklayabilirsiniz. Ve Wireshark içinde koklama sırasında birden fazla Bluetooth kaynağı kullanabilirsiniz.

Örneğin, dizüstü bilgisayarın yerleşik Bluetooth özelliklerini kullanarak koklama yapılabilir; tek bir CLI aracıyla eylem gerçekleştirmek için donanım kilidiyle bir USB bağlantı noktası kullanın; ve başka bir eylem gerçekleştirmek için ikinci bir dongle ile ikinci bir USB bağlantı noktası kullanın - aynı anda üçünü de koklayabilirsiniz. Kulağa aşırı derecede karmaşık geliyor, ama değil. Bir cihazı araştırmak için bir donanım kilidi kullanıyorsanız ve aynı anda onu doldurmaya çalışan başka bir dongle kullanıyorsanız, her ikisinin de sonuçlarını aynı sniffer oturumunda görebilirsiniz. Ayrıca, bir dongle veya CLI'nin diğerine karşı nasıl performans gösterdiği test edilirken yardımcı olur.


Peki Amaç Ne?

Bluetooth'un saldırı yüzeyini incelemeye yönelik kontrol listesi, uygulamanın hizmet reddi vb.

Bu aynı zamanda cihazın çeşitli aşamalarda ne yaptığını belgelemeyi de içerir. Örneğin, birden fazla cihaz onunla eşleşebilir mi? İlk kez güç uygulandıktan hemen sonra reklam vermeye mi başlıyor yoksa eşleştirmeye izin vermesi için bir işlem (düğmeye basma gibi) gerçekleştirmeniz mi gerekiyor? Belki de pil gücünden tasarruf etme çabasıyla, reklam verme ve reklam vermeme dönemleri arasında geçiş yapıyor mu? Ancak daha da önemlisi, özellikle cihazın durumu değiştikçe, parmak izi almak veya cihaz hakkındaki bilgileri belirlemek için ne kadar bilginin uzaktan okunabileceğini görmek. Ve bu ikinci alana giriyor.

Cihazın adı veya model numarası gibi şeyler işinize yarayabilir. Genellikle bir cihazın parmak izini alırken, Bluetooth yonga seti ve belki de bu yonga seti ile ilişkili üretici yazılımı sürümleri gibi diğer alanlarda IoT araştırmanıza yardımcı olacak bilgiler bulursunuz.

Donanım yazılımı sürümünü tam yapı sürümüne kadar uzaktan belirleyebilmek, özellikle çevrimiçi olarak ürün yazılımı sürümlerini bulabiliyorsanız, çok büyük bir zaman kazandırabilir. Belirli bir kusur içeren ancak yalnızca önceki bir sürümde mevcut olan bir yapı sürümünün farkındaysanız, bu kusuru test aşamanızdan kaldırarak zamandan tasarruf edebilirsiniz.

Kod:
thegnome@fang:~$ hcitool -i hci1 leinfo 00:07:80:CF:76:BC[/B][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER]
[COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER]Requesting information ...
   Handle: 75 (0x004b)
   LMP Version: 4.0 (0x6) LMP Subversion: 0x3
   Manufacturer: Bluegiga (71)
   Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
thegnome@fang:~$






Küçük bir Google aramasıyla, Bluegiga yonga setini ve 71'in derleme sürümünü belirlemek, 2013'teki tam üretici yazılımı sürümünü belirlemeye yardımcı oldu. Bir telefonda ücretsiz uygulamalarla uğraşmak bile ilginç bilgileri ortaya çıkarabilir:

fig9-model-1508440643.png

Şekil 9. Bir aygıtın model numarası dizisini ascii hex yerine düz İngilizce olarak tarama ve bulma.


Yukarıdaki örnekte, BLE112'nin model numarası dizisi, Bluegiga ile hcitool çıktısı ve derleme sürümüyle birleştiğinde, kesin üretici yazılımının doğrulanmasına yardımcı oldu. Kayıt için, gatttool komut satırı aracı kullanılarak, neredeyse temiz bir şekilde sunulmasa da, aynı bilgiler de belirlenebilir.

Kod:
root@plague:~# gatttool -i hci1 -I[/B][/COLOR][/CENTER][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER]
[COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][                 ][LE]> connect 00:07:80:cf:76:bc
Attempting to connect to 00:07:80:cf:76:bc
Connection successful
[00:07:80:cf:76:bc][LE]> characteristics
handle: 0x0002, char properties: 0x0a, char value handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb
handle: 0x0004, char properties: 0x02, char value handle: 0x0005, uuid: 00002a01-0000-1000-8000-00805f9b34fb
handle: 0x0007, char properties: 0x02, char value handle: 0x0008, uuid: 00002a29-0000-1000-8000-00805f9b34fb
handle: 0x0009, char properties: 0x02, char value handle: 0x000a, uuid: 00002a24-0000-1000-8000-00805f9b34fb
handle: 0x000b, char properties: 0x02, char value handle: 0x000c, uuid: 00002a25-0000-1000-8000-00805f9b34fb
handle: 0x000e, char properties: 0x28, char value handle: 0x000f, uuid: 80c7b47e-0d04-44d9-9fa7-245e83c4fc66
handle: 0x0012, char properties: 0x2a, char value handle: 0x0013, uuid: 00002a26-0000-1000-8000-00805f9b34fb
[00:07:80:cf:76:bc][LE]> char-read-uuid 00002a24-0000-1000-8000-00805f
handle: 0x000a value: 42 4c 45 31 31 32
[00:07:80:cf:76:bc][LE]> char-read-hnd 0a
Characteristic value/descriptor: 42 4c 45 31 31 32
[00:07:80:cf:76:bc][LE]>







Yukarıdaki adımlar aşağıdaki gibiydi:

    • Gatttool'un “etkileşimli” moduna ( gatttool -i hci1 -I) geçin.​
    • hcitool lescan'dan ( ) elde edilen MAC adresini kullanarak Bluetooth aracılığıyla cihaza bağlanın connect 00:07:80:cf:76:bc.​
    • Değerleriyle ( characteristics) ortak tanıtıcıların bir listesini edinin.​
    • Bu durumda, Bluetooth yonga setinin model numarasını (bu satır: ) içeren 0x2a24 GATT özelliği ile ilgileniyoruz handle: 0x0009, char properties: 0x02, char value handle: 0x000a, uuid: 00002a24-0000-1000-8000-00805f9b34fb.​
    • 00002a24 ile başlayan uuid değeri, aradığımız değerdir ve tam uuid ( ) veya char değeri tanıtıcısını (char-read-hnd 0a) kullanarak , char-read-uuid 00002a24-0000-1000-8000-00805fmodel numarasına ( ) sahip dizeyi elde edebiliriz. 42 4c 45 31 31 32onaltılı "BLE112" dir ve belirli bir Bluegiga ürününü ifade eder).​
Karakter özellikleri değerleri ilginçtir - örneğin, 02 salt okunur ( char properties: 0x02) ve 0a yazılabilir. Ancak görebileceğiniz gibi, biraz araştırma ve araştırmadan sonra, aygıt yazılımı, yonga seti özellikleri vb. bulmamıza yardımcı olacak bir ton bilgi elde ettik.

Kaynak Koduyla İlişkilendirme

Değerlerin harici olarak yazılmasına izin veren tüm arabirimleri bulmak, saldırı yüzeyini incelemenin önemli bir parçasıdır ve tüm UUID değerlerine sahip olmak, derlenmiş kod aracılığıyla grep yapmak söz konusu olduğunda harikadır. Bu, IoT cihazına girilen değerleri potansiyel olarak haritalamanıza ve bu değerlerin, örneğin telefondaki eşlik eden uygulama tarafından nasıl işlendiğini görmenize olanak tanır.

IoT cihazı için üretici yazılımı edinmeyi başardıysanız ve onu kaynak koda dönüştürdüyseniz, rastgele verilerle hangi arabirimleri araştırabileceğiniz veya en azından hangilerinin en umut verici görünebileceği hakkında bir fikriniz olur.


Tam Olarak Mükemmel Değil

Bluetooth kusurlu olabilir ve birkaç kez test yapılmasına yardımcı olur. Örneğin, birkaç dakika arayla çalıştırılan bir cihaza karşı sonuçlara bakın:

Kod:
thegnome@claw:~$ hcitool -i hci1 leinfo 44:fe:d3:98:29:7e Requesting information ...[/B][/COLOR][/CENTER][/B][/COLOR][/CENTER]
[COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER]    Handle: 3585 (0x0e01)
    Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

thegnome@claw:~$ hcitool -i hci1 leinfo 44:fe:d3:98:29:7e
Requesting information ...
    Handle: 3585 (0x0e01)
    LMP Version: 4.1 (0x7) LMP Subversion: 0x64
    Manufacturer: Nordic Semiconductor ASA (89)
    Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00






İlki tam bir cevap alamadı, ikincisi aldı. Bu nedenle, bir testin birden fazla geçişini öneriyoruz.



Bluetooth cihazlarıyla uğraşmak söz konusu olduğunda bu bilgilerin biraz daha yön sağlayabileceğini umuyoruz. Özellikle bir IoT cihazına girdi sağlamanın birden fazla yolu ile uğraşırken ve saldırıları formüle ederken bunları katmanlamaya çalışırken, bazı alanlar karmaşık görünebilir. Ancak farklı antenlere sahip çeşitli cihazlar kullanarak ve sebepsiz yere başarısız olduklarında testleri tekrarlayarak, araştırma süresi kısaltılabilir ve gerçek kusurlar biraz daha hızlı bulunabilir.

Linux çalıştıran bir System76, daha büyük dipol antenli bir Sena UD100, Nordic Semiconductor nRF51-DK (veya yeni nRF52-DK), çeşitli Linux araçları ve nRF Connect for Desktop'ın Linux sürümü, çoğu alanı kapsamak için sağlamdır ve laboratuvar çalışması. Telefondaki iOS veya Android için nRF Connect gibi bazı uygulamalarla birleştiğinde, sahadayken o dizüstü bilgisayarı çıkarmanın değip değmeyeceğini hızlı bir şekilde kontrol edebilirsiniz - artı başka bir bilgi kaynağınız var. Ancak, daha fazla anten seçeneği veya Ubertooth gibi ek bir şey kullanabiliyorsanız, onu kullanın.

Bluetooth araştırması ağaç işleme gibidir - tüm projeyi yalnızca bir çekiç ve çivi, bir keski, zımpara kağıdı ve bir el testeresi ile yapabilirsiniz, ancak dekupaj testeresi veya elektrikli zımpara makinesi gibi bir dizi başka araca sahip olmak kesinlikle daha iyi sonuçların daha hızlı alınmasına yardımcı olacaktır.



SERuL7.gif














Eline koluna sağlık konu çok hoşuma gitti.
 

gostking

Katılımcı Üye
29 Nis 2020
358
685
Vatan
1_FrFLMlKBKKrw8_OsQbdUfg.gif


En iyi Bluetooth tarayıcının ne olduğunu merak ediyor musunuz?
Ya da en sık kullanılan Bluetooth yazılımı nedir?
Biz de bunu merak ettik.

SERuL7.gif



Birkaçını inceledik, özellikleri ve yetenekleri karşılaştırdık ve en iyisi
Nordic Semiconductor nRF-51DK gibi görünse de, farklı durumlar için iyi sonuçlar veren bir dizi seçim olduğunu keşfettik. Sağlam bir strateji, eldeki durum için en iyisine odaklanırken birden fazla seçeneğe sahip olmaktır.
Bluetooth araştırma ve koklama ile IoT araştırmasına yaklaşma fikri iki yönlüdür. Birincisi, Bluetooth'un saldırı yüzeyinin güvenli olduğundan emin olmak için basitçe kontrol etmektir. İkincisi, saldırı vektörlerinin haritasını çıkarmaya yardımcı olabilecek girdi noktaları bulmak veya bir kişinin veya pahalı yeni IoT cihazının (veya her ikisinin birden) kolayca izlenmesine izin verebilecek cihaz bilgilerinin nasıl sızdırıldığını belirlemek gibi bir IoT araştırmasının diğer alanlarına yardımcı olmaktır. ).
Tutarsız bir test aracına veya diğer tüm araçlardan yalnızca bir şeyi daha iyi yapan ve en iyi ihtimalle vasat ek görevleri yerine getiren bir test aracına sahip olmaktan daha sinir bozucu bir şey yoktur. Tarama ve araştırma yaparken tutarlılık bulmak zordur ve bu kısmen Bluetooth'un doğasından kaynaklanmaktadır - verileri Wi-Fi'den çok daha zayıf bir sinyalde ileten, birbiri üzerine yığılmış, frekans atlamalı bir protokoller kümesidir. 🫣

Sonuç olarak, belirli ortamlardaki bazı donanım araçları iyi veya tutarlı bir şekilde performans göstermez. Bazı donanım araçları, yalnızca belirli ortamlarda başarılı olmak için özel olarak uyarlanmıştır. Ve bazıları, sahip olduğunuz her aletin de yapmasını dilediğiniz o tek şeyi teslim etmek gibi tuhaf şeyler yapar.😉
SERuL7.gif


Bu nedenle, birkaç farklı alanı göz önünde bulundurarak araçlara baktık:
Lab work
, including sniffing and probing
Field work, with both the ability to quickly find close-range targets as well as longer range targets using more sophisticated hardware with larger antennas
Programmability, for the serious hacker doing serious experimentation.

Platformlara ve üzerlerinde çalışan araçlara biraz değineceğiz ve hangi araçların hangi platformda en iyi çalıştığından bahsedeceğiz. Platform seçim listesi kapsamlı olmayacak, ancak harekete geçmenizi ve düşünmenizi sağlayacak kadar kapsamlı olmalıdır. Normalde, bu araçları incelemeye yönelik genel stratejimizi bir tür kılavuzla belirlerdik, ancak bu durumda, güçlü ve zayıf yönleri işaret etmeye devam edeceğiz - güçlü yönlere bir araştırmacının sahip olması gereken iyi bir araç açısından vurgu yaparak.

SERuL7.gif



Dizüstü bilgisayarlar

Bilgisayardaki uygulamalara geçmeden önce, bilgisayarın kendisinden bahsetmemiz gerekiyor - kullanıcıların bir masaüstü sistem yerine bir dizüstü bilgisayar seçeceğini varsayacağız. Bluetooth, doğası gereği hareketliliği ifade eder ve onu bir mobil platform aracılığıyla takip etmek en mantıklı olanıdır. IoT ile ilgili Bluetooth ve Wi-Fi sorunları söz konusu olduğunda, "saha çalışması" fikri mantıklıdır, dolayısıyla platformunuz da aynısını yapmalıdır.

İstediğiniz herhangi bir işletim sistemini (OS) kullanabilirsiniz - hepsi bir dereceye kadar sınırlamalar içerecektir.

AAA.png


Yalnızca yazılımda, özellikle komut satırı türünde bir bilgisayar korsanıysanız, ancak sürücü desteği bir sorunsa, Linux çok önde gelir. Bu, Windows önceden yüklenmiş olarak HP veya Dell dizüstü bilgisayar satın aldığınız ve ardından Linux'u yüklemek için sildiğiniz fenomendir - yalnızca donanımla etkileşim için Linux sürücülerinin biraz genel olduğunu bulmak için.

Windows sürücüleri, donanımlarıyla mükemmel şekilde çalıştıklarından emin olmak için genellikle dizüstü bilgisayar satıcısı tarafından yazılır. Dizüstü bilgisayarınızı, donanımlarını yalnızca Linux ve Linux ile gönderen ve donanımları için kendi özel sürücülerini yazan bir şirketten satın alırsanız, bunu Linux için bulabilirsiniz.

Birlikte gönderdikleri tek işletim sistemi olan Ubuntu için kendi sürücülerini geliştirip sürdürdükleri için System 76'nın harika bir seçim olmasının nedeni budur . Sonuç olarak, hem Bluetooth hem de Wi-Fi ile etkileşimleri çok yüksek kalitede ve şüpheli kablosuz araçlar çok daha kararlı ve kullanışlı hale geliyor.

fig1-system76.png



Şekil 1. System76 Galago Pro. Donanımlarıyla konuşmak için özelleştirilmiş sürücülerle hafif.

Tamamen kişisel bir tercih olsa da, Ubuntu'yu satıcı destekli donanım üzerinde çalıştırmanın sağlam bir yol olduğunu düşünüyoruz ve üç işletim sistemini de bir araştırma kapasitesinde kullanma deneyiminden yola çıkarak, bu gerçekten tutarlı sonuçlar veriyor gibi görünüyor - özellikle de Bluetooth.

Bizi yanlış anlamayın, diğer dizüstü bilgisayarlarda, diğer avantajlardan daha ağır basabilecek belirli bir klavye gibi, olmadan yaşayamayacağınız özellikler olabilir, ancak doğrudan Bluetooth ve genel olarak kablosuz protokollerle konuşursanız, bir adım önde olabilirsiniz. Linux düşünülerek tasarlanmış bir sistemde Linux ile.

Kali Linux hakkında birkaç söz: Eğer ihtiyacınız çok yönlü bir araştırma/sızma testi sistemiyse, bu iyi bir seçimdir, ancak Kali için uygulama seçiminin daha çok penetrasyona yönelik olduğunu unutmayın. Örneğin, Kali'deki Bluetooth yardımcı programlarının çoğu saldırmak içindir ve genellikle tek bir açık (veya istismar sınıfı) için yazılır ve bu istismarların çoğu modern sistemlerde yamalanmıştır.

SERuL7.gif

Bluetooth Donanım Aygıtları

Bluetooth söz konusu olduğunda tonlarca iyi eklenti donanım seçeneği var. Eklenti donanım seçenekleri derken, genellikle dizüstü bilgisayarınızdaki yerleşik Bluetooth'un sahip olmadığı özellikler ve yetenekler sağlayan USB aygıtlarından bahsediyoruz. Daha önce de belirtildiği gibi, birini diğerine tercih etmiyoruz; birden fazla özel cihaz kullanmanızı öneririz. Birden fazla öneriyormuşuz gibi geliyorsa, bunun nedeni büyük olasılıkla gideceğiniz yönün bu olmasıdır.

Akılda tutulması gereken en önemli şey, cihazın modern Bluetooth'u desteklemesi gerektiğidir - bu nedenle,
"Klasik Bluetooth ve Bluetooth Düşük Enerji" veya sürüm 4.0 veya üstü gibi bir şey görürseniz, iyi olmalısınız. Her iki "tat" da Bluetooth spesifikasyonunun 4.0 sürümüyle birleştirildi, bu nedenle tamamen 4.0 veya üstüyse her ikisini de desteklemesi gerekir. Bu yazı itibariyle, Bluetooth'u destekleyen çoğu IoT aynı zamanda 4.0 veya sonraki sürümleri de desteklemektedir.

Bazı IoT cihazları, "Bluetooth Düşük Enerji" için LE, BLE, BTLE veya adın başka bir varyasyonunu kullanmaya atıfta bulunacaktır - ancak yine, USB eklenti cihazınız 4.0 veya üstünü destekliyorsa, iyi olmalısınız.

Herhangi bir cihaz Bluetooth 5.x'i desteklediğini iddia ediyorsa harika - 5'in bazı nüanslarını kapatmak için ekstra özen gösterildiğinden emin olun. Sürüm 5 daha yüksek hız, farklı pil kullanımı vb. bellenimden 5'i gerçekten destekliyor ve daha az güç kullanırken daha yüksek performans gibi bir şeyden tam olarak yararlanamayan ince ayarlı 4.x donanımı değil.



SERuL7.gif

Küçük Donanım Kilidi

Basit dongle'lar söz konusu olduğunda tonlarca seçenek var. SMK-Link Nano gibi daha eski olanlar bile muhtemelen iyidir. Ana dezavantaj, macOS'ta yeterli desteğin olmaması ve garip Windows desteğidir. Windows 8'den başlayarak, Bluetooth sürücülerinde değişiklikler yapıldı, bu nedenle bazı dongle'lar yalnızca Windows 7'de düzgün çalışırken diğerleri yalnızca Windows 8 ve daha yenisini destekler. Seçiminiz Linux ise, çoğu Bluez gibi normal Bluetooth sürücüleri ile çalışacak ve tarama gibi görevleri kolaylıkla gerçekleştirecektir.



fig2-smklink.jpg

Şekil 2. SMK-Link Nano. Bilgisayar çantanızın altını kontrol edin, nasıl edindiğinizi bilmeden bir bilgisayar sahibi olabilirsiniz.


Bu sınıftaki dongle'lar, aynı dongle ile problama yapmak için bir araç kullanırken dongle'dan dinleme için Wireshark kullanmıyorsanız, dinleme için harika bir seçim değildir. Bu dongle'larla temel rastgele dinleme yetenekleri genellikle yoktur. Güçlü yanları, yakın çevredeki Bluetooth cihazları için temel taramalar sırasında biraz daha iyi performans sunabilmeleridir; bunun ötesinde herhangi bir şey için, istikrarlı ve tutarlı sonuçlar alırsanız şanslısınız. Dizüstü bilgisayarda yerleşik olan Bluetooth donanımından daha iyi bir performans elde edemiyorsanız, onu atlayabilirsiniz.

Daha Büyük Cihazlar

Daha kararlı bir cihaz, harika bir USB cihazı olan Sena UD-100'dür .
fig3-sena.jpg

Şekil 3. Kısa antenli Sena UD100.

Küçük bir antenle birlikte gelirken, dipol ve yama anten gibi bazı aksesuarların seçilmesi cihazın menzilini büyük ölçüde genişletebilir - örneğin, yama anten menzili bir kilometreye kadar artırabilir. Yine, Windows'ta beklenen sürücülere dikkat edin ve Linux'ta sorun olmamalıdır.

fig4-dipole-antenna.jpg

Şekil 4. UD100'deki bu çift kutuplu anten, ona yaklaşık yarım kilometrelik bir menzil (görüş hattı) verir.

Bu kurulumun büyük artıları, daha büyük antenin bile (çıkarıldığında) bir çantaya düzgün bir şekilde sığması ve menzili önemli ölçüde artırmasıdır. Sena UD100, yerleşik donanımdan çok daha iyi çalışan sağlam bir USB Bluetooth cihazıdır. Hem tarama hem de araştırma için bu bir rock yıldızı. Ancak, en büyük eksi, neredeyse hiç gizli olmamasıdır. Bir kafede, ne olduğunu öğrenmek isteyen meraklı "normaller" tarafından yaklaşılma olasılığını bekleyin (iyi bir şaşırtma yanıtı, "kablosuz bağlantı kesildi, ben onu dükkana götürene kadar geçici olarak onarmaktır").


SERuL7.gif


Ubertooth

Tüm sunumlar Ubertooth etrafında yapılmıştır ve güçlü yönleri olduğu kadar sınırlamaları da vardır. İşe yaradığında, düzgün çalışır ve başka türlü elde edilmesi oldukça zor olan verileri almanıza yardımcı olur. Ancak bu noktaya gelmek oldukça zordur. Yakalamaya çalıştığınız Bluetooth etkinliği ne olursa olsun düşen paketler ve çok sayıda yeniden başlatma bekleyin, çünkü Bluetooth açısından neler olup bittiğinin tam bir resmini elde etmek biraz sabır gerektirecektir - özellikle de koklamayı denerseniz.

Daha önce bahsettiğimiz gibi, Bluetooth belirli bir aralık veya spektrumdaki frekanslar arasında geçiş yaparak çalışır. Ubertooth, yazılım aracılığıyla spektrumdaki bu "kovalamaca" adım adım ilerliyor ve çeşitli çevresel faktörler ve mükemmel bir şekilde senkronize olmayan saatler nedeniyle, paketler düşebilir ve hatta Ubertooth'un tamamen kaçırdığı bir değiş tokuşun bir kısmı veya tamamı gerçekleşebilir.

Programlanabilir olması kesinlikle bir artıdır ve aygıt yazılımı dahil olmak üzere tüm yazılım yardımcı programları açık kaynaklıdır. Saha ortamında daha güçlü bir çift kutuplu anten bağlayabilir ve bundan daha iyi menzil elde edebilirsiniz, ancak açıkçası, Ubertooth kontrollü bir laboratuvar ortamında en iyi performansı gösterir.


İskandinav Yarı İletkeni

Nordic Semiconductor nRF51-DK cihazı, beklenenden daha iyi çalışan koklama yetenekleriyle oldukça iyi bir Bluetooth vericisi ve alıcısıdır. Ubertooth gibi, programlanabilir, ancak kullanıma hazır aygıt yazılımı, koklama da dahil olmak üzere çoğu hızlı bilgisayar korsanlığı işi için uygundur.

Menzil sınırlıdır, ancak kalite yüksektir. Nordic Semiconductor, IoT'de birçok çip ve donanım çözümü sağlıyor, bu nedenle geliştiricilerin yaratımlarını test etmelerine yardımcı olmak için ucuz donanımlar üretme eğilimindeler.

fig5-nordic.jpg

Şekil 5. Nordic Yarı İletken nRF51-DK. Bu şey hem ciddi geliştiriciler hem de bilgisayar korsanları için yapıldı.


Ubertooth, mesafe söz konusu olduğunda küçük bir avantaja sahip olsa da, bu laboratuvar için harika bir USB cihazıdır. Nordic Semiconductor'ın ürettiği çeşitli yonga setleri için IoT cihazları oluşturan ve IoT yazılımı yazan tasarımcı ve geliştiricilerin sayısı nedeniyle, bu cihaza yönelik topluluk desteği hızla artıyor. Bunun (ve bu yazının yazıldığı tarihteki daha yeni model olan nRF52-DK'nin) geniş açık platform sayesinde bilgisayar korsanlarının favori tercihi olmasını bekleyin.


Üst Düzey Donanım

Ciddi bir şekilde hardcore değilseniz ve çok büyük bir bütçeniz yoksa bunu önermiyoruz, ancak parayı harcamak istiyorsanız, mükemmel Bluetooth yakalamaları elde edebilirsiniz. Örneğin, Ellisys Bluetooth Explorer mükemmel, ancak 17.500 USD'ye satılıyor. İleri teknoloji cihazlar satan başka şirketler de var, ancak fikri anladınız - başlangıç noktası 17.500 dolar ve fiyatlar oradan yükseliyor.

fig6-ellisys.png

Şekil 6. Ellisys Bluetooth Explorer BEX400, aynı anda hem Bluetooth hem de Wi-Fi algılaması yapar.

Bu üst düzey araçların maliyeti neden bu kadar yüksek? Çünkü çok iyi çalışıyorlar. Bahsettiğimiz dongle'lar koklama için kullanılabilir, ancak temelde Bluetooth spektrumunda atlama sinyali verdiği için Bluetooth oturumunu takip ederler.

Üst düzey makineler, tüm Bluetooth spektrumunu bir kerede yakalayarak her şeyi yakalayarak farklı çalışır. Cihazı kontrol etmeye ve yakalanan verileri okumaya yardımcı olmak için özel yazılım kullanılır ve genellikle yalnızca Windows'ta çalışır. Bu cihazlar laboratuar çalışması için üretilmiştir, ancak daha güçlü antenler kolayca eklenebilir ve güç gereksinimlerini karşılayabildikleri sürece, bu da mükemmel bir saha cihazı olarak kabul edilebilir (hatta bazı üst düzey modeller bu şekilde pazarlanmaktadır - hem laboratuvar hem de saha için üretilmiştir).


SERuL7.gif


Yazılım araçları

Komut Satırı Hakkında Her Şey

Linux korsanı için her şey komut satırı arabirimiyle (CLI) ilgilidir. Bluetooth için çok sayıda CLI aracı vardır ve bunların çoğu yararlı bilgiler sağlar, ancak bunların tümü tutarlı bir şekilde çıktı sağlamaz.

Tek bir cihazı araştırırken ve kurcalarken bu genellikle bir sorun değildir, ancak aynı anda birkaç cihaza bakmaya çalışıyorsanız (bir kafedeyken çok sayıda cihazı taramak gibi), o zaman farklı çıktı biçimlerine düzen getirmek için çıktının bir miktar komut dosyası oluşturması ve ayrıştırılması gerekecektir.

İşte araştırmacılar tarafından yaygın olarak kullanılan bir dizi araç (başkaları da var, bu, Laboratuarlarda kullanılan daha popüler olanların bir örneğidir, ana sayfalarını kontrol edin veya tüm işlevler için -? veya --help seçenekleriyle çalıştırın) .

hcitool - Bu yardımcı program, diğer araçlarla bağlanırken komut satırı taraması ve her zaman önemli olan MAC adresini elde etmek için kullanılabilir.

gatttool - Bluez kitaplığına dahil olan bu, Genel Niteliklerin veya Bluetooth belirtiminde tanımlandığı şekliyle GATT özelliğinin belirli değerlerine odaklanmak için harika bir araçtır

ubertooth-btle - Ubertooth yazılımına dahildir; tüm Bluetooth araçları arasında bu, oldukça fazla kullanılacaktır. Bluetooth spektrumunda zıplarken ve kovalarken, bu yardımcı programı koklarken ara sıra tam bir Bluetooth trafiği yığını alırsınız. Bunun BTLE kısmının sizi aldatmasına izin vermeyin - tüm eşleştirme, düşük enerji aleminde Bluetooth 4.x'te gerçekleşir, bu nedenle, başka hiçbir şey olmasa bile, bu, eşleştirme sürecinin daha keskin bir izini sürmenin harika bir yoludur. Birden fazla denemeye ve biraz sabra hazırlıklı olun ve tamamlandığında, analiz etmek için pcap biçimli güzel bir çıktı dosyanız olacak.


Telefonlardaki Mobil Uygulamalar

Saha çalışması yaparken bazen dizüstü bilgisayarınızı çıkarıp dongle'larınızı kurmaya zahmet edip etmeyeceğinizi merak ediyorsunuz. Bazen trafiğe hızlı bir şekilde bakmak yardımcı olur ve yararlı bilgiler döndürmesi daha da iyidir - dizüstü bilgisayarı çıkardıktan sonra neye odaklanacağınız konusunda size zaman kazandırır.

Telefonunuz için bu konuda yardımcı olacak bir dizi ücretsiz uygulama var. Ücretsiz uygulamalardan bazılarının sonuçları karışıktır, ancak birini seçmek için temel bir kılavuz, bunları geliştirici tarafından seçmektir.

Telefonunuzdan test etmek için iyi ücretsiz Bluetooth uygulamaları yazan çeşitli uygulamalar veya IoT cihazları (veya her ikisi) oluşturmak için araçlar satan birkaç şirket var. Bunlar, satın alınan ürünleri kullanırken geliştirme sürecinizi tamamlamayı amaçladıklarından, genellikle oldukça yüksek kalitededir.

Güvenlik araştırmacıları için iyi çalışan bir kaç iyi olan, Punch Through's Light Blue Explorer ve Nordic Semiconductor'ın nRF Connect'idir .


fig7-punchthru.png

Şekil 7. Punch Through'un LightBlue Explorer'ı çalışırken. Yukarıdakilerden, olağandışı öğeleri bulmada yararlı olduğunu görebilirsiniz. Bu, bir iş gezisi sırasında uçuşun ortasında yakalandı.

fig8-nordic-semi.png

Şekil 8. Nordic Semiconductor'ın nRF Connect'i. İyi günlük kaydı özelliklerine sahip mükemmel bir uygulama.


Wireshark'ı kullanma

Donanımların çoğu ve hatta bazı yazılımlar, Wireshark eklentileriyle birlikte gelir ve hepsini derler ve kurar. Adlandırılacak ve planlanacak çok fazla şey olsa da akılda tutulması gereken bazı genel kurallar vardır.

Belgeleri okuyun, ancak tarihi not edin. Araçların çoğu, eklentiyi derlemek için Wireshark kaynak kodunun hangi sürümüne ihtiyacınız olduğuna ilişkin ayrıntılı talimatlara ve gereksinimlere sahiptir ve muhtemelen Wireshark'ın çok daha yeni bir sürümünü kullanıyorsunuzdur. Talimatlar eskiyse ve Wireshark'ın eski bir sürümüne atıfta bulunuyorsa, eklentinin Wireshark'ın daha yeni sürümüyle birlikte gelmesi mümkündür. Çoğu eklenti, Wireshark'ın daha yeni bir sürümüyle sorunsuz bir şekilde derlenir. Aslında çoğu, Linux sürümünüz için Wireshark geliştirme paketiyle derlenir, örneğin Ubuntu'daki wireshark-dev.

Eklentilerin amacı, Wireshark uygulamasının içindeki ham Bluetooth paketlerini biraz daha okunabilir bir şeye yorumlamaktır ve Bluetooth ile ilgili birden fazla protokol olduğundan, neler olup bittiğine dair bir anlam çıkarmaya yardımcı olur.

Bluetooth'u koklamanın genellikle birkaç farklı yolu vardır - doğrudan Wireshark içinde ve komut satırı araçlarından biriyle. Örneğin, Ubertooth, Bluetooth trafiğinin yakalanmasına ve verilerin Wireshark'ın okuyabileceği ve yorumlayabileceği (uygun eklentilerle) pcap formatında kaydedilmesine izin veren yukarıda bahsedilen ubertooth-btle'ı içerir. Ancak Bluetooth USB dongle'larınızı da takabilir ve Wireshark'ın içinden koklayabilirsiniz. Ve Wireshark içinde koklama sırasında birden fazla Bluetooth kaynağı kullanabilirsiniz.

Örneğin, dizüstü bilgisayarın yerleşik Bluetooth özelliklerini kullanarak koklama yapılabilir; tek bir CLI aracıyla eylem gerçekleştirmek için donanım kilidiyle bir USB bağlantı noktası kullanın; ve başka bir eylem gerçekleştirmek için ikinci bir dongle ile ikinci bir USB bağlantı noktası kullanın - aynı anda üçünü de koklayabilirsiniz. Kulağa aşırı derecede karmaşık geliyor, ama değil. Bir cihazı araştırmak için bir donanım kilidi kullanıyorsanız ve aynı anda onu doldurmaya çalışan başka bir dongle kullanıyorsanız, her ikisinin de sonuçlarını aynı sniffer oturumunda görebilirsiniz. Ayrıca, bir dongle veya CLI'nin diğerine karşı nasıl performans gösterdiği test edilirken yardımcı olur.


Peki Amaç Ne?

Bluetooth'un saldırı yüzeyini incelemeye yönelik kontrol listesi, uygulamanın hizmet reddi vb.

Bu aynı zamanda cihazın çeşitli aşamalarda ne yaptığını belgelemeyi de içerir. Örneğin, birden fazla cihaz onunla eşleşebilir mi? İlk kez güç uygulandıktan hemen sonra reklam vermeye mi başlıyor yoksa eşleştirmeye izin vermesi için bir işlem (düğmeye basma gibi) gerçekleştirmeniz mi gerekiyor? Belki de pil gücünden tasarruf etme çabasıyla, reklam verme ve reklam vermeme dönemleri arasında geçiş yapıyor mu? Ancak daha da önemlisi, özellikle cihazın durumu değiştikçe, parmak izi almak veya cihaz hakkındaki bilgileri belirlemek için ne kadar bilginin uzaktan okunabileceğini görmek. Ve bu ikinci alana giriyor.

Cihazın adı veya model numarası gibi şeyler işinize yarayabilir. Genellikle bir cihazın parmak izini alırken, Bluetooth yonga seti ve belki de bu yonga seti ile ilişkili üretici yazılımı sürümleri gibi diğer alanlarda IoT araştırmanıza yardımcı olacak bilgiler bulursunuz.

Donanım yazılımı sürümünü tam yapı sürümüne kadar uzaktan belirleyebilmek, özellikle çevrimiçi olarak ürün yazılımı sürümlerini bulabiliyorsanız, çok büyük bir zaman kazandırabilir. Belirli bir kusur içeren ancak yalnızca önceki bir sürümde mevcut olan bir yapı sürümünün farkındaysanız, bu kusuru test aşamanızdan kaldırarak zamandan tasarruf edebilirsiniz.

Kod:
thegnome@fang:~$ hcitool -i hci1 leinfo 00:07:80:CF:76:BC[/B][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER]
[COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER]Requesting information ...
   Handle: 75 (0x004b)
   LMP Version: 4.0 (0x6) LMP Subversion: 0x3
   Manufacturer: Bluegiga (71)
   Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
thegnome@fang:~$





Küçük bir Google aramasıyla, Bluegiga yonga setini ve 71'in derleme sürümünü belirlemek, 2013'teki tam üretici yazılımı sürümünü belirlemeye yardımcı oldu. Bir telefonda ücretsiz uygulamalarla uğraşmak bile ilginç bilgileri ortaya çıkarabilir:

fig9-model-1508440643.png

Şekil 9. Bir aygıtın model numarası dizisini ascii hex yerine düz İngilizce olarak tarama ve bulma.


Yukarıdaki örnekte, BLE112'nin model numarası dizisi, Bluegiga ile hcitool çıktısı ve derleme sürümüyle birleştiğinde, kesin üretici yazılımının doğrulanmasına yardımcı oldu. Kayıt için, gatttool komut satırı aracı kullanılarak, neredeyse temiz bir şekilde sunulmasa da, aynı bilgiler de belirlenebilir.

Kod:
root@plague:~# gatttool -i hci1 -I[/B][/COLOR][/CENTER][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER]
[COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][                 ][LE]> connect 00:07:80:cf:76:bc
Attempting to connect to 00:07:80:cf:76:bc
Connection successful
[00:07:80:cf:76:bc][LE]> characteristics
handle: 0x0002, char properties: 0x0a, char value handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb
handle: 0x0004, char properties: 0x02, char value handle: 0x0005, uuid: 00002a01-0000-1000-8000-00805f9b34fb
handle: 0x0007, char properties: 0x02, char value handle: 0x0008, uuid: 00002a29-0000-1000-8000-00805f9b34fb
handle: 0x0009, char properties: 0x02, char value handle: 0x000a, uuid: 00002a24-0000-1000-8000-00805f9b34fb
handle: 0x000b, char properties: 0x02, char value handle: 0x000c, uuid: 00002a25-0000-1000-8000-00805f9b34fb
handle: 0x000e, char properties: 0x28, char value handle: 0x000f, uuid: 80c7b47e-0d04-44d9-9fa7-245e83c4fc66
handle: 0x0012, char properties: 0x2a, char value handle: 0x0013, uuid: 00002a26-0000-1000-8000-00805f9b34fb
[00:07:80:cf:76:bc][LE]> char-read-uuid 00002a24-0000-1000-8000-00805f
handle: 0x000a value: 42 4c 45 31 31 32
[00:07:80:cf:76:bc][LE]> char-read-hnd 0a
Characteristic value/descriptor: 42 4c 45 31 31 32
[00:07:80:cf:76:bc][LE]>






Yukarıdaki adımlar aşağıdaki gibiydi:

    • Gatttool'un “etkileşimli” moduna ( gatttool -i hci1 -I) geçin.​
    • hcitool lescan'dan ( ) elde edilen MAC adresini kullanarak Bluetooth aracılığıyla cihaza bağlanın connect 00:07:80:cf:76:bc.​
    • Değerleriyle ( characteristics) ortak tanıtıcıların bir listesini edinin.​
    • Bu durumda, Bluetooth yonga setinin model numarasını (bu satır: ) içeren 0x2a24 GATT özelliği ile ilgileniyoruz handle: 0x0009, char properties: 0x02, char value handle: 0x000a, uuid: 00002a24-0000-1000-8000-00805f9b34fb.​
    • 00002a24 ile başlayan uuid değeri, aradığımız değerdir ve tam uuid ( ) veya char değeri tanıtıcısını (char-read-hnd 0a) kullanarak , char-read-uuid 00002a24-0000-1000-8000-00805fmodel numarasına ( ) sahip dizeyi elde edebiliriz. 42 4c 45 31 31 32onaltılı "BLE112" dir ve belirli bir Bluegiga ürününü ifade eder).​
Karakter özellikleri değerleri ilginçtir - örneğin, 02 salt okunur ( char properties: 0x02) ve 0a yazılabilir. Ancak görebileceğiniz gibi, biraz araştırma ve araştırmadan sonra, aygıt yazılımı, yonga seti özellikleri vb. bulmamıza yardımcı olacak bir ton bilgi elde ettik.

Kaynak Koduyla İlişkilendirme

Değerlerin harici olarak yazılmasına izin veren tüm arabirimleri bulmak, saldırı yüzeyini incelemenin önemli bir parçasıdır ve tüm UUID değerlerine sahip olmak, derlenmiş kod aracılığıyla grep yapmak söz konusu olduğunda harikadır. Bu, IoT cihazına girilen değerleri potansiyel olarak haritalamanıza ve bu değerlerin, örneğin telefondaki eşlik eden uygulama tarafından nasıl işlendiğini görmenize olanak tanır.

IoT cihazı için üretici yazılımı edinmeyi başardıysanız ve onu kaynak koda dönüştürdüyseniz, rastgele verilerle hangi arabirimleri araştırabileceğiniz veya en azından hangilerinin en umut verici görünebileceği hakkında bir fikriniz olur.


Tam Olarak Mükemmel Değil

Bluetooth kusurlu olabilir ve birkaç kez test yapılmasına yardımcı olur. Örneğin, birkaç dakika arayla çalıştırılan bir cihaza karşı sonuçlara bakın:

Kod:
thegnome@claw:~$ hcitool -i hci1 leinfo 44:fe:d3:98:29:7e Requesting information ...[/B][/COLOR][/CENTER]
[COLOR=rgb(255, 255, 255)][B][CENTER]    Handle: 3585 (0x0e01)
    Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

thegnome@claw:~$ hcitool -i hci1 leinfo 44:fe:d3:98:29:7e
Requesting information ...
    Handle: 3585 (0x0e01)
    LMP Version: 4.1 (0x7) LMP Subversion: 0x64
    Manufacturer: Nordic Semiconductor ASA (89)
    Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00





İlki tam bir cevap alamadı, ikincisi aldı. Bu nedenle, bir testin birden fazla geçişini öneriyoruz.



Bluetooth cihazlarıyla uğraşmak söz konusu olduğunda bu bilgilerin biraz daha yön sağlayabileceğini umuyoruz. Özellikle bir IoT cihazına girdi sağlamanın birden fazla yolu ile uğraşırken ve saldırıları formüle ederken bunları katmanlamaya çalışırken, bazı alanlar karmaşık görünebilir. Ancak farklı antenlere sahip çeşitli cihazlar kullanarak ve sebepsiz yere başarısız olduklarında testleri tekrarlayarak, araştırma süresi kısaltılabilir ve gerçek kusurlar biraz daha hızlı bulunabilir.

Linux çalıştıran bir System76, daha büyük dipol antenli bir Sena UD100, Nordic Semiconductor nRF51-DK (veya yeni nRF52-DK), çeşitli Linux araçları ve nRF Connect for Desktop'ın Linux sürümü, çoğu alanı kapsamak için sağlamdır ve laboratuvar çalışması. Telefondaki iOS veya Android için nRF Connect gibi bazı uygulamalarla birleştiğinde, sahadayken o dizüstü bilgisayarı çıkarmanın değip değmeyeceğini hızlı bir şekilde kontrol edebilirsiniz - artı başka bir bilgi kaynağınız var. Ancak, daha fazla anten seçeneği veya Ubertooth gibi ek bir şey kullanabiliyorsanız, onu kullanın.

Bluetooth araştırması ağaç işleme gibidir - tüm projeyi yalnızca bir çekiç ve çivi, bir keski, zımpara kağıdı ve bir el testeresi ile yapabilirsiniz, ancak dekupaj testeresi veya elektrikli zımpara makinesi gibi bir dizi başka araca sahip olmak kesinlikle daha iyi sonuçların daha hızlı alınmasına yardımcı olacaktır.



SERuL7.gif














Detaylı ve güzel bi anlatım olmuş eline emeğine sağlık
 

Nemesa

Katılımcı Üye
15 Şub 2023
285
131
System32.exe/nemesaxploit
1_FrFLMlKBKKrw8_OsQbdUfg.gif


En iyi Bluetooth tarayıcının ne olduğunu merak ediyor musunuz?
Ya da en sık kullanılan Bluetooth yazılımı nedir?
Biz de bunu merak ettik.

SERuL7.gif



Birkaçını inceledik, özellikleri ve yetenekleri karşılaştırdık ve en iyisi
Nordic Semiconductor nRF-51DK gibi görünse de, farklı durumlar için iyi sonuçlar veren bir dizi seçim olduğunu keşfettik. Sağlam bir strateji, eldeki durum için en iyisine odaklanırken birden fazla seçeneğe sahip olmaktır.
Bluetooth araştırma ve koklama ile IoT araştırmasına yaklaşma fikri iki yönlüdür. Birincisi, Bluetooth'un saldırı yüzeyinin güvenli olduğundan emin olmak için basitçe kontrol etmektir. İkincisi, saldırı vektörlerinin haritasını çıkarmaya yardımcı olabilecek girdi noktaları bulmak veya bir kişinin veya pahalı yeni IoT cihazının (veya her ikisinin birden) kolayca izlenmesine izin verebilecek cihaz bilgilerinin nasıl sızdırıldığını belirlemek gibi bir IoT araştırmasının diğer alanlarına yardımcı olmaktır. ).
Tutarsız bir test aracına veya diğer tüm araçlardan yalnızca bir şeyi daha iyi yapan ve en iyi ihtimalle vasat ek görevleri yerine getiren bir test aracına sahip olmaktan daha sinir bozucu bir şey yoktur. Tarama ve araştırma yaparken tutarlılık bulmak zordur ve bu kısmen Bluetooth'un doğasından kaynaklanmaktadır - verileri Wi-Fi'den çok daha zayıf bir sinyalde ileten, birbiri üzerine yığılmış, frekans atlamalı bir protokoller kümesidir. 🫣

Sonuç olarak, belirli ortamlardaki bazı donanım araçları iyi veya tutarlı bir şekilde performans göstermez. Bazı donanım araçları, yalnızca belirli ortamlarda başarılı olmak için özel olarak uyarlanmıştır. Ve bazıları, sahip olduğunuz her aletin de yapmasını dilediğiniz o tek şeyi teslim etmek gibi tuhaf şeyler yapar.😉
SERuL7.gif


Bu nedenle, birkaç farklı alanı göz önünde bulundurarak araçlara baktık:
Lab work
, including sniffing and probing
Field work, with both the ability to quickly find close-range targets as well as longer range targets using more sophisticated hardware with larger antennas
Programmability, for the serious hacker doing serious experimentation.

Platformlara ve üzerlerinde çalışan araçlara biraz değineceğiz ve hangi araçların hangi platformda en iyi çalıştığından bahsedeceğiz. Platform seçim listesi kapsamlı olmayacak, ancak harekete geçmenizi ve düşünmenizi sağlayacak kadar kapsamlı olmalıdır. Normalde, bu araçları incelemeye yönelik genel stratejimizi bir tür kılavuzla belirlerdik, ancak bu durumda, güçlü ve zayıf yönleri işaret etmeye devam edeceğiz - güçlü yönlere bir araştırmacının sahip olması gereken iyi bir araç açısından vurgu yaparak.

SERuL7.gif



Dizüstü bilgisayarlar

Bilgisayardaki uygulamalara geçmeden önce, bilgisayarın kendisinden bahsetmemiz gerekiyor - kullanıcıların bir masaüstü sistem yerine bir dizüstü bilgisayar seçeceğini varsayacağız. Bluetooth, doğası gereği hareketliliği ifade eder ve onu bir mobil platform aracılığıyla takip etmek en mantıklı olanıdır. IoT ile ilgili Bluetooth ve Wi-Fi sorunları söz konusu olduğunda, "saha çalışması" fikri mantıklıdır, dolayısıyla platformunuz da aynısını yapmalıdır.

İstediğiniz herhangi bir işletim sistemini (OS) kullanabilirsiniz - hepsi bir dereceye kadar sınırlamalar içerecektir.

AAA.png


Yalnızca yazılımda, özellikle komut satırı türünde bir bilgisayar korsanıysanız, ancak sürücü desteği bir sorunsa, Linux çok önde gelir. Bu, Windows önceden yüklenmiş olarak HP veya Dell dizüstü bilgisayar satın aldığınız ve ardından Linux'u yüklemek için sildiğiniz fenomendir - yalnızca donanımla etkileşim için Linux sürücülerinin biraz genel olduğunu bulmak için.

Windows sürücüleri, donanımlarıyla mükemmel şekilde çalıştıklarından emin olmak için genellikle dizüstü bilgisayar satıcısı tarafından yazılır. Dizüstü bilgisayarınızı, donanımlarını yalnızca Linux ve Linux ile gönderen ve donanımları için kendi özel sürücülerini yazan bir şirketten satın alırsanız, bunu Linux için bulabilirsiniz.

Birlikte gönderdikleri tek işletim sistemi olan Ubuntu için kendi sürücülerini geliştirip sürdürdükleri için System 76'nın harika bir seçim olmasının nedeni budur . Sonuç olarak, hem Bluetooth hem de Wi-Fi ile etkileşimleri çok yüksek kalitede ve şüpheli kablosuz araçlar çok daha kararlı ve kullanışlı hale geliyor.

fig1-system76.png



Şekil 1. System76 Galago Pro. Donanımlarıyla konuşmak için özelleştirilmiş sürücülerle hafif.

Tamamen kişisel bir tercih olsa da, Ubuntu'yu satıcı destekli donanım üzerinde çalıştırmanın sağlam bir yol olduğunu düşünüyoruz ve üç işletim sistemini de bir araştırma kapasitesinde kullanma deneyiminden yola çıkarak, bu gerçekten tutarlı sonuçlar veriyor gibi görünüyor - özellikle de Bluetooth.

Bizi yanlış anlamayın, diğer dizüstü bilgisayarlarda, diğer avantajlardan daha ağır basabilecek belirli bir klavye gibi, olmadan yaşayamayacağınız özellikler olabilir, ancak doğrudan Bluetooth ve genel olarak kablosuz protokollerle konuşursanız, bir adım önde olabilirsiniz. Linux düşünülerek tasarlanmış bir sistemde Linux ile.

Kali Linux hakkında birkaç söz: Eğer ihtiyacınız çok yönlü bir araştırma/sızma testi sistemiyse, bu iyi bir seçimdir, ancak Kali için uygulama seçiminin daha çok penetrasyona yönelik olduğunu unutmayın. Örneğin, Kali'deki Bluetooth yardımcı programlarının çoğu saldırmak içindir ve genellikle tek bir açık (veya istismar sınıfı) için yazılır ve bu istismarların çoğu modern sistemlerde yamalanmıştır.

SERuL7.gif

Bluetooth Donanım Aygıtları

Bluetooth söz konusu olduğunda tonlarca iyi eklenti donanım seçeneği var. Eklenti donanım seçenekleri derken, genellikle dizüstü bilgisayarınızdaki yerleşik Bluetooth'un sahip olmadığı özellikler ve yetenekler sağlayan USB aygıtlarından bahsediyoruz. Daha önce de belirtildiği gibi, birini diğerine tercih etmiyoruz; birden fazla özel cihaz kullanmanızı öneririz. Birden fazla öneriyormuşuz gibi geliyorsa, bunun nedeni büyük olasılıkla gideceğiniz yönün bu olmasıdır.

Akılda tutulması gereken en önemli şey, cihazın modern Bluetooth'u desteklemesi gerektiğidir - bu nedenle,
"Klasik Bluetooth ve Bluetooth Düşük Enerji" veya sürüm 4.0 veya üstü gibi bir şey görürseniz, iyi olmalısınız. Her iki "tat" da Bluetooth spesifikasyonunun 4.0 sürümüyle birleştirildi, bu nedenle tamamen 4.0 veya üstüyse her ikisini de desteklemesi gerekir. Bu yazı itibariyle, Bluetooth'u destekleyen çoğu IoT aynı zamanda 4.0 veya sonraki sürümleri de desteklemektedir.

Bazı IoT cihazları, "Bluetooth Düşük Enerji" için LE, BLE, BTLE veya adın başka bir varyasyonunu kullanmaya atıfta bulunacaktır - ancak yine, USB eklenti cihazınız 4.0 veya üstünü destekliyorsa, iyi olmalısınız.

Herhangi bir cihaz Bluetooth 5.x'i desteklediğini iddia ediyorsa harika - 5'in bazı nüanslarını kapatmak için ekstra özen gösterildiğinden emin olun. Sürüm 5 daha yüksek hız, farklı pil kullanımı vb. bellenimden 5'i gerçekten destekliyor ve daha az güç kullanırken daha yüksek performans gibi bir şeyden tam olarak yararlanamayan ince ayarlı 4.x donanımı değil.



SERuL7.gif

Küçük Donanım Kilidi

Basit dongle'lar söz konusu olduğunda tonlarca seçenek var. SMK-Link Nano gibi daha eski olanlar bile muhtemelen iyidir. Ana dezavantaj, macOS'ta yeterli desteğin olmaması ve garip Windows desteğidir. Windows 8'den başlayarak, Bluetooth sürücülerinde değişiklikler yapıldı, bu nedenle bazı dongle'lar yalnızca Windows 7'de düzgün çalışırken diğerleri yalnızca Windows 8 ve daha yenisini destekler. Seçiminiz Linux ise, çoğu Bluez gibi normal Bluetooth sürücüleri ile çalışacak ve tarama gibi görevleri kolaylıkla gerçekleştirecektir.



fig2-smklink.jpg

Şekil 2. SMK-Link Nano. Bilgisayar çantanızın altını kontrol edin, nasıl edindiğinizi bilmeden bir bilgisayar sahibi olabilirsiniz.


Bu sınıftaki dongle'lar, aynı dongle ile problama yapmak için bir araç kullanırken dongle'dan dinleme için Wireshark kullanmıyorsanız, dinleme için harika bir seçim değildir. Bu dongle'larla temel rastgele dinleme yetenekleri genellikle yoktur. Güçlü yanları, yakın çevredeki Bluetooth cihazları için temel taramalar sırasında biraz daha iyi performans sunabilmeleridir; bunun ötesinde herhangi bir şey için, istikrarlı ve tutarlı sonuçlar alırsanız şanslısınız. Dizüstü bilgisayarda yerleşik olan Bluetooth donanımından daha iyi bir performans elde edemiyorsanız, onu atlayabilirsiniz.

Daha Büyük Cihazlar

Daha kararlı bir cihaz, harika bir USB cihazı olan Sena UD-100'dür .
fig3-sena.jpg

Şekil 3. Kısa antenli Sena UD100.

Küçük bir antenle birlikte gelirken, dipol ve yama anten gibi bazı aksesuarların seçilmesi cihazın menzilini büyük ölçüde genişletebilir - örneğin, yama anten menzili bir kilometreye kadar artırabilir. Yine, Windows'ta beklenen sürücülere dikkat edin ve Linux'ta sorun olmamalıdır.

fig4-dipole-antenna.jpg

Şekil 4. UD100'deki bu çift kutuplu anten, ona yaklaşık yarım kilometrelik bir menzil (görüş hattı) verir.

Bu kurulumun büyük artıları, daha büyük antenin bile (çıkarıldığında) bir çantaya düzgün bir şekilde sığması ve menzili önemli ölçüde artırmasıdır. Sena UD100, yerleşik donanımdan çok daha iyi çalışan sağlam bir USB Bluetooth cihazıdır. Hem tarama hem de araştırma için bu bir rock yıldızı. Ancak, en büyük eksi, neredeyse hiç gizli olmamasıdır. Bir kafede, ne olduğunu öğrenmek isteyen meraklı "normaller" tarafından yaklaşılma olasılığını bekleyin (iyi bir şaşırtma yanıtı, "kablosuz bağlantı kesildi, ben onu dükkana götürene kadar geçici olarak onarmaktır").


SERuL7.gif


Ubertooth

Tüm sunumlar Ubertooth etrafında yapılmıştır ve güçlü yönleri olduğu kadar sınırlamaları da vardır. İşe yaradığında, düzgün çalışır ve başka türlü elde edilmesi oldukça zor olan verileri almanıza yardımcı olur. Ancak bu noktaya gelmek oldukça zordur. Yakalamaya çalıştığınız Bluetooth etkinliği ne olursa olsun düşen paketler ve çok sayıda yeniden başlatma bekleyin, çünkü Bluetooth açısından neler olup bittiğinin tam bir resmini elde etmek biraz sabır gerektirecektir - özellikle de koklamayı denerseniz.

Daha önce bahsettiğimiz gibi, Bluetooth belirli bir aralık veya spektrumdaki frekanslar arasında geçiş yaparak çalışır. Ubertooth, yazılım aracılığıyla spektrumdaki bu "kovalamaca" adım adım ilerliyor ve çeşitli çevresel faktörler ve mükemmel bir şekilde senkronize olmayan saatler nedeniyle, paketler düşebilir ve hatta Ubertooth'un tamamen kaçırdığı bir değiş tokuşun bir kısmı veya tamamı gerçekleşebilir.

Programlanabilir olması kesinlikle bir artıdır ve aygıt yazılımı dahil olmak üzere tüm yazılım yardımcı programları açık kaynaklıdır. Saha ortamında daha güçlü bir çift kutuplu anten bağlayabilir ve bundan daha iyi menzil elde edebilirsiniz, ancak açıkçası, Ubertooth kontrollü bir laboratuvar ortamında en iyi performansı gösterir.


İskandinav Yarı İletkeni

Nordic Semiconductor nRF51-DK cihazı, beklenenden daha iyi çalışan koklama yetenekleriyle oldukça iyi bir Bluetooth vericisi ve alıcısıdır. Ubertooth gibi, programlanabilir, ancak kullanıma hazır aygıt yazılımı, koklama da dahil olmak üzere çoğu hızlı bilgisayar korsanlığı işi için uygundur.

Menzil sınırlıdır, ancak kalite yüksektir. Nordic Semiconductor, IoT'de birçok çip ve donanım çözümü sağlıyor, bu nedenle geliştiricilerin yaratımlarını test etmelerine yardımcı olmak için ucuz donanımlar üretme eğilimindeler.

fig5-nordic.jpg

Şekil 5. Nordic Yarı İletken nRF51-DK. Bu şey hem ciddi geliştiriciler hem de bilgisayar korsanları için yapıldı.


Ubertooth, mesafe söz konusu olduğunda küçük bir avantaja sahip olsa da, bu laboratuvar için harika bir USB cihazıdır. Nordic Semiconductor'ın ürettiği çeşitli yonga setleri için IoT cihazları oluşturan ve IoT yazılımı yazan tasarımcı ve geliştiricilerin sayısı nedeniyle, bu cihaza yönelik topluluk desteği hızla artıyor. Bunun (ve bu yazının yazıldığı tarihteki daha yeni model olan nRF52-DK'nin) geniş açık platform sayesinde bilgisayar korsanlarının favori tercihi olmasını bekleyin.


Üst Düzey Donanım

Ciddi bir şekilde hardcore değilseniz ve çok büyük bir bütçeniz yoksa bunu önermiyoruz, ancak parayı harcamak istiyorsanız, mükemmel Bluetooth yakalamaları elde edebilirsiniz. Örneğin, Ellisys Bluetooth Explorer mükemmel, ancak 17.500 USD'ye satılıyor. İleri teknoloji cihazlar satan başka şirketler de var, ancak fikri anladınız - başlangıç noktası 17.500 dolar ve fiyatlar oradan yükseliyor.

fig6-ellisys.png

Şekil 6. Ellisys Bluetooth Explorer BEX400, aynı anda hem Bluetooth hem de Wi-Fi algılaması yapar.

Bu üst düzey araçların maliyeti neden bu kadar yüksek? Çünkü çok iyi çalışıyorlar. Bahsettiğimiz dongle'lar koklama için kullanılabilir, ancak temelde Bluetooth spektrumunda atlama sinyali verdiği için Bluetooth oturumunu takip ederler.

Üst düzey makineler, tüm Bluetooth spektrumunu bir kerede yakalayarak her şeyi yakalayarak farklı çalışır. Cihazı kontrol etmeye ve yakalanan verileri okumaya yardımcı olmak için özel yazılım kullanılır ve genellikle yalnızca Windows'ta çalışır. Bu cihazlar laboratuar çalışması için üretilmiştir, ancak daha güçlü antenler kolayca eklenebilir ve güç gereksinimlerini karşılayabildikleri sürece, bu da mükemmel bir saha cihazı olarak kabul edilebilir (hatta bazı üst düzey modeller bu şekilde pazarlanmaktadır - hem laboratuvar hem de saha için üretilmiştir).


SERuL7.gif


Yazılım araçları

Komut Satırı Hakkında Her Şey

Linux korsanı için her şey komut satırı arabirimiyle (CLI) ilgilidir. Bluetooth için çok sayıda CLI aracı vardır ve bunların çoğu yararlı bilgiler sağlar, ancak bunların tümü tutarlı bir şekilde çıktı sağlamaz.

Tek bir cihazı araştırırken ve kurcalarken bu genellikle bir sorun değildir, ancak aynı anda birkaç cihaza bakmaya çalışıyorsanız (bir kafedeyken çok sayıda cihazı taramak gibi), o zaman farklı çıktı biçimlerine düzen getirmek için çıktının bir miktar komut dosyası oluşturması ve ayrıştırılması gerekecektir.

İşte araştırmacılar tarafından yaygın olarak kullanılan bir dizi araç (başkaları da var, bu, Laboratuarlarda kullanılan daha popüler olanların bir örneğidir, ana sayfalarını kontrol edin veya tüm işlevler için -? veya --help seçenekleriyle çalıştırın) .

hcitool - Bu yardımcı program, diğer araçlarla bağlanırken komut satırı taraması ve her zaman önemli olan MAC adresini elde etmek için kullanılabilir.

gatttool - Bluez kitaplığına dahil olan bu, Genel Niteliklerin veya Bluetooth belirtiminde tanımlandığı şekliyle GATT özelliğinin belirli değerlerine odaklanmak için harika bir araçtır

ubertooth-btle - Ubertooth yazılımına dahildir; tüm Bluetooth araçları arasında bu, oldukça fazla kullanılacaktır. Bluetooth spektrumunda zıplarken ve kovalarken, bu yardımcı programı koklarken ara sıra tam bir Bluetooth trafiği yığını alırsınız. Bunun BTLE kısmının sizi aldatmasına izin vermeyin - tüm eşleştirme, düşük enerji aleminde Bluetooth 4.x'te gerçekleşir, bu nedenle, başka hiçbir şey olmasa bile, bu, eşleştirme sürecinin daha keskin bir izini sürmenin harika bir yoludur. Birden fazla denemeye ve biraz sabra hazırlıklı olun ve tamamlandığında, analiz etmek için pcap biçimli güzel bir çıktı dosyanız olacak.


Telefonlardaki Mobil Uygulamalar

Saha çalışması yaparken bazen dizüstü bilgisayarınızı çıkarıp dongle'larınızı kurmaya zahmet edip etmeyeceğinizi merak ediyorsunuz. Bazen trafiğe hızlı bir şekilde bakmak yardımcı olur ve yararlı bilgiler döndürmesi daha da iyidir - dizüstü bilgisayarı çıkardıktan sonra neye odaklanacağınız konusunda size zaman kazandırır.

Telefonunuz için bu konuda yardımcı olacak bir dizi ücretsiz uygulama var. Ücretsiz uygulamalardan bazılarının sonuçları karışıktır, ancak birini seçmek için temel bir kılavuz, bunları geliştirici tarafından seçmektir.

Telefonunuzdan test etmek için iyi ücretsiz Bluetooth uygulamaları yazan çeşitli uygulamalar veya IoT cihazları (veya her ikisi) oluşturmak için araçlar satan birkaç şirket var. Bunlar, satın alınan ürünleri kullanırken geliştirme sürecinizi tamamlamayı amaçladıklarından, genellikle oldukça yüksek kalitededir.

Güvenlik araştırmacıları için iyi çalışan bir kaç iyi olan, Punch Through's Light Blue Explorer ve Nordic Semiconductor'ın nRF Connect'idir .


fig7-punchthru.png

Şekil 7. Punch Through'un LightBlue Explorer'ı çalışırken. Yukarıdakilerden, olağandışı öğeleri bulmada yararlı olduğunu görebilirsiniz. Bu, bir iş gezisi sırasında uçuşun ortasında yakalandı.

fig8-nordic-semi.png

Şekil 8. Nordic Semiconductor'ın nRF Connect'i. İyi günlük kaydı özelliklerine sahip mükemmel bir uygulama.


Wireshark'ı kullanma

Donanımların çoğu ve hatta bazı yazılımlar, Wireshark eklentileriyle birlikte gelir ve hepsini derler ve kurar. Adlandırılacak ve planlanacak çok fazla şey olsa da akılda tutulması gereken bazı genel kurallar vardır.

Belgeleri okuyun, ancak tarihi not edin. Araçların çoğu, eklentiyi derlemek için Wireshark kaynak kodunun hangi sürümüne ihtiyacınız olduğuna ilişkin ayrıntılı talimatlara ve gereksinimlere sahiptir ve muhtemelen Wireshark'ın çok daha yeni bir sürümünü kullanıyorsunuzdur. Talimatlar eskiyse ve Wireshark'ın eski bir sürümüne atıfta bulunuyorsa, eklentinin Wireshark'ın daha yeni sürümüyle birlikte gelmesi mümkündür. Çoğu eklenti, Wireshark'ın daha yeni bir sürümüyle sorunsuz bir şekilde derlenir. Aslında çoğu, Linux sürümünüz için Wireshark geliştirme paketiyle derlenir, örneğin Ubuntu'daki wireshark-dev.

Eklentilerin amacı, Wireshark uygulamasının içindeki ham Bluetooth paketlerini biraz daha okunabilir bir şeye yorumlamaktır ve Bluetooth ile ilgili birden fazla protokol olduğundan, neler olup bittiğine dair bir anlam çıkarmaya yardımcı olur.

Bluetooth'u koklamanın genellikle birkaç farklı yolu vardır - doğrudan Wireshark içinde ve komut satırı araçlarından biriyle. Örneğin, Ubertooth, Bluetooth trafiğinin yakalanmasına ve verilerin Wireshark'ın okuyabileceği ve yorumlayabileceği (uygun eklentilerle) pcap formatında kaydedilmesine izin veren yukarıda bahsedilen ubertooth-btle'ı içerir. Ancak Bluetooth USB dongle'larınızı da takabilir ve Wireshark'ın içinden koklayabilirsiniz. Ve Wireshark içinde koklama sırasında birden fazla Bluetooth kaynağı kullanabilirsiniz.

Örneğin, dizüstü bilgisayarın yerleşik Bluetooth özelliklerini kullanarak koklama yapılabilir; tek bir CLI aracıyla eylem gerçekleştirmek için donanım kilidiyle bir USB bağlantı noktası kullanın; ve başka bir eylem gerçekleştirmek için ikinci bir dongle ile ikinci bir USB bağlantı noktası kullanın - aynı anda üçünü de koklayabilirsiniz. Kulağa aşırı derecede karmaşık geliyor, ama değil. Bir cihazı araştırmak için bir donanım kilidi kullanıyorsanız ve aynı anda onu doldurmaya çalışan başka bir dongle kullanıyorsanız, her ikisinin de sonuçlarını aynı sniffer oturumunda görebilirsiniz. Ayrıca, bir dongle veya CLI'nin diğerine karşı nasıl performans gösterdiği test edilirken yardımcı olur.


Peki Amaç Ne?

Bluetooth'un saldırı yüzeyini incelemeye yönelik kontrol listesi, uygulamanın hizmet reddi vb.

Bu aynı zamanda cihazın çeşitli aşamalarda ne yaptığını belgelemeyi de içerir. Örneğin, birden fazla cihaz onunla eşleşebilir mi? İlk kez güç uygulandıktan hemen sonra reklam vermeye mi başlıyor yoksa eşleştirmeye izin vermesi için bir işlem (düğmeye basma gibi) gerçekleştirmeniz mi gerekiyor? Belki de pil gücünden tasarruf etme çabasıyla, reklam verme ve reklam vermeme dönemleri arasında geçiş yapıyor mu? Ancak daha da önemlisi, özellikle cihazın durumu değiştikçe, parmak izi almak veya cihaz hakkındaki bilgileri belirlemek için ne kadar bilginin uzaktan okunabileceğini görmek. Ve bu ikinci alana giriyor.

Cihazın adı veya model numarası gibi şeyler işinize yarayabilir. Genellikle bir cihazın parmak izini alırken, Bluetooth yonga seti ve belki de bu yonga seti ile ilişkili üretici yazılımı sürümleri gibi diğer alanlarda IoT araştırmanıza yardımcı olacak bilgiler bulursunuz.

Donanım yazılımı sürümünü tam yapı sürümüne kadar uzaktan belirleyebilmek, özellikle çevrimiçi olarak ürün yazılımı sürümlerini bulabiliyorsanız, çok büyük bir zaman kazandırabilir. Belirli bir kusur içeren ancak yalnızca önceki bir sürümde mevcut olan bir yapı sürümünün farkındaysanız, bu kusuru test aşamanızdan kaldırarak zamandan tasarruf edebilirsiniz.

Kod:
thegnome@fang:~$ hcitool -i hci1 leinfo 00:07:80:CF:76:BC[/B][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER]
[COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER]Requesting information ...
   Handle: 75 (0x004b)
   LMP Version: 4.0 (0x6) LMP Subversion: 0x3
   Manufacturer: Bluegiga (71)
   Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00
thegnome@fang:~$






Küçük bir Google aramasıyla, Bluegiga yonga setini ve 71'in derleme sürümünü belirlemek, 2013'teki tam üretici yazılımı sürümünü belirlemeye yardımcı oldu. Bir telefonda ücretsiz uygulamalarla uğraşmak bile ilginç bilgileri ortaya çıkarabilir:

fig9-model-1508440643.png

Şekil 9. Bir aygıtın model numarası dizisini ascii hex yerine düz İngilizce olarak tarama ve bulma.


Yukarıdaki örnekte, BLE112'nin model numarası dizisi, Bluegiga ile hcitool çıktısı ve derleme sürümüyle birleştiğinde, kesin üretici yazılımının doğrulanmasına yardımcı oldu. Kayıt için, gatttool komut satırı aracı kullanılarak, neredeyse temiz bir şekilde sunulmasa da, aynı bilgiler de belirlenebilir.

Kod:
root@plague:~# gatttool -i hci1 -I[/B][/COLOR][/CENTER][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER][/B][/COLOR][/CENTER]
[COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER][                 ][LE]> connect 00:07:80:cf:76:bc
Attempting to connect to 00:07:80:cf:76:bc
Connection successful
[00:07:80:cf:76:bc][LE]> characteristics
handle: 0x0002, char properties: 0x0a, char value handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb
handle: 0x0004, char properties: 0x02, char value handle: 0x0005, uuid: 00002a01-0000-1000-8000-00805f9b34fb
handle: 0x0007, char properties: 0x02, char value handle: 0x0008, uuid: 00002a29-0000-1000-8000-00805f9b34fb
handle: 0x0009, char properties: 0x02, char value handle: 0x000a, uuid: 00002a24-0000-1000-8000-00805f9b34fb
handle: 0x000b, char properties: 0x02, char value handle: 0x000c, uuid: 00002a25-0000-1000-8000-00805f9b34fb
handle: 0x000e, char properties: 0x28, char value handle: 0x000f, uuid: 80c7b47e-0d04-44d9-9fa7-245e83c4fc66
handle: 0x0012, char properties: 0x2a, char value handle: 0x0013, uuid: 00002a26-0000-1000-8000-00805f9b34fb
[00:07:80:cf:76:bc][LE]> char-read-uuid 00002a24-0000-1000-8000-00805f
handle: 0x000a value: 42 4c 45 31 31 32
[00:07:80:cf:76:bc][LE]> char-read-hnd 0a
Characteristic value/descriptor: 42 4c 45 31 31 32
[00:07:80:cf:76:bc][LE]>







Yukarıdaki adımlar aşağıdaki gibiydi:

    • Gatttool'un “etkileşimli” moduna ( gatttool -i hci1 -I) geçin.​
    • hcitool lescan'dan ( ) elde edilen MAC adresini kullanarak Bluetooth aracılığıyla cihaza bağlanın connect 00:07:80:cf:76:bc.​
    • Değerleriyle ( characteristics) ortak tanıtıcıların bir listesini edinin.​
    • Bu durumda, Bluetooth yonga setinin model numarasını (bu satır: ) içeren 0x2a24 GATT özelliği ile ilgileniyoruz handle: 0x0009, char properties: 0x02, char value handle: 0x000a, uuid: 00002a24-0000-1000-8000-00805f9b34fb.​
    • 00002a24 ile başlayan uuid değeri, aradığımız değerdir ve tam uuid ( ) veya char değeri tanıtıcısını (char-read-hnd 0a) kullanarak , char-read-uuid 00002a24-0000-1000-8000-00805fmodel numarasına ( ) sahip dizeyi elde edebiliriz. 42 4c 45 31 31 32onaltılı "BLE112" dir ve belirli bir Bluegiga ürününü ifade eder).​
Karakter özellikleri değerleri ilginçtir - örneğin, 02 salt okunur ( char properties: 0x02) ve 0a yazılabilir. Ancak görebileceğiniz gibi, biraz araştırma ve araştırmadan sonra, aygıt yazılımı, yonga seti özellikleri vb. bulmamıza yardımcı olacak bir ton bilgi elde ettik.

Kaynak Koduyla İlişkilendirme

Değerlerin harici olarak yazılmasına izin veren tüm arabirimleri bulmak, saldırı yüzeyini incelemenin önemli bir parçasıdır ve tüm UUID değerlerine sahip olmak, derlenmiş kod aracılığıyla grep yapmak söz konusu olduğunda harikadır. Bu, IoT cihazına girilen değerleri potansiyel olarak haritalamanıza ve bu değerlerin, örneğin telefondaki eşlik eden uygulama tarafından nasıl işlendiğini görmenize olanak tanır.

IoT cihazı için üretici yazılımı edinmeyi başardıysanız ve onu kaynak koda dönüştürdüyseniz, rastgele verilerle hangi arabirimleri araştırabileceğiniz veya en azından hangilerinin en umut verici görünebileceği hakkında bir fikriniz olur.


Tam Olarak Mükemmel Değil

Bluetooth kusurlu olabilir ve birkaç kez test yapılmasına yardımcı olur. Örneğin, birkaç dakika arayla çalıştırılan bir cihaza karşı sonuçlara bakın:

Kod:
thegnome@claw:~$ hcitool -i hci1 leinfo 44:fe:d3:98:29:7e Requesting information ...[/B][/COLOR][/CENTER][/B][/COLOR][/CENTER]
[COLOR=rgb(255, 255, 255)][B][CENTER][COLOR=rgb(255, 255, 255)][B][CENTER]    Handle: 3585 (0x0e01)
    Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

thegnome@claw:~$ hcitool -i hci1 leinfo 44:fe:d3:98:29:7e
Requesting information ...
    Handle: 3585 (0x0e01)
    LMP Version: 4.1 (0x7) LMP Subversion: 0x64
    Manufacturer: Nordic Semiconductor ASA (89)
    Features: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00






İlki tam bir cevap alamadı, ikincisi aldı. Bu nedenle, bir testin birden fazla geçişini öneriyoruz.



Bluetooth cihazlarıyla uğraşmak söz konusu olduğunda bu bilgilerin biraz daha yön sağlayabileceğini umuyoruz. Özellikle bir IoT cihazına girdi sağlamanın birden fazla yolu ile uğraşırken ve saldırıları formüle ederken bunları katmanlamaya çalışırken, bazı alanlar karmaşık görünebilir. Ancak farklı antenlere sahip çeşitli cihazlar kullanarak ve sebepsiz yere başarısız olduklarında testleri tekrarlayarak, araştırma süresi kısaltılabilir ve gerçek kusurlar biraz daha hızlı bulunabilir.

Linux çalıştıran bir System76, daha büyük dipol antenli bir Sena UD100, Nordic Semiconductor nRF51-DK (veya yeni nRF52-DK), çeşitli Linux araçları ve nRF Connect for Desktop'ın Linux sürümü, çoğu alanı kapsamak için sağlamdır ve laboratuvar çalışması. Telefondaki iOS veya Android için nRF Connect gibi bazı uygulamalarla birleştiğinde, sahadayken o dizüstü bilgisayarı çıkarmanın değip değmeyeceğini hızlı bir şekilde kontrol edebilirsiniz - artı başka bir bilgi kaynağınız var. Ancak, daha fazla anten seçeneği veya Ubertooth gibi ek bir şey kullanabiliyorsanız, onu kullanın.

Bluetooth araştırması ağaç işleme gibidir - tüm projeyi yalnızca bir çekiç ve çivi, bir keski, zımpara kağıdı ve bir el testeresi ile yapabilirsiniz, ancak dekupaj testeresi veya elektrikli zımpara makinesi gibi bir dizi başka araca sahip olmak kesinlikle daha iyi sonuçların daha hızlı alınmasına yardımcı olacaktır.



SERuL7.gif














Güzel konu olmuş eksik yok neredeyse
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.