Tersine Mühendislik İçin Hangi Araçlar Kullanılır?

Tersine mühendislik konusunda çok tecrübeli değilim. Hatta hobi olarak bile yapıyorum diyebilirim. Tamamen keyfi olarak yaptığım bu işte kullandığım araçlar hakkında yeni başlayacaklara bir fikir olması açısından bu yazıyı yazıyorum. (Çok zaman ayırdığım bir hobim olmadığı için bazen bu popüler araçların adını dahi unutabiliyorum 😂

Genel olarak, başlangıç noktasında WireShark ya da TCPDump kullanarak network üzerinde uygulamanın hangi IP adresleriyle ya da URLler ile etkileşime girdiğini kontrol ediyorum.

WireShark ve TCPDump hakkında hiçbir bilginiz yok ise; network trafiğini yakalayıp analiz yapmanıza olanak tanıyor diyebilirim.

WireShark kolay kullanım sağlayan bir arayüze sahip, aynı zamanda terminal üzerinde de çalışabiliyor. TCPDump ise aslında duruma göre, hemen bakıp çıkacağım bir şey olduğu zaman başvurduğum bir araç. Her ikisi de temelde aynı işleri yapıyor olsa da; Başlangıç açısından WireShark kullanımını daha doğru buluyorum.

Eğer veri gönderdiğimiz alan adının IP adresi Cloudflare üzerinde proxy ile korunuyor ise, Censys ya da Shodan üzerinden kontrollerimi gerçekleştiriyorum. Ardından uygulamanın, gönderip aldığı payloadları inceleyerek, hatta bir takım denemeler yaparak SQL injection testiyle başlıyorum aslında.

Censys ve Shodan ise, internet üzerinde yayın yapan servislerin keşfini yapmamızı sağlayan arama motorları gibidir. (Gibisi fazla sanırım)

Bir IP ya da alan adına ait hangi servislerin, hangi portlar üzerinden yayın yaptığını analiz etmemizi sağlıyor basitçe. Pek tabii yaptıkları iş bu kadar değil ancak basitçe anlatmam gerekirse durum bundan ibaret.

Sonrasında uygulamanın kaynak kodunu görüntülemek için Ghidra ile uygulamayı açmaya çalışıyorum. Ancak eğer uygulama .NET ile yazılmış ise ILSpy isimli aracı kullanarak daha rahat şekilde okumaya başlayabiliyorum.

Ghidra, NSA tarafından geliştirimiş ve açık kaynaklı bir tersine mühendislik aracı olarak ilk keşfettiğim araçlardan biri. Bilgisayarınıza indirip, kurulumunu gerçekleştirdikten sonra; Ghidra’yı başlatıp yeni bir proje oluşturuyoruz ve analiz etmek istediğimiz dosyaları üzerine sürükleyip bırakıyoruz. Sonrasında analizi başlatıyoruz ve Ghidra’nın işini yapmasını bekliyoruz.

Sonrasında YouTube ya da Google üzerinden neyi nasıl yapmamız gerektiğine her defasında bakıyoruz. 😂

ILSpy’da Ghidra ile benzer işlemleri yapıyor olsa da; .NET uygulamalarında bir tık daha iyi kod okuması yapmamıza olanak sağlıyor. Şu ana kadar 2-3 uygulama için kullandım ve sonuçlar beklediğimden iyiydi. Ancak her .NET uygulaması için aynı sonuçları verir mi, orasını bilmiyorum.

Aslında tüm niyetim çoğu zaman kendimi güvene almak diyebilirim. Kullandığımız uygulamaların neredeyse bir çoğunun nereye ne istek attığını, hakkımızda hangi verileri, nerelere gönderdiği konusunda çok kısıtlı bilgiye sahibiz.

Bu toolları kullanarak aslında gelen-giden istekler konusunda çok daha bilgi sahibi olabiliyoruz, gerekirse bu veri akışını engelleme seçeneğine sahip olabiliyoruz.

Bahsi geçen araçların özetini de şöyle aşağıya doğru bırakayım;

Bu uygulamarlın bazıları ileri seviye bilgi gerektirse de; tecrübesiz biri olarak işime yarayacak şekilde kullanım sağladığımı söyleyebilirim.

Yeni başlayan birine sizin tavsiyeleriniz neler olurdu? Hangi araçları kullanıyorsunuz ve neden? Yorumlarda buluşalım!

Categories: ,