Firmware Dosyalarını Binwalk Aracı İle Analiz Edelim

'Execution

Kıdemli Üye
13 Ocak 2018
3,227
29
Merhabalar,

Bu konumuzda bir adli bilişim aracı olan Binwalk ile firmware yazılımlarını analiz edeceğiz. Tanımlamalarla konumuza giriş yapalım, buyrun..


BINWALK ARACI NE İŞE YARAR ?

Bir firmware dosyası içerisindeki hexadecimal değerlerinin analiz edilmesini sağlayan araçtır. Bu araç ile incelenen bir dosyanın bağlantılı olduğu dosyalar tespit edilebilir ve analiz edilebilir. Yapılan bir analiz sonrası elde edilen bilgiler mahkemede adli delil olarak sunulabilir.

FIRMWARE NEDİR ?

Çevre donanım birimlerinin işlevlerini belirten ve bu işlevlerin düzgün bir şekilde yerine getirilmesini sağlayan yazılımlardır. MP3 çalar, modem, yazıcı gibi elektronik aygıtlarda bulunabilirler. Firmwarelar, okunur olabilmelerine rağmen çeşitli güncellemeler dışında üzerinde sonradan herhangi bir değişiklik yapılmaz.

BINWALK ARACI İLE FIRMWARE ANALİZİ

Elbette analiz işlemi öncesinde elimizde bir firmware dosyası bulunmalıdır. Yazılımı uygulamalı olarak öğrenebilmek adına bu firmware dosyalarını internetten indirebilirsiniz. Bende konuyu anlatırken internetten bulduğum bir firmware dosyasını kullanacağım.

Binwalk aracı, linux sistemlerde kurulu olarak gelen bir araç. Bu sebeple kurulumu anlatmadan direkt işlemlerimize geçebiliriz. İlk olarak araç ile kullanabilir parametreleri görüntüleyelim. Bu doğrultuda aşağıdaki komutu yazıyoruz

Kod:
binwalk -h



Parametrelerimizi de öğrendiğimize göre analiz işlemlerine geçebiliriz. Aşağıdaki komutu yazarak analiz edeceğim dosyayı belirtiyor ve analiz işlemini başlatıyorum

Kod:
binwalk dosya/konumu/dosya_adi.bin



Burada dosya sisteminin "1147023" adresini işaret ettiğini görüyoruz. Description kısmına baktığımızda bu adresin squashfs dosya sistemini belirtmiş olduğunu görebiliyoruz. Bu sebeple squashfs dosya sistemini firmware içerisinden çıkartmaya çalışacağız.
Burada dd aracı belirttiğimiz dosya sistemini firmware içerisinden çıkartmamızı sağlayacak
if parametresi ile firmware'imizi belirtiyoruz.
of parametresi ile oluşturulacak yeni dosyayı belirtiyoruz.
skip parametresi ile dosya sisteminin gösterdiği adresi belirtiyoruz.
bs parametresi ile de dosyanın block size değerini belirtiyoruz. Bu değeri 1 olarak vermemiz, dosyanın düzgün bir şekilde okunmasını sağlayacaktır. Bu bağlamda komutumuzu aşağıdaki gibi yazabiliriz

Kod:
dd if=firmware/dosya/konumu/dosya_adi.bin of=cikti/yolu/dosya_adi skip=1147023 bs=1



İşlem başarıyla tamamlandıktan sonra çıktı dosyamız belirttiğimiz konumda oluşturulacaktır. Şimdi işlemlerin doğruluğunu teyit edelim. Bunun için aşağıdaki komutu giriyoruz.

Kod:
binwalk dosya/konumu/dosya_adi



Yukarıda da gördüğünüz gibi çıkardığımız "test.squashfs" dosyasının adresi "0" değerini gösteriyor. Bu işlemin başarıyla tamamlandığının göstergesidir. Şimdi firmware dosyasından oluşturduğumuz yeni dosyamızdaki şu an için karmaşık olan bilgilerin, okunabilir hale getirilmesini sağlayacağız. Bunun için unsquashfs aracını kullanabiliriz. Aracı kurmadan önce sistemimize aracın kullanımı için gerekli birkaç paketi kuralım.

Kod:
apt-get install liblzma-dev
Kod:
apt-get install subversion
Kod:
apt-get install zlib1g-dev
Kod:
apt-get install build-essential

Yukarıdaki paketleri kurduktan sonra aşağıdaki komut ile aracımızı kuruyoruz

Kod:
apt-get install squashfs-tools

Kurulum sonrası aşağıdaki komutu girerek unsquashfs aracı ile dosyamızdaki bilgilerin okunabilir hale gelmesini sağlıyoruz.

Kod:
unsquashfs -i dosya/konumu/dosya_adi



Yukarıdaki komutun ardından bulunduğumuz dizin altında "squashfs-root" adında yeni bir dizin oluşturulmuş olacak. Bu dizine aşağıdaki komutu kullanarak gidelim

Kod:
cd ./squashfs-root/



Ardından aşağıdaki komut ile dizin içerisindeki dosya ve klasörleri görüntüleyelim

Kod:
ls



Burada imajını aldığımız dosya sisteminin içeriği görüntülemiş olduk. Artık squashfs-root dizini altından analiz ettiğimiz firmware dosyası hakkında bilgi edinebiliriz.Aynı zamanda bu dizine terminal üzerinden erişmek yerine root dizini altından da erişebilir, dosyaları görüntüleyebilirsiniz.



Konuma burada nokta koyuyorum. Teşekkür eder, iyi forumlar dilerim...
 
Son düzenleme:

PourLa

Uzman üye
27 Mar 2016
1,659
30
Cevap: Binwalk Aracı İle Firmware Analizi

Ellerin dert görmesin 😊
 
Moderatör tarafında düzenlendi:

'Execution

Kıdemli Üye
13 Ocak 2018
3,227
29
Cevap: Binwalk Aracı İle Firmware Analizi

Teşekkür ederim :)
 
Ü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.