Ulusal Güvenlik Ajansının Programı!

RageUnseen

Adanmış Üye
29 Ağu 2015
6,891
240
İstanbul
NSA Ulusal Güvenlik Ajansının Programı!

Ghidra.png




Merhabalar bugün sizlere NSA'nın açık olarak topluma sızdırdığı bir tersine mühendislik programından bahsedeceğim,"NSA(National Security Agency)"
yani ulusal güvenlik ajansı kısaca bir istihbarat birimi olarak geçmekte,konuya ufaktan geçelim ve konuyu okuduktan sonra beğeni ve yorumlarınızı eksik etmeyin lütfen.



GHIDRA Nedir?



NSA yani Ulusal Güvenlik Ajansı tarafından geliştirilen bir tersine mühendislik yazılımıdır,geçerli olduğu platformlar sırasıyla Linux-MacOs-Windows
üzeri kurulabilen platformlardır,bu platformlar üzerine kurulan bu program yazılan bir programın C ve Assembly kodlarını incelememize yarar ve incelemek
için bizlere gerekli tooları verir. Bu tür araçlar oluşturulan programlar da ki kodları nasıl çalıştığını bizlere göstermekte,sistemler de ki açıkları bizlere
net bir halde göstermekte. Bu program hack işlerine yeni girmiş kişiler tarafından kullanılabilmekte,programın ücretsiz olması da ayrı bir güzelliği tabi ki.
Çoğu kişi windows üzerine değil de Linux üzerine kurulmasını tavsiye eder sebebi ise programın NSA tarafından yayınlanması güven kaybı oluşturuyor fakat çoğu kullanıcı
Windows üzerinden devam etmekte. Bu Link üzerinden programı ücretsiz şekil de edinebilirsiniz.



JDK Nedir?



GHIDRA programını indirdikten sonra elbette bilgisayarımız da bulunması gereken bir program var,GHIDRA direkt olarak .exe uzantılı inmiyor, GHIDRA bizlere .bat
uzantılı geldiği için JDK ile onu çalıştırmamız gerekiyor. Gelelim GHIDRA programını kurmak için bize yardımcı olması gereken programın ne olduğuna ne işe yaradığına.
JDK yani İngilizce açılımı Java Development Kit Türkçesi ise Java Geliştirici Kiti olmakla beraber bu program java üzeri geliştirmeler yapılmasını isteyen Developerların
kendini geliştirmeleri için sahip olması gereken bir uygulama. Bu uygulamayı da indirdikten sonra GHIDRA kurulumuna devam edebiliriz, Bu Link
üzerinden indirebilirsiniz.



JDK İndirme ve Kurulumu



- İlk olarak her hangi bir tarayıcıyı açıyoruz ben opera kullanıyorum bu nedenle onun üzerinden anlatacağım,ilk olarak Opera arama motoruna
JDK Download yazıyoruz ve çıkan ilk link tıklayıp giriyoruz.



5lbPcA.png


- Sayfayı aşağıya çekip Java'nın en güncel sürümünü indiriyoruz,bunun için JDK Download yazan yere tıklıyoruz.



5lbPcA.png


- Bize yönlendiren sayfanın biraz daha aşağısına indirip Java'nın Windows uyumlu sürümünün üstüne geliyoruz ve
"jdk-15.0.1_windows-x64_bin.exe" yazan yere tıklıyoruz,şunu eklemek istiyorum bu programın sadece 64 uyumlu olması gerçekten kötü bir
durum fakat 32'ler üzerinde de çalışabilir deneyebilirsiniz. Program boyutu 159.69 MB.



5lbPcA.png


- Ardından önümüze açılan ufak pencereye bakıyoruz ve üstte yazan "I reviwed and accept the Oracle Technology Network License Agreement for Oracle Java SE"
kısmına bir tık atıyoruz bunun neden Oracle'ın lisans sözleşmesine onay vermemiz,ardından altta yazan "Download jdk-15.0.1_windows-x64_bin.exe" kısmına tıklıyoruz.



