IDA Pro ile Remote Linux Debugging

Windows bağımlısı biri olarak benim dünyamda Linux, hep sanal makina içinde çalışmaya mahkum olmuştur. Her ne kadar Ubuntu’yu çok seviyor olsamda alışkanlık ve oyunlar nedeniyle Windows kullanmaya uzun bir süre daha devam edeceğim gibi duruyor. Windows üzerinde debug için Ollydbg, Immunity Debugger ve IDA Pro araçlarını sıkça kullanıyorum fakat sistem Linux olunca GDB kullanmak gerçekten grafik arayüzü olmaması nedeniyle can sıkıcı olabiliyor.

Fakat benim gibi sadece tek bir işletim sistemi kullanmıyor sanal makinalardanda faydalanıyorsanız Linux üzerindeki bir programı debug etmek için IDA Pro’nun uzaktan (remote) debug özelliğinden faydalanabilirsiniz. Remote debugging, yerel veya uzaktaki ağ üzerinde yer alan bir sistemde çalışan bir programı kendi sisteminiz üzerinden debug etmenizi sağlar bu sayede örnek olarak uzak sistemde çalışan zararlı bir yazılımı kendi sisteminize zarar vermeden analiz etme imkanınız olmuş olur.

Benim gibi ana sistem olarak Windows 7 kullanıyorsanız ve sisteminizde IDA Pro v5.x yüklü ise şu adımları izleyerek Linux üzerindeki renksiz GDB’ye güzel bir alternatifiniz olabilir :)

Yazının daha kolay anlaşılabilmesi için örnek olarak Linux için hazırlanmış bir crackme programını debug edeceğiz. Crackme, tersine mühendislik becerilerinizi geliştirebilmeniz için internet üzerindeki gönüllüler tarafından kırılmak üzere hazırlanmış programlara verilen isimdir.

İlk olarak Crackmes.de sitesinden cyrex’s Linux CrackMe programını indirelim ve C:\Program Files\IDA\crackme klasörü içine arşivden çıkartılmış halini kopyalayalım.

Öncelikle uzaktan debug etmek için Windows sisteminiz üzerinde ida adında bir kullanıcı yaratmanızı tavsiye ederim. Kullanıcıyı yarattıktan sonra C:\Program Files\IDA klasörünü paylaşıma açalım ve IDA kullanıcısını bu paylaşım üzerinde yetkilendirelim. Daha sonra sanal makina içinde yüklü olan Ubuntu’ya geçerek (evet herkes Ubuntu kullanmalı :p) bulunduğumuz klasör altında ida klasörü yaratalım ve arından smbmount komutu ile az önce yaratmış olduğumuz paylaşıma bağlanarak bu klasör içinde yer alan linux_server programını çalıştıralım.

Linux IDA

Daha sonra Windows’a geçerek IDA’yı çalıştıralım ve File menüsünden Open’a basarak C:\Program Files\IDA\crackme klasörü içinde yer alan crackme programını açalım.

Linux IDA

Daha sonra üstteki menüden Debugger’ı seçelim ve daha sonra Remote Linux Debugger’ı seçelim. Ardından Debugger menüsünden Start process’i seçelim ve Hostname kısmına sanal makina içinde çalışan Ubuntu sisteminin IP adresini girelim.

Linux IDA

IP adresini girdikten sonra ise Debugger menüsünden Start process’i seçerek debug işlemini başlatalım. (Her iki uyarı mesajınıda Yes diyerek geçebiliriz.)

Crackme’yi kırmak için bizden doğru şifreyi bulmamız isteniyor. Debug işlemi başladıktan sonra Ubuntu’ya bakacak olursanız ekranda sizden doğru şifreyi girmenizi istediğini görebilirsiniz. Buraya rastgele bir şifre girdiğimizde (12345) hata mesajı ile karşılaşıyoruz ve debug işlemi sonlanıyor.

Linux IDA

Amacımız doğru şifreyi bulmak olduğu için bunun için IDA’da Shift 12 tuşlarına basarak Strings penceresini açalım ve az önce karşılaştığımız hata mesajının üzerine iki defa basarak program üzerinde bu değişkenin tutulduğu ilgili bölüme gidelim.

Faremizin imlecini char aOhhhhYourSkill[] üzerine getirdikten sonra x tuşuna basarak bu değişkeni çağıran kod parçasına gidelim.

Linux IDA
Linux IDA

Bu kodun üzerine hızlıca göz attığımızda kullanıcıdan alınan verinin yani şifrenin strcmp fonksiyonu yardımı ile 47ghf6fh37fbgbg değeri ile karşılaştırıldığını ve doğru olması durumunda Good ile başlayan mesaja aksi durumda Ohhh ile başlayan hata mesajına gittiğimizi görüyoruz ve şifrenin 47ghf6fh37fbgbg olduğunu öğrenmiş oluyoruz ve crackme başarıyla çözülmüş oluyor.

Linux IDA

Gördüğünüz üzere Windows üzerinde çalışan IDA ile Linux üzerindeki bir programı debug etmek GDB’nin aksine daha kolay ve eğlenceli olabiliyor.

Bir sonraki yazıda görüşmek dileğiyle herkese iyi haftalar dilerim.

Not: Geçtiğimiz aylarda yayınlanan v6 sürümü ile IDA Pro kullanıcıları Linux ve Mac OS X üzerinde GUI arayüzüne kavuştu.

image_pdfShow this post in PDF formatimage_printPrint this page
4 comments
  1. Merhaba yazı için teşekürler….
    Şifrenin strcmp fonksiyonu ile karşılaştırdığını nerde görüyorsunuz?

    1. Öncelikle teşekkürler.
      5 sene önce yazdığım bu yazıda bir resmi koymayı unutmuşum, bu soruyu sorarak bunu bulmuş oldunuz, resmi ekledim ve yazıyı güncelledim :)

      “Faremizin imlecini char aOhhhhYourSkill[] üzerine getirdikten sonra x tuşuna basarak bu değişkeni çağıran kod parçasına gidelim.” cümlesinin altındaki yeni eklediğim ikinci resme baktığınızda nasıl bulduğumu görebilirsiniz.

Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like
Read More

e-Devlet Hacklendi mi?

If you are looking for an English version of this article, please visit here. Öncelikle yazının sonunda söyleyeceğimi başta söyleyeyim, “Hayır, hack-len-me-di!” Peki bu durumda vatandaş olarak rahat bir nefes alabilir misiniz ? Maalesef hayır. Bunun sebebini de yazının devamında okuyabilirsiniz. Zaman zaman hortlayan “e-Devlet Hacklendi!”, “e-Devlet verileri çalındı!”, “85…
Read More
Read More

WhatsApp Dolandırıcıları

If you are looking for an English version of this article, please visit here. Başlangıç Son günlerde hemen hemen WhatsApp uygulaması kullanan herkesi rahatsız eden yabancı cep telefonu numaralarından gelen çağrılardan, mesajlardan ben de yakın zamanda nasibimi aldım ve tabii ki diğer dolandırıcılıklarla ilgili yazılarımda (Kripto Para Dolandırıcıları, LinkedIn Dolandırıcıları,…
Read More
Read More

LinkedIn Dolandırıcıları

If you are looking for an English version of this article, please visit here. Uzun yıllardan beri sosyal ağları ve medyayı etkin kullanan bir siber güvenlik araştırmacısı olarak bağlantılarım arasında yer alanlarınız özellikle hafta içi LinkedIn ve Twitter üzerinden okuduğum ve beğendiğim siber güvenlik makalelerini, haberleri paylaştıklarımı farkediyorlardır. Twitter hesabımın…
Read More
Read More

Bad Bad USB

If you are looking for an English version of this article, please visit here. Her yıl, Ağustos ayında, ABD’nin Las Vegas kentinde düzenlenen geleneksel Black Hat Bilgi Güvenliği Konferansı‘nın sonuncusunda, Karsten NOHL ve Jakob LELL adındaki iki araştırmacı, BadUSB adında dikkat çekici bir sunuma imza attı. Bu sunumda kısaca, USB’de…
Read More