PDF hazırlanıyor...

Binwalk Kullanımı

Yazar: Elif Özkan
Tarih: 19 Aralık 2025

Binwalk Nedir?

Binwalk özellikle IOT cihaz yazılımı görüntülerini analiz etmek, tersine mühendislik uygulamalarında kullanılmak ve gizli dosyaları otomatik olarak algılamak ve çıkarmak için kullanılır. Binwalk, IoT ve gömülü sistem firmware’lerinin yapısal analizinde kullanılan, tersine mühendislik ve güvenlik testlerinde kritik rol oynayan bir araçtır. Genel kullanımını incelediğimiz zaman binary image dosyalarında gömülü dosyalar ve çalıştırılabilir kodlar aramak istendiğinde kullanılır. Bununla birlikte donanım yazılımları image ‘lerin içindeki gömülü dosyaları ve kodları belirlemek için kullanılır. Modem,güvenlik kameraları gibi araçların firmware dosyalarını incelerken kullanılır. Aracın kullanımını daha iyi anlayabilmek için aşağıdaki örnek uygulamaları inceleyebilirisiniz. Bu çalışmada incelediğimiz Openwrt firmware dosyası açık kaynaklıdır ayrıca cihazın boot sürecinde kritik rol oynadıkları için önemlidir.

Not: Bu çalışmada kullanılan dosyalar açık kaynaklı repodan alınmıştır. Analizler tamamen eğitim amaçlıdır. Açık kaynaklı github reposundan dosyalara ulaşabilirsiniz.

İlk olarak Binwalk ile analiz yapabilmek için açık kaynak kodlu bir .bin uzantılı bir dosya indiriyoruz. Bu analiz edeceğimiz dosya olacak OpenWrt’nin açık kaynaklı arşiv dosyalarından bir doysa indirip incelemeye başlıyoruz. Dosyayı indirdikten sonra binwalk aracını kullanarak ilk bilgileri elde ediyoruz.

Elde ettiğimiz ilk sonuçlara göre dosyanın mimarisi hakkında kullanılan dosya sistemi ve image bilgilerini alıyoruz. Burada binwalk aracının en temel kullanımını görebilirsiniz. Binwalk’un en temel parametrelerini “—help” komutu ile görüntüleyip ihtiyacınıza göre analizinizi derinleştirebilirsiniz. Bu çalışmada kullandığım bir diğer parametre “-eM” parametresi iç içe gömülü olan dosyaları tekrar tarar ve bize daha ayrıntılı bilgi sağlar.

Binwalk parametreleri

Binwalk -eM ile kullanımı örneği

Görüldüğü üzere bu çalıştırması sonucunda MD5 değerini elde ettik ve dosya yerleşimi hakkında da daha detaylı bilgi elde ettik. Şimdi dosya mimarisini detaylandırmak için  –A parametresini kullanıyoruz.

Bu aşamada ise ARM mimarisinin kullanıldığını kesinleştirmiş oluyoruz. Binwalk ile yaptığımız bu analizde firmware’in erken offset’lerinden itibaren ARM instruction set kullanan çok sayıda function prologue tespit edilmiştir. Bu durum, analiz edilen OpenWrt recovery firmware’inin ARM tabanlı bir gömülü sistem için derlendiğini açıkça ortaya koymaktadır. Offset’lerin düzenli ve birbirine yakın olması, bu bölümün bir dosya sisteminden ziyade doğrudan çalıştırılabilir makine kodu içerdiğini göstermektedir. Elde edilen mimari bilgi, sonraki aşamalarda gerçekleştirilen strings analizi ve statik tersine mühendislik süreçlerinde doğru araç ve konfigürasyonların seçilmesini sağlamıştır.  Strings ile analize devam edip kritik bilgileri aramaya geçiyoruz. Dosyada bizim için kritik bilgileri arayacağız.

Bu elde ettiğimiz sonuç bizim için oldukça önemlidir çünkü frimware dosya içinde yönetici yetkisi ile çalışan bir yapılanması olduğunu ve “key” ifadesi ise sabit anahtarı olabileceğini gösterir. Bunun gibi yapıların doğrudan dosyanın içine gömülü olarak bulunması tersine mühendislik yöntemleri ile elde edilebileceği için güvenlik zafiyetlerine sebep olabilir. Burada meydana gelebilecek olası bir kimlik doğrulama zafiyeti sistemin tamamen tehlikeye atılmasına yol açar.

Kaynak dosya için tıklayınız..

Etiketler

blue team siber güvenlik bilgi güvenliği