CTF

HackTheBox Behind the Scenes

Merhaba, bu yazıda HackTheBox platformunda Reversing kategorisinde bulunan ve very easy seviyesinde olan “Behind the Scenes” sorusunu çözeceğim. Soruda bize bize bir dosya verilmektedir ve bayrağı bulmamız istenilmektedir. Soru açıklamasında bize aşağıdaki bilgilendirme yapılmaktadır.

Gizli dizelerimizi güvence altına almak için uzun süre uğraştıktan sonra, sonunda sorunumuza bir çözüm bulduk: Derlemeyi zorlaştırın. Artık programlarımızın nasıl çalıştığını anlamak imkansız olmalı!

Dosyaları indirerek incelemeye başlayalım.

Dosyayı file komutuyla kontrol ediyorum. Dosya bir ELF (Executable and Linkable Format) 64-bit çalıştırılabilir dosyasıdır ve Linux x86-64 mimarisi için derlenmiştir. Çalıştırılabilir bir dosya olduğunu öğrendiğim için dosyayı çalıştırıyorum.

Dosyayı çalıştırdığımda ikinci bir argüman alarak çalışacağını görüyorum. Stringlere göz atarak bir şey elde etmeye çalışacağım.

Stringlere göz attığımda HTB{%s} görüyorum.

Daha fazla detay elde etmek için linux sistemlerde bir hata ayıklama aracı olan “ltrace” kullanacağım.

Burada gördüğümüz SIGILL nedir?

SIGILL, büyük olasılıkla programda bir hata olduğunu gösterir.

SIGILL (Signal Illegal Instruction), bir programın geçersiz (illegal) bir işlem kodu (instruction) çalıştırmaya çalıştığında işletim sistemi tarafından gönderilen bir sinyaldir. Genellikle aşağıdaki durumlarda oluşur:

  • Geçersiz Makine Kodu Çalıştırma: Çalıştırılan kod CPU tarafından tanınmayan bir komut içeriyorsa.
  • Yanlış Bellek Adresinden Çalıştırma: Program, yürütülebilir olmayan bir bellek bölgesini çalıştırmaya çalışıyorsa.
  • Bozulmuş veya Hatalı Derlenmiş Programlar: Eksik veya bozuk derleme sonucunda geçersiz kodların oluşması.
  • Kod Enjeksiyonu veya Bellek Bozulması: Stack overflow, buffer overflow gibi hatalar sonucu program yanlış kodları çalıştırmaya çalışabilir.
  • Yazılım Kısıtlamaları: Bazı CPU talimatları (örneğin, özel donanım talimatları) yalnızca çekirdek modu veya belirli yetkilere sahip süreçler tarafından çalıştırılabilir. Kullanıcı modunda çalıştırılmaları SIGILL ile sonuçlanabilir.

Daha sonra dosyayı IDA ile açarak kontrol etmeye başlıyorum. Daha fazla detay elde etmek için hex inceliyorum.

Hex içerisinde tespit ettiğimiz veriyi aynı şekilde IDA View penceresine gelip ctrl+f ile arama içerisine “HTB” yazarak kod içerisinde görüntüleyebiliriz.

Yukarıda gördüğümüz üzere flag değerimiz karşımızda. Aynı incelemeyi kali linux üzerinde hexeditor ile de yapabiliriz.

Burada görüldüğü üzere “Itz” ile başalyan kısım bizim flag değerimiz. Hackthebox flag formatına göre burada gördüğümüz veriyi yazarak bayrağı elde ediyorum.

Başka yazılarda görüşmek üzere.

2 Yorum

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu