HackTheBox Debugging Interface Challenge Çözümü - Hardware Hacking
Bu yazıda Hack The Box platformunda bulunan Debugging Interface adlı challenge'ın çözümünü anlatacağım.
Debuggin Interface adlı challenge’ı çözmeye başlamadan önce senaryo kısmını okuyoruz.
We accessed the embedded device’s asynchronous serial debugging interface while it was operational and captured some messages that were being transmitted over it. Can you decode them?
Amacımız senaryoda verildiği gibi gömülü cihazın asenkron seri hata ayıklama arayüzüne erişerek iletilen mesajlaşmalara erişmektir.
Challenge dosyasını indirdiğimizde debugging_interface_signal.sal adında bir dosya görüyoruz.
1
2
3
┌──(Oxb1lal㉿bilal)-[~]
└─$ file debugging_interface_signal.sal
debugging_interface_signal.sal: Zip archive data, made by v4.5 UNIX, extract using at least v2.0, last modified Mar 23 2021 12:02:50, uncompressed size 22090, method=deflate
Şimdi arşiv içerisinde nelerin olduğunu bakalım.
1
2
3
4
5
6
7
8
9
┌──(Oxb1lal㉿bilal)-[~]
└─$ unzip -l debugging_interface_signal.sal
Archive: debugging_interface_signal.sal
Length Date Time Name
--------- ---------- ----- ----
22090 2021-03-23 12:02 digital-0.bin
27810 2021-03-23 12:02 meta.json
--------- -------
49900 2 files
Şimdilik bu dosyaları ayrı ayrı incelemeyeceğiz.
Şimdi biraz .sal uzantısının ne olduğuna bakalım. Bu uzantı Saleae Logic Analyzer tarafından oluşturulan bir dosya türüdür. Saleae Logic Analyzer, dijital ve analog sinyalleri kaydetmek ve analiz etmek için kullanılan bir araçtır. Saleae Logic Analyzer
Bu challenge'da olduğu gibi bir .sal dosyası oluşturmak için aşağıdaki gibi bir Logic Anaylzer cihazı kullanılmaktadır.
Şimdi elimizdeki debugging_interface_signal.sal dosyasını Saleae Logic Analyzer ile açarak içerisini inceleyebiliriz.
Dosyamızı yüklediğimizde ilk olarak aşağıdaki gibi bir görüntü ile karşılaşırız.
Burada ilk dikkatimizi çeken kısım Channel 0 yazan yerdir. Yani bu sinyalin tek bir kanaldan geldiğini görüyoruz. Farklı kanallar bulunmamaktadır. Buda bize iletişimde UART protokolünün kullanıldığı ihtimalini arttırır.
Mouse ile sinyalin olduğu bölgeye gelererk sinyali biraz daha yakınlaştırıp neler olduğuna bakalım.
Resimde de görüldüğü gibi kare dalgaların olduğu sinyalleri görüyoruz - Square Waves -
UART gibi bir iletişim protokülinde önemli diğer bir nokta baud rate değeridir. Baud Rate değeri, saniyede iletilen bit sayısını ifade etmektedir, bu hızı bilmeden verileri anlamlı bir şekilde ele geçirebilmek olası değildir.
İnternette kısa bir arama yaptığımızda bazı yaygın baud rate değerlerinin olduğunu görmekteyiz. Bunlar aşağıdaki gibidir:
Bunları sırası ile tek tek deneyebiliriz ancak ben burada kendimizin nasıl hesaplayacağını anlatacağım.
Baud rate hızı ve hesaplanması için kullanacağımız formül aşağıdaki gibidir:
Detaylar için : www.hbmacit.com
İlk olarak bulmamız gereken nokta sinyaldeki en küçük pulse atımıdır.
Bu genlik bize tek bir bitin ne kadar sürdüğünü gösterecektir. Sinyalin en küçük pulse atımını bulalım.
Hızlıca göz attıktan sonra sinyal içerisindeki en küçük pulse değerini buluyoruz. (32.04 μs)
Şimdi gerekli dönüşümlerimizi ve hesaplamalarımızı yapalım.
İlk olarak 32.04 μs değerini saniyeye çevirelim.
Formüldeki hesabı yaptığımızda baud rate değerinini 31.210,986267166042446941323345818 olarak buluyoruz. Bunu da yaklaşık olarak 31.211 olarak yuvarlayabiliriz.
Şimdi yapmmaız gereken yeni bir analizer projesi açıp baud rate değerini 31.211 olarak ayarlamak ve sinyalimizi tekrar incelemektir.
Ayarları kaydettiğimizde karşımıza aşağıdaki gibi bir görüntü çıkacaktır.
Son yapmamız gereken kısım ise formatı ASCII olarak ayarlamak yada terminale ikonuna basarak giden verileri açık bir şekilde incelemek olacaktır.
Sonraki challenge çözümlerinde baud rate değerini nasıl daha hızlı bir şekilde bulabileceğimize değineceğim.
Teşekkürler @batuhaner