5lbPcA.png


- Tıkladıktan sonra Opera bize programı nereye yüklemek istediğimiz için bir seçenek sunuyor,ben Masaüstüne direkt olarak gözüksün diye yüklemek istediğimden
"Masaüstünü" seçip,dosya adından emin olup,"Kaydet" diyoruz.



5lbPcA.png


- Ardından Opera da sağ üstte bulunan "İndirmeler" kısmına düşen bu uygulamanın yüklenmesini bekliyoruz.



5lbPcA.png


- Program Masaüstüne indikten sonra direkt olarak kurulum bölümüne geçecektir,indirmeye devam etmek için "Çalıştır" diyoruz.



5lbPcA.png


- Ardından programın bize vermiş olduğu pencere de "Preparing to install" yani indirmek için hazırlanıyor kısmını bekliyoruz.



5lbPcA.png


- Program karşımıza Hoş Geldin ekranı çıkarıyor,tekrardan indirmeye devam etmek için "Next>" kısmına basıyoruz.



5lbPcA.png


- Programın bizim karşımıza çıkardığı bu pencere de programın yüklenmesi için izlendiği yolu iyi seçmemiz gerekiyor ve bu izlenen yolu
unutmamamız gerekiyor nitekim GHIDRA uygulamasını çalıştırırken .bat üzerinden CMD açtığı için bazen Java JDK otomatik olarak yönlendirmiyor,
yönlendirmediği için komutu kendimiz vermemiz gerekiyor,bu nedenle yüklenme yolunu iyi bilmemiz lazım ki CMD üzerinden verdiğimiz komut ile
programı açılışa yönlendirebilelim. "Change" kısmından yüklenme yerini değiştirebilirsiniz,eğer istemiyorsanız programı indirmek için "Next"
butonuna basabilirsiniz.



5lbPcA.png


- Programın tekrardan karşımıza çıkardığı pencere de bekliyoruz,bu işlem 3-5 dk sürebilir HDD veya kullandığınız SSD'nin sağlık durumuna bağlı.
Bu arada SSD veya HDD'nin sağlık durumuna bakmak için açmış olduğum bu konuyu da inceleyebilirsiniz



5lbPcA.png


- Bu pencere de eğer ki "Next Steps" derseniz eğer,program sizi Java'nın diğer geliştirici seçeneklerinin sunduğu bir siteye yönlendirecektir,bizim buna ihtiyacımız
olmadığını için "Close" diyoruz.



5lbPcA.png




GHIDRA İndirme ve Kurulumu



- İlk olarak bu verdiğim linki kullandığınız tarayıcının arama kısmına yapıştırıyorsunuz ve ardından
Ekrana açılan pencerede ki "Download Ghıdra v9.2" kısmına tıklıyoruz ve programı indirmek için ilk adımımızı atıyoruz.



5lbPcA.png


- Daha sonra yukarıda da dediğim gibi Opera'nın sağ üstte verdiği "İndirmeler" kısmından programın inmesini bekliyoruz.



5lbPcA.png


- .zip Uzantısı ile inen RAR dosyasının için de bulunan "ghidra" adlı programın klasörünü masaüstüne sürüklüyoruz,bunun nedeni
.zip içerisin de bu programın içinde ki .bat klasörlerini masaüstüne çıkarmak.



5lbPcA.png


- Masaüstüne çektiğimiz klasörü çift tıklayıp açıyoruz ve için de bulunan "ghidraRun.bat" uzantısına sağ tıklıyoruz ve ardından
"Yönetici olarak çalıştır" diyoruz. Eğer böyle demezsek yukarıda da belirttiğim gibi program otomatik olarak yönlendirmez ve CMD
üzerinden kendimiz komut ile yönlendirmek zorunda kalırız.



5lbPcA.png


- CMD ekranı açıldıktan sonra bir süre bekliyoruz eğer otomatik açılmaz ise CMD'ye JDK programını az önce kurarken yönlendirdiğimiz yolu
CMD komut satırına yazıyoruz benim yönlendirdiğim yol "C:\Program Files\Java\jdk-15.0.1" idi. Bunu CMD komut satırına yazdıktan sonra
"Enter" basarsanız programa yine sizi yönlendirecektir,burada dikkat etmeniz nokta JDK adlı uygulamanın yönlendiği yol. Ben yönetici olarak çalıştırdığım
için JDK programına otomatik yönlendirme yaptı, GHIDRA kurulumuna devam etmek için ekrana çıkan pencere de "I Agree" kısmına tıklayıp devam ediyoruz.



5lbPcA.png


- Ardından program çalışmaya başlıyor,bu ekranda bir süre bekliyoruz yukarıda da belirttiğim gibi bekleme süresi HDD veya SSD durumuna göre değişebilir.



5lbPcA.png




GHIDRA Kullanım Anlatımı



- Bekleme ekranı geçtikten sonra program karşımıza açılıyor ve bizim karşımıza bir bildiri ekranı,bir nevi öğretici ekranı koyuyor bunu eğer okuyup öğrenmek istiyor iseniz
"Next To" kısmına basıp devam edebilirsiniz ben uzatmamak adına "Close" diyorum.



5lbPcA.png


- Çalışmaya başlamadan önce yeni bir proje oluşturmamız gerekli,bunun için "File" kısmına geliyoruz ve "New Project" kısmına tıklıyoruz, eğer ki program içi
kısa yol tuşlarını biliyorsanız kısaca "CTRL+N" kısmına basarak yeni bir proje oluşturabilirsiniz.



5lbPcA.png


- Devamın da karşımıza çıkan ekran da eğer tek başımıza çalışıcak isek bir ekip çalışmamız yok ise "Non-Shared Project" kısmına tıklıyoruz,eğer bir ekip ile
çalışmak istiyorsanız "Shared Project" kısmına tıklayabilirsiniz ben tek çalışacağım için "Non-Shared Project" kısmına tıklayıp "Next>>" kısmına tıklayıp devam
ediyoruz.



5lbPcA.png


- Karışımıza çıkmış olan "Select Proje ********" yani Proje Lokasyonunu Seçme kısmına geldikten sonra "Project Directory" kısmı ilk seçeneğimiz oluyor "..." kısmına tıklayıp,
projemizi kurmak istediğimiz yeri seçebiliriz ben C:'de bulunan "Users" yani kullanıcılar kısmını seçiyorum daha sonra "Project Name" kısmına tıklayıp projeme bir isim koyacağım,
ben ismi "thtprojesi" olarak seçiyorum ve proje oluşturmayı bitirmek için "Finish" diyorum.



5lbPcA.png


- Sıra geldi en yukarı da bahsettiğim ".exe" adlı istediğimiz bir programı dosya olarak import etmemiz yani içeri aktarmamız gerekli bunun için "File" kısmına geliyoruz ve
"Import File" yani dosyayı içeri aktar diyoruz. İsterseniz kısayol tuşu ile program açık iken "L" tuşuna basıp bu klasör yolunu açabilirsiniz.



5lbPcA.png


- Ardından .exe uzantımızı seçmek için her hangi bir .exe uzantısını seçiyoruz, "File Name" kısmında bu uzantının seçili olduğundan emin olduktan sonra "Select File To İmport"
yani içeri aktarmak için seç kısmına tıklıyoruz.



5lbPcA.png


- Programın bizim karşımıza çıkardığı ekran .exe uzantılı seçtiğimiz programın üzerinde bilgi edinmek için,işlemler yapabilmek için,açıklarını bulabilmek için çıkan bir pencere,
tersine mühendisliğe devam etmek için "Options..." kısmına basıyoruz.



5lbPcA.png


- "Load External Libraries" kısmına tıklıyoruz bunun anlamı türkçe karşılığı Dış Kitaplıkları Yükle olmakta,buna tik attığımız da program üzerinde bilgiler de oynama yapabilmek veya
program hakkında ayrıntılı kodlama bilgilerini görmeyi bizim için kolaylaştıracaktır, "OK" diyoruz ve devam ediyoruz.



5lbPcA.png


- "Options" kısmından ayarlarımızı da yaptığımıza göre Tersine Mühendislik işlemine devam etmek için "OK" diyoruz.



5lbPcA.png


- Ardından GHIDRA bizim için dosya içi ".dll" uzantılarını ve program içi yazılım bilgilerini bizlere gösterebilmesi için Import etmeyi yani
içeri aktarmayı devam ettiriyor bir müddet burada bekliyoruz.



5lbPcA.png


- Karşımıza çıkan "Import Resuls Summary" yani Sonuç Özetini İçe Aktar ekranı karşımıza çıkıyor,bu ekran program hakkında yüzeysel bilgileri gün yüzüne çıkaran bir
penceredir,program hakkında genel bilgileri sunar. "OK" diyip pencereyi kapatıyoruz.



5lbPcA.png


- Programın penceresin de gördüğünüz gibi kullanıcı dll'i ve program hakkında ki kernel.dll'i bulunmakta. Bizim işimiz tersine mühendislik için "FastClicker.exe" uzantısı ile olduğu için
"FastClicker.exe" adlı dosyayı seçip GHIDRA amblemi'nin üzerine sürüklüyoruz.



5lbPcA.png


- Bunu yaptıktan sonra program karşımıza böyle bir simge çıkaracaktır,bunun anlamı GHIDRA'nın için de buluna TOOL'u kullandığımız ve
aktif hale getirdiğimizin göstergesidir.



5lbPcA.png


- Bunu yaptıktan sonra TOOL karşımıza gördüğümüz gibi bir bildirim çıkarıyoruz bu bildirim de "FastClicker.exe has not been analyzed. Would you like to analyze it now?" gibi bir bildirim verdi
bunun anlamı şuan bu .exe uzantısı analiz edilmiyor bunu analiz etmek ister misin demek istiyor. Biz de zaten başından beri bunu istediğimiz için "Yes" diyoruz ve devam ediyoruz.



5lbPcA.png


- Bunları yaptıktan sonra program karşımıza "Analysis Options" ekranı verecektir bunun anlamı Analizörler ayarları, bu pencere bize iletişim kutusunun tüm analizörleri ve listesini verir,bunlara işlem sunma şansı da bizlere sunar.
Biz bu pencerenin sol kısmın da bulunan "Analyzers" penceresin de bulunan istediğimiz bir seçeneğe göz atabiliriz benim seçtiğim seçenek "Create Address Tables" yani Adres Tabloları Oluştur seçeneği,bunun üzerine bir tık yaptığımız zaman ekranın sağ tarafın da
bulunan kısma program hakkında "Description" yani açıklama ekranı veriyor alt tarafında da "Options" yani ayarlar seçeneklerini veriyor,biz bunları ellemeyip alt kısım da bulunan "Analyze" kısmına
tıklıyoruz.



5lbPcA.png


- Ardından programın en alt sağ kısmın da "Analyze" ilerlemesini görmekteyiz,burada program size her analizörün ilerlemesini gösterir,
biz bir müddet bekliyoruz.



5lbPcA.png


- Bu ilerleme bittikten sonra karşımıza açılan pencere "There were warnings/errors issued during analysis." yani analiz sırasın da verilen uyarılar ve
hatalar bulunmakta,alt taraftan gerekli bilgileri edinebilirsiniz biz "OK" diyip devam ediyoruz.



5lbPcA.png


- Analiz ve analizör işlemlerimiz bitti şimdi program da bulunan 3 farklı pencere gözükmekte gördüğünüz gibi,bunlar "Program Trees", "Symbol Tree" ve "Data Type Menager",
gelin bunları tanıyalım.



5lbPcA.png


- İlk penceremiz olan "Program Trees" bu bölüm programın yapısını bizlere göstermekle kalmayıp program da işlemler yapmak için kullanılan bölgedir.
Burada program hakkında "headers,text,rdata,data,rsrc,reloc ve debug data" hakkında C ve Assembly verileri gözükebilir.



5lbPcA.png


- Bir sonra ki pencere yani ikinci penceremiz "Symbol Tree" yani sembol ağacı,burası program hakkında ki sembolleri bulmamıza ve bu semboller hakkında bilgileri aramımıza
yardımcı olur "Filter" kısmından istediğimiz aramayı yapabiliriz. Burada ımports,exports,functions,labels,classes,namespaces gibi veriler bulunmakta.



5lbPcA.png


- Sırada ki penceremiz yani son ve üçüncü penceremiz olan "Data Type Manager" yani veri tipi yöneticisi kısmı,burada ki bölüm de bir uygulama oluşturabiliriz veyahut
veri türlerini teker teker bulabiliriz. Burada görüldüğü üzere BuiltInTypes,FastClicker.exe ve windows_vs12_32 kısımları bulunmakta.



5lbPcA.png


- İsterseniz program üzerinde "G" tuşuna basıp adres aramak için bir "finder" açabilirsiniz. Aramak istediğiniz adresi yazıp "OK" kısmına tıklarsanız Assembly pencersin de bulunan,
adrese sizi yönlendirecektir.



5lbPcA.png


- Tekrardan program üzerine gelip "F1" tuşuna basarsanız eğer GHİDRA'nın yardımcı programı açar,sol tarafta ki menü de bu yardımcı menü için istediğiniz
bilgiye sahil olabilirsiniz.



5lbPcA.png


- Konunun sonuna gelmekle beraber son olarak programda ki ekranda görüldüğü üzere Sol tarafta ki pencere "Assembly" penceresi olmakta,sağ tarafta ki pencere ise
C için "Decompiler" yani derleyici penceresi bulunmakta.



5lbPcA.png
 
Son düzenleme:

Rumexus

Kıdemli Üye
26 Ocak 2016
2,157
322
Cevap: Ulusal Güvenlik Ajansının Yayınladığı Tersine Mühendislik Programı!

Elinize ve emeğinize sağlık hocam baya detaylı ve okuması keyifli bir konu olmuş.
 

'Türk

Moderasyon Ekibi Direktör Yard.
5 May 2020
2,296
1,291
K E R K Ü K
Cevap: Ulusal Güvenlik Ajansının Yayınladığı Tersine Mühendislik Programı!

normalde böyle uzun konuları okurken sıkılırız fakat sizin konunuzu okurken gram sıkılmadım hocam elinize sağlık harika olmuş.
 

LosT

Yaşayan Forum Efsanesi
5 Şub 2015
8,120
31
-
Cevap: Ulusal Güvenlik Ajansının Yayınladığı Tersine Mühendislik Programı!

Ellerine sağlık kaliteli ve uzun bir konu :)
 

Warez7

Uzman üye
19 May 2018
1,425
4
Cevap: Ulusal Güvenlik Ajansının Yayınladığı Tersine Mühendislik Programı!

Elinize Emeğinize Sağlık Hocam:)
 

ѕeleɴια

Kıdemli Üye
18 May 2018
2,620
904
ZYZZ
Cevap: Ulusal Güvenlik Ajansının Yayınladığı Tersine Mühendislik Programı!

Hocam ellerinize sağlık güzel konu teşekkirler
 

RageUnseen

Adanmış Üye
29 Ağu 2015
6,891
240
İstanbul
Bütün hocalarıma ve değerli dostlarıma,katkılarından ve teşekkürlerinden dolayı ayrıca teşekkür edeyim.
 

Sort

Katılımcı Üye
14 Eki 2019
968
79
Cevap: NSA Ulusal Güvenlik Ajansının Programı!

Hocam Buram Buram Emek Kokuyor.Elinize Sağlık
 
Ü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.