Post

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.

Logic Analyzer

Ş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.

Logic Analyzer İlk Görüntü

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.

Sinyal'den Kesit

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:

Baud Rate Formül

Detaylar için : www.hbmacit.com

İlk olarak bulmamız gereken nokta sinyaldeki en küçük pulse atımıdır.

Pulse

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)

Pulse

Şimdi gerekli dönüşümlerimizi ve hesaplamalarımızı yapalım.

İlk olarak 32.04 μs değerini saniyeye çevirelim.

Saniye Hesabı

Hesaplama

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.

Baud Rate Analyzer

Ayarları kaydettiğimizde karşımıza aşağıdaki gibi bir görüntü çıkacaktır.

Logic Screen

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.

Flag


Sonraki challenge çözümlerinde baud rate değerini nasıl daha hızlı bir şekilde bulabileceğimize değineceğim.


Teşekkürler @batuhaner

This post is licensed under CC BY 4.0 by the author.