Parola Saldırısı Ve Türleri
Parola saldırısı, bir kişi veya kurumun kullandığı şifreli hesap veya sistemlere izinsiz erişim sağlamak için yapılan bir siber saldırı türüdür. Parola saldırısı yapan saldırganlar, karşı tarafın şifresini tahmin etmek, kırmak veya çalmak için çeşitli yöntemler kullanır. Parola saldırısı sonucunda, saldırganlar karşı tarafın kişisel veya kurumsal verilerine, finansal kaynaklarına, sosyal medya hesaplarına veya diğer önemli bilgilerine ulaşabilir. Bu da karşı taraf için maddi ve manevi zararlara yol açabilir.
Parola saldırısı türleri şunlardır:
- Çevrimiçi parola saldırıları: Bu tür saldırılarda, saldırganlar karşı tarafın hesap veya sistemine doğrudan bağlanarak şifreyi denemeye çalışır. Bunun için çeşitli araçlar, programlar veya web siteleri kullanabilirler. Örneğin, kaba kuvvet saldırısı, saldırganın bütün olası şifre kombinasyonlarını sırayla denediği bir çevrimiçi parola saldırısı türüdür. Sözlük saldırısı, saldırganın yaygın olarak kullanılan kelimeleri veya sözlükteki kelimeleri denediği bir çevrimiçi parola saldırısı türüdür. Sosyal mühendislik saldırısı, saldırganın karşı tarafın şifresini öğrenmek için onunla iletişime geçtiği veya onun hakkında bilgi topladığı bir çevrimiçi parola saldırısı türüdür. Çevrimiçi parola saldırılarına karşı alınabilecek önlemler arasında, şifre giriş sayısını sınırlamak, şifre değiştirme zorunluluğu getirmek, iki faktörlü doğrulama kullanmak, güçlü ve karmaşık şifreler oluşturmak, şifre yöneticisi kullanmak gibi yöntemler sayılabilir.
- Çevrimdışı parola saldırıları: Bu tür saldırılarda, saldırganlar karşı tarafın hesap veya sistemine doğrudan bağlanmak yerine, onun şifreli verilerini veya parola özetlerini (hash) başka bir yoldan ele geçirir. Bunun için çeşitli açıklardan, virüslerden, zararlı yazılımlardan veya fiziksel yollarla yararlanabilirler. Örneğin, parola kırma saldırısı, saldırganın ele geçirdiği parola özetlerini kırmak için çeşitli araçlar veya teknikler kullandığı bir çevrimdışı parola saldırısı türüdür. Parola çalma saldırısı, saldırganın karşı tarafın şifresini klavye kaydedici, ekran kaydedici, sahte web sitesi, e-posta, telefon gibi yöntemlerle çaldığı bir çevrimdışı parola saldırısı türüdür. Çevrimdışı parola saldırılarına karşı alınabilecek önlemler arasında, şifreli verileri veya parola özetlerini güvenli bir şekilde saklamak, şifreleme yöntemlerini güncel tutmak, antivirüs programları kullanmak, sahte web sitelerine veya e-postalara dikkat etmek, fiziksel güvenliği sağlamak gibi yöntemler sayılabilir.
- Teknik olmayan parola saldırıları: Bu tür saldırılarda, saldırganlar karşı tarafın şifresini öğrenmek için teknik olmayan yöntemler kullanır. Bunun için karşı tarafın psikolojik, duygusal veya sosyal durumundan yararlanabilirler. Örneğin, omuzdan bakma saldırısı, saldırganın karşı tarafın şifresini girdiği sırada onun omzundan bakarak gördüğü bir teknik olmayan parola saldırısı türüdür. Çöp kutusu saldırısı, saldırganın karşı tarafın çöp kutusundan şifre içeren belgeleri veya notları bulduğu bir teknik olmayan parola saldırısı türüdür. Şantaj saldırısı, saldırganın karşı tarafı tehdit ederek veya rüşvet vererek şifresini vermesini sağladığı bir teknik olmayan parola saldırısı türüdür. Teknik olmayan parola saldırılarına karşı alınabilecek önlemler arasında, şifreyi girdiğinde etrafı kontrol etmek, şifre içeren belge veya notları imha etmek, şifreyi kimseyle paylaşmamak, şantaj veya rüşvete boyun eğmemek gibi yöntemler sayılabilir.
Çevrimiçi Parola Saldırıları
Çevrimiçi parola saldırıları, bir saldırganın bir sisteme veya uygulamaya giriş yapmak için parolaları tahmin etmeye çalıştığı bir tür siber saldırıdır. Saldırgan, sistemin çalıştığı sırada parola denemeleri yapabilir, önceden hazırlanmış kelime listelerini kullanabilir veya ağ trafiğini izleyerek parolaları yakalayabilir. Bu saldırıların amacı, sistemin parolasını kırmak ve yetkisiz erişim elde etmektir.
Kali Linux, parola saldırıları için popüler bir işletim sistemidir. Kali Linux, birçok farklı araç içerir ve bunlara kolayca erişilebilir. Çevrimiçi parola saldırıları için, Uygulamalar, Kali Linux, Password Attacks, Online Attacks menüsünden araçları seçebilirsiniz. Bu menüde, farklı protokolleri ve hedefleri destekleyen birçok araç bulunur. Örneğin:
- acccheck: Windows SMB servisine karşı parola saldırısı yapar.
- burpsuite: Web uygulamalarına karşı parola saldırısı yapar.
- cewl: Bir web sitesinden kelime listesi oluşturur.
- hydra: Çoklu protokollere karşı parola saldırısı yapar.
- findmyhash: Çevrimiçi veritabanlarını kullanarak şifreli parolaları çözer.
- ncrack: RDP, SSH, Telnet gibi servislere karşı parola saldırısı yapar.
- medusa: Hydra'ya benzer şekilde, çoklu protokollere karşı parola saldırısı yapar.
Bu araçları kullanmak için, saldırı türünü, hedefi, kelime listesini ve diğer parametreleri belirlemeniz gerekir.
Çevrimiçi parola saldırıları, siber güvenlik açısından ciddi bir tehdittir. Bu yüzden, güçlü ve benzersiz parolalar kullanmak, iki faktörlü kimlik doğrulama etkinleştirmek ve güvenilir olmayan ağlarda VPN kullanmak gibi önlemler almak önemlidir. Ayrıca, bilgisayarınızda güncel bir kötü amaçlı yazılım koruma programı çalıştırmak da faydalı olabilir.
Kaba Kuvvet Saldırıları
Kaba kuvvet saldırıları, bir siber saldırganın bir sisteme veya servise erişmek için olası tüm kullanıcı adı ve parola kombinasyonlarını denediği saldırı türleridir. Bu saldırılar, saldırganların sistemi ele geçirmek, veri çalmak, fidye istemek veya itibar zedelemek gibi amaçlarla yapabilirler. Kaba kuvvet saldırıları, saldırganların kolayca uygulayabildikleri ve düşük maliyetli oldukları için çok yaygındır. Ancak, parolanın uzunluğu ve karmaşıklığı arttıkça, saldırının başarı şansı azalır ve daha fazla zaman ve kaynak gerektirir.
Saldırganlar, kaba kuvvet saldırılarını kolaylaştırmak için çeşitli araçlar kullanabilirler. Bunlardan biri de hydra aracıdır. Hydra aracı, Kali Linux işletim sisteminde bulunan bir kaba kuvvet saldırısı aracıdır. Hydra aracı, FTP, SMTP, POP3, SSH, RDP, TELNET gibi farklı protokolleri destekler ve birden fazla hedefe aynı anda saldırabilir. Hydra aracı, kullanıcı adı ve parola için hazır veya özel olarak oluşturulmuş kelime listeleri kullanır. Kelime listeleri, parola olabilecek tüm karakter kombinasyonlarını içeren dosyalardır. Hydra aracı, kelime listelerindeki değerleri tek tek deneyerek, doğru olanı bulmaya çalışır. Eğer kelime listesi, sistemin parolasını içermiyorsa, saldırı başarısız olur.
Hydra aracını kullanmak için, terminalden bazı parametrelerle birlikte hydra komutunu yazmak gerekir. Hydra komutunun yapısı şöyledir:
hydra -l <kullanıcı adı> -P <parola> <ip adresi> <servis>
Bu komutta, -l parametresi, kullanıcı adının bilindiğini belirtir. -P parametresi, parola için kullanılacak kelime listesinin adını belirtir. <ip adresi> parametresi, saldırı yapılacak sistemin ip adresini belirtir. <servis> parametresi, saldırı yapılacak protokolü belirtir. Örneğin, ftp://192.168.0.1 şeklinde yazılır.
Hydra aracının diğer parametreleri şunlardır:
-L: Kullanıcı adı için kullanılacak kelime listesinin adını belirtir.
-p: Parolanın bilindiğini belirtir.
-V: Denenen kombinasyonları ekrana yazdırır.
-f / -F: Kullanıcı adı ve parola bulunduğunda işlemi durdurur.
-s Port Numarası: Servisin çalıştığı port numarasını belirtir.
-e nsr: Boş parola veya kullanıcı adı ile parolanın aynı olduğu durumları denemek için kullanılır.
-h: Hydra aracının tüm parametrelerini ve görevlerini gösterir.
1. UYGULAMA
SSH servisine saldırı yapmak için aşağıdaki adımları takip edebilirsiniz:
1. Adım: Hydra aracını çalıştırmak için, Kali Linux işletim sisteminde Uygulamalar menüsünden Kali Linux, Password Attacks, Online Attacks, hydra seçeneklerini sırasıyla tıklayın. Bu şekilde, Hydra aracının terminal ekranı açılacaktır.
2. Adım: Parola saldırısı için ihtiyaç duyulan kelime listesini, yazı hazırlama editörünü kullanarak (Vim, Nano vb.) içinde aşağıdaki parolalar ve kullanıcı adları olacak şekilde iki farklı dosya hâlinde hazırlayın:
- users.txt dosyası: Bu dosyada, SSH servisine giriş yapabilecek olası kullanıcı adlarını yazın. Örneğin, root, admin, user, guest gibi. Her satıra bir kullanıcı adı yazın. Bu dosyayı masaüstüne kaydedin.
- pass.txt dosyası: Bu dosyada, SSH servisine giriş yapabilecek olası parolaları yazın. Örneğin, 1234, password, qwerty, 12345678 gibi. Her satıra bir parola yazın. Bu dosyayı da masaüstüne kaydedin.
3. Adım: Kali işletim sistemi terminalini kullanarak aşağıda belirtilen komutları girin ve kelime listesinin doğruluğunu kontrol edin:
- cd Desktop komutuyla masaüstüne gidin.
- Is komutuyla masaüstündeki dosyaları listeyin. users.txt ve pass.txt dosyalarının olduğundan emin olun.
- cat users.txt komutuyla users.txt dosyasının içeriğini görüntüleyin. Kullanıcı adlarının doğru yazıldığından emin olun.
- cat pass.txt komutuyla pass.txt dosyasının içeriğini görüntüleyin. Parolaların doğru yazıldığından emin olun.
4. Adım: Hydra aracına kelime listesinin kontrolünü sağladıktan sonra yapılacak saldırı ile ilgili komutu girin:
- hydra -L users.txt -P pass.txt 192.168.138.128 ssh komutuyla, Hydra aracını kullanarak, users.txt dosyasındaki kullanıcı adları ve pass.txt dosyasındaki parolalar ile 192.168.138.128 IP adresine sahip cihazın SSH servisine saldırı başlatın. Bu komutta, -L parametresi kullanıcı adı listesini, -P parametresi parola listesini, ssh parametresi ise saldırılan servisi belirtir.
5. Adım: Saldırı sonucunda kelime listesinde doğru kullanıcı adı ve şifresi eşleştiğinde saldırı başarılı olacaktır. Saldırı sonucunu görüntülemek için, terminal ekranında Hydra aracının verdiği çıktıyı inceleyin. Eğer saldırı başarılı olursa, Hydra aracı size doğru kullanıcı adı ve parola kombinasyonunu gösterecektir. Örneğin, [22][ssh] host: 192.168.138.128 login: root password: 1234 gibi. Bu şekilde, SSH servisine giriş yapabileceğiniz bilgileri elde etmiş olursunuz.
Kaba kuvvet saldırılarının gerçekleştirilebileceği araçlardan bir diğeri medusadır. Medusa, kaba kuvvet saldırıları yapmak için kullanılan bir araçtır. Kaba kuvvet saldırısı, bir hedefin parolasını veya kullanıcı adını tahmin etmek için çok sayıda deneme yapmak anlamına gelir. Medusa, birden fazla hedefe aynı anda saldırabilir ve farklı servisler için farklı kelime listeleri kullanabilir. Medusa, Kali Linux işletim sisteminde bulunan bir araçtır. Kali Linux, siber güvenlik testleri yapmak için tasarlanmış bir Linux dağıtımıdır.
Medusa aracını kullanmak için, komut satırında medusa komutunu yazmak ve bazı parametreler belirtmek gerekir. Parametreler, saldırının nasıl yapılacağını belirler. Medusa'nın parametreleri şunlardır:
- -h: Bu parametre, saldırının yapılacağı tek bir hedefin IP adresini veya alan adını belirtir. Örneğin, medusa -h 192.168.138.128 şeklinde yazılırsa, saldırı 192.168.138.128 IP adresine yapılır.
- -H: Bu parametre, saldırının yapılacağı birden fazla hedefin IP adreslerini veya alan adlarını içeren bir dosyanın adını belirtir. Örneğin, medusa -H hedefler.txt şeklinde yazılırsa, saldırı hedefler.txt dosyasındaki her bir hedefe yapılır.
- -u: Bu parametre, saldırıda kullanılacak tek bir kullanıcı adını belirtir. Örneğin, medusa -u root şeklinde yazılırsa, saldırıda root kullanıcı adı kullanılır.
- -U: Bu parametre, saldırıda kullanılacak birden fazla kullanıcı adını içeren bir dosyanın adını belirtir. Örneğin, medusa -U kullanicilar.txt şeklinde yazılırsa, saldırıda kullanicilar.txt dosyasındaki her bir kullanıcı adı kullanılır.
- -p: Bu parametre, saldırıda kullanılacak tek bir parolayı belirtir. Örneğin, medusa -p 123456 şeklinde yazılırsa, saldırıda 123456 parolası kullanılır.
- -P: Bu parametre, saldırıda kullanılacak birden fazla parolayı içeren bir dosyanın adını belirtir. Örneğin, medusa -P parolalar.txt şeklinde yazılırsa, saldırıda parolalar.txt dosyasındaki her bir parola kullanılır.
- -m: Bu parametre, saldırının hangi servise yönelik olduğunu belirtir. Medusa, birçok farklı servise saldırabilir. Örneğin, medusa -m http şeklinde yazılırsa, saldırı HTTP servisine yapılır. Medusa'nın desteklediği servislerin tam listesi için medusa -d komutunu kullanabilirsiniz.
- -b: Bu parametre, saldırı sırasında yapılan işlemlerin ekranda gösterilmesini engeller. Bu sayede, saldırı daha hızlı ve sessiz bir şekilde yapılabilir. Örneğin, medusa -b şeklinde yazılırsa, saldırı sırasında hiçbir çıktı verilmez.
- -d: Bu parametre, medusa aracının desteklediği tüm parametreleri ve servisleri listeler. Bu sayede, medusa aracının nasıl kullanılacağı hakkında bilgi edinilebilir. Örneğin, medusa -d şeklinde yazılırsa, medusa aracının kullanım kılavuzu ekrana yazdırılır.
- -F: Bu parametre, saldırıda başarılı bir şekilde parola veya kullanıcı adı bulunursa, saldırının durdurulmasını sağlar. Bu sayede, gereksiz denemelerden kaçınılır. Örneğin, medusa -F şeklinde yazılırsa, saldırıda ilk başarılı sonuç bulunduğunda saldırı sonlanır.
Medusa aracının kullanımına örnek vermek gerekirse, 192.168.138.128 IP adresindeki HTTP servisine root kullanıcı adıyla saldırı yapmak için şu komut kullanılabilir:
medusa -h 192.168.138.128 -u root -P parolalar.txt -m http
Bu komut, parolalar.txt dosyasındaki her bir parolayı root kullanıcı adıyla deneyerek, HTTP servisine giriş yapmaya çalışır. Eğer başarılı bir giriş yapılırsa, ekrana başarılı olduğu bildirilir. Eğer -F parametresi de eklenirse, ilk başarılı giriş yapıldığında saldırı durur.
2. UYGULAMA
Aşağıdaki işlem adımlarını uygulayarak medusa ile kaba kuvvet saldırısı yapın.
1. Adım: Medusa aracını açmak için, Kali Linux işletim sisteminde Uygulamalar menüsünden Kali Linux, Password Attacks, Online Attacks seçeneklerini takip edin. Sonra medusa seçeneğine tıklayın. Bu, bir terminal penceresi açacaktır.
2. Adım: Medusa aracına saldırı komutunu girmek için, önce kelime listesinin kontrolünü yapın. Kelime listesi, kullanıcı adlarını içeren users.txt ve şifreleri içeren pass.txt dosyalarıdır. Bu dosyaları masaüstünde oluşturduğunuzu varsayıyorum. Saldırı komutu şöyledir:
root@Kali:/Desktop medusa -h 192.168.138.128 -U users.txt -P pass.txt -M ssh -F
Bu komutta, şu parametreleri kullanıyoruz:
- -h 192.168.138.128: Hedef sunucunun IP adresi
- -U users.txt: Kullanıcı adlarını içeren dosya
- -P pass.txt: Şifreleri içeren dosya
- -M ssh: Saldırı yapılacak servis (SSH)
- -F: İlk doğru kullanıcı adı ve şifre bulunduğunda saldırıyı durdur
3. Adım: Saldırı sonucunu görüntülemek için, terminal penceresini izleyin. Medusa aracı, kelime listesindeki her kullanıcı adı ve şifre kombinasyonunu deneyecektir. Doğru kullanıcı adı ve şifre eşleştiğinde, saldırı başarılı olacaktır. Başarılı saldırı sonucunda, terminalde şöyle bir çıktı göreceksiniz:
ACCOUNT FOUND: [ssh] Host: 192.168.138.128 User: root Password: 1234 [SUCCESS]
Bu, hedef sunucunun SSH servisinin kullanıcı adının root ve parolasının 1234 olduğunu gösterir.
Kelime Listesi Oluşturma
Kelime listesi oluşturma, parola kırma gibi güvenlik testlerinde kullanılan bir tekniktir. Bu teknikte, hedefin parolasını veya kullanıcı adını tahmin etmek için olası kelimelerin bir listesi hazırlanır. Bu liste, hedefin kişisel veya kurumsal bilgilerine, internet üzerindeki verilere veya belirli kurallara göre oluşturulabilir.
Kelime listesi oluşturmak için kullanılan araçlardan biri cewl'dir. Cewl, bir web sitesinin içeriğini tarayarak, sitede geçen kelimeleri bir dosyaya kaydeder. Bu sayede, web sitesi ile ilgili kelimelerden oluşan bir liste elde edilir. Cewl, çeşitli parametreler alarak, istenen özelliklerde bir liste oluşturabilir. Bu parametreler şunlardır:
-v: Bu parametre, cewl'in çalışma sürecini daha ayrıntılı olarak gösterir. Bu sayede, hangi kelimelerin listeye eklendiği, hangi kelimelerin atlandığı, hangi web sayfalarının tarandığı gibi bilgiler görülebilir.
-d: Bu parametre, cewl'in web sitesinin kaçıncı seviyesine kadar tarama yapacağını belirler. Örneğin, -d 2 parametresi, web sitesinin ana sayfası ve ana sayfadan bağlantı verilen sayfaları tarar. Daha derin bir tarama için, sayıyı artırmak gerekir.
-w: Bu parametre, cewl'in oluşturduğu kelime listesini kaydedeceği dosya adını belirler. Örneğin, -w liste.txt parametresi, kelime listesini liste.txt dosyasına kaydeder.
-e: Bu parametre, cewl'in web sitesinde bulunan e-posta adreslerini de listeye eklemesini sağlar. Bu sayede, hedefin e-posta adresini veya e-posta adresinde kullanılan kelimeleri bulma şansı artar.
-m: Bu parametre, cewl'in listeye ekleyeceği kelimelerin minimum uzunluğunu belirler. Örneğin, -m 6 parametresi, en az 6 harfli kelimeleri listeye ekler. Bu sayede, çok kısa ve anlamsız kelimelerden kurtulmak mümkün olur.
3. UYGULAMA
Cewl aracını kullanmak için şu adımları izleyin:
1. Adım: Cewl aracını açmak için Kali Linux işletim sisteminde Uygulamalar, Kali Linux, Password Attacks, Online Attacks, cewl yolunu takip edin. Bu size bir komut satırı penceresi açacaktır.
2. Adım: Hedef web adresini ve diğer seçenekleri belirleyin. Örneğin, cewl –d 2 –m 10 https://hedefwebsitesi –w /root/Desktop/zekidünya komutu, hedef web sitesini 2. derinliğe kadar tarayarak en az 10 karakterli kelimelerden oluşan bir sözlük dosyası oluşturur ve bunu zekidünya ismiyle masaüstüne kaydeder. Burada –d seçeneği derinliği, –m seçeneği minimum kelime uzunluğunu, –w seçeneği ise kaydedilecek dosya adını belirtir.
3. Adım: Oluşturulan kelime listesini görüntüleyin. Masaüstünde zekidünya isimli bir dosya oluşmuş olmalıdır. Bu dosyayı bir metin editörü ile açarak içindeki kelimeleri görebilirsiniz.
Çevrimdışı Parola Saldırıları
Çevrimdışı parola saldırıları, bir sistemin parola ve kullanıcı adı bilgilerini sakladığı dosyalara erişerek, bu bilgileri kırmaya çalışan saldırılardır. Bu saldırılar, hedef sisteme doğrudan bağlanmak yerine, saldırganın kendi bilgisayarında veya başka bir yerde gerçekleştirilir. Bu nedenle, çevrimdışı olarak adlandırılır. Sistemde parola ve kullanıcı adı bilgileri, düz metin olarak değil, şifreli veya özetlenmiş olarak saklanır. Şifreleme, bir anahtar kullanarak bir metni gizli bir hale getirme işlemidir. Özetleme ise, bir metni belirli bir uzunlukta ve tek yönlü bir şekilde temsil eden bir değer üretme işlemidir. Özetlenmiş bir değerden, orijinal metni elde etmek çok zor veya imkansızdır. Bu yüzden, parola bilgileri genellikle özetlenmiş olarak tutulur. Çevrimdışı parola saldırılarının üç türü vardır: Kaba kuvvet, sözlük ve rainbow table. Kaba kuvvet saldırısı, tüm olası parola kombinasyonlarını deneyerek, özetlenmiş değerle eşleşen parolayı bulmaya çalışan bir saldırıdır. Sözlük saldırısı, sık kullanılan veya tahmin edilebilir parolaları içeren bir listeyi kullanarak, özetlenmiş değerle eşleşen parolayı bulmaya çalışan bir saldırıdır. Rainbow table saldırısı, önceden hesaplanmış ve özetlenmiş değerler ile parolaları eşleştiren bir tablo kullanarak, özetlenmiş değerle eşleşen parolayı bulmaya çalışan bir saldırıdır. Kali Linux, çevrimdışı parola saldırıları yapmak için birçok araç sunan bir işletim sistemidir. Bu araçlara, Uygulamalar, Kali Linux, Password Attacks, Offline Attacks menüsünden ulaşılabilir. Linux tabanlı işletim sistemlerinde, kullanıcı bilgileri /etc/passwd dosyasında, parola bilgileri ise /etc/shadow dosyasında saklanır. Root kullanıcısı, sistemde en yüksek yetkiye sahip olan kullanıcıdır. Root kullanıcısının parola bilgisi, /etc/shadow dosyasında şifreli veya özetlenmiş olarak verilir. Bu dosyada, her satır bir kullanıcıyı temsil eder ve ":" ile ayrılmış alanlar vardır. Bu alanların anlamları şunlardır:
- İlk alan: Kullanıcı adı
- İkinci alan: Parolanın şifreli veya özetlenmiş değeri
- Üçüncü alan: Parolanın son değiştirildiği tarih (1 Ocak 1970'den itibaren geçen gün sayısı olarak)
- Dördüncü alan: Parolanın değiştirilmesi için gereken minimum gün sayısı
- Beşinci alan: Parolanın değiştirilmesi için gereken maksimum gün sayısı
- Altıncı alan: Parolanın değiştirilmesi için uyarı verilecek gün sayısı
- Yedinci alan: Parolanın geçersiz sayılacağı gün sayısı
- Son alan: Hesabın kilitleneceği tarih (1 Ocak 1970'den itibaren geçen gün sayısı olarak)
İkinci alanda, parolanın hangi algoritma ile şifrelendiği veya özetlendiği, "$" ile başlayan bir kod ile belirtilir. Bu kodların anlamları şunlardır:
- $1$: md5 algoritması
- $2y$: Blowfish algoritması
- $5$: SHA 256 algoritması
- $6$: SHA 512 algoritması
Örneğin, ikinci alan "$6$..." ile başlıyorsa, parolanın SHA 512 algoritması ile özetlendiği anlaşılır. Bu algoritmalardan birini kırmak için, çevrimdışı parola saldırısı araçları kullanılabilir.
Çevrimdışı Kaba Kuvvet Saldırıları
Çevrimdışı kaba kuvvet saldırıları, hedef sistemin şifreli veya hashlenmiş verilerini önceden ele geçirerek, bu verileri çözmek için deneme yanılma yöntemini kullanan siber saldırılardır. Bu saldırılar, hedef sisteme doğrudan bağlanmayı gerektirmez, bu yüzden saldırganın tespit edilmesi daha zordur. Çevrimdışı kaba kuvvet saldırıları, parolalar, kredi kartı numaraları, şifreli dosyalar, özel anahtarlar gibi hassas verileri ele geçirmek için kullanılabilir.
John the ripper, çevrimdışı kaba kuvvet saldırıları için popüler bir araçtır. Çok sayıda şifreleme algoritmasını destekler ve farklı platformlarda çalışabilir. John the ripper, şifreli veya hashlenmiş verileri çözmek için farklı modlar sunar. Bunlardan bazıları şunlardır:
- Single Crack Modu: Bu mod, yaygın kullanılan parolaları veya kullanıcı adlarıyla ilgili ipuçlarını deneyerek şifreyi çözmeye çalışır. Bu mod, şifrelerin basit veya tahmin edilebilir olduğu durumlarda etkilidir.
- Kelime Listesi Modu: Bu mod, belirtilen bir kelime listesini veya sözlüğü kullanarak şifreyi çözmeye çalışır. Kelime listesi, saldırgan tarafından oluşturulabilir veya internetten indirilebilir. Bu mod, şifrelerin kelime listesinde bulunan kelimelerden oluştuğu durumlarda etkilidir.
- Kurallı Kelime Listesi Modu: Bu mod, kelime listesi moduna benzer, ancak kelime listesindeki kelimeleri değiştirmek veya birleştirmek için kurallar uygular. Örneğin, kelimelerin başına veya sonuna sayılar veya özel karakterler eklemek, kelimeleri büyük veya küçük harfe çevirmek, kelimeleri tersine çevirmek gibi kurallar kullanılabilir. Bu mod, şifrelerin kelime listesindeki kelimelerden türetildiği durumlarda etkilidir.
- Artımlı Mod: Bu mod, tüm olası karakter kombinasyonlarını deneyerek şifreyi çözmeye çalışır. Bu mod, şifrelerin rastgele karakterlerden oluştuğu durumlarda etkilidir, ancak çok uzun zaman alabilir.
- Harici Mod: Bu mod, kullanıcının belirlediği bir programı veya betiği kullanarak şifreyi çözmeye çalışır. Bu mod, şifrelerin belirli bir mantığa veya desene göre oluşturulduğu durumlarda etkilidir.
4. UYGULAMA
Aşağıda verilen işlem adımlarını izleyerek hash bilgileri ele geçirilmiş bir cihazın dosyasını john the ripper aracıyla analiz ederek root kullanıcısının parolasını elde ediniz.
1. Adım: John aracını Kali Linux işletim sisteminde açmak için, Uygulamalar menüsünden Kali Linux, Password Attacks, Offline Attacks, john seçeneklerini takip edin. Bu, John aracını başlatacaktır.
2. Adım: Elde ettiğiniz hash dosyasını masaüstüne “rıdvanroot” ismiyle kaydedin. Bu dosya, root kullanıcısının hash değerini içerir. Bu dosyanın içeriğini görüntülemek için, terminalde aşağıdaki komutları yazın:
root@Kali: cd Desktop
root@Kali:/Desktop cat rıdvanroot
Bu komutlar, masaüstüne girmenizi ve rıdvanroot dosyasının içeriğini ekrana yazdırmanızı sağlar.
3. Adım: Masaüstünde özet hash bilgileri bulunan “rıdvanroot” dosyasına John aracı ile aşağıdaki komutla saldırı gerçekleştirin:
root@Kali:/Desktop john rıdvanroot --show
Bu komut, John aracının rıdvanroot dosyasındaki hash değerini kırmaya çalışmasını ve bulduğu parolayı göstermesini sağlar. Bu örnekte, root parolasının 1234 olduğu görülür.
Hashcat, farklı şifreleme yöntemleriyle oluşturulmuş özetleri (hashleri) kırmak için kullanılan bir yazılımdır. Özetler, bir verinin belirli bir algoritma ile dönüştürülmesi sonucu elde edilen benzersiz ve sabit uzunluktaki değerlerdir. Örneğin, md5 algoritması ile "merhaba" kelimesinin özeti "5d41402abc4b2a76b9719d911017c592" dir.
Hashcat, CPU ve GPU gibi farklı işlemcileri kullanarak hızlı ve etkili bir şekilde özetleri kırmaya çalışır. Ayrıca, Linux, Windows ve macOS gibi farklı işletim sistemlerinde çalışabilir.
Hashcat, özetleri kırmak için çeşitli saldırı modları sunar. Bunlardan bazıları şunlardır:
- Sözlük saldırısı: Bu modda, hashcat önceden hazırlanmış bir kelime listesini kullanarak özetleri deneyerek kırmaya çalışır. Bu mod, özetlerin yaygın veya basit kelimelerden oluştuğu durumlarda etkili olabilir.
- Kaba kuvvet saldırısı: Bu modda, hashcat tüm olası karakter kombinasyonlarını deneyerek özetleri kırmaya çalışır. Bu mod, özetlerin karmaşık veya uzun kelimelerden oluştuğu durumlarda etkili olabilir. Ancak, bu mod çok zaman alıcı olabilir.
- Kombinasyon saldırısı: Bu modda, hashcat iki farklı kelime listesini birleştirerek yeni kelimeler oluşturur ve bunları özetleri kırmak için kullanır. Bu mod, özetlerin birden fazla kelimenin birleşiminden oluştuğu durumlarda etkili olabilir.
Hashcat, özetleri kırmak için kullanılacak parametreleri alır. Bu parametreler şunları belirtir:
- Özet türü: Hashcat, farklı özet algoritmalarını destekler. Örneğin, md5 için -m 0, sha-1 için -m 100, sha-256 için -m 1400 gibi kodlar kullanılır. Bu parametre, hashcat'in özetleri doğru şekilde tanımlamasını sağlar.
- Saldırı modu: Hashcat, farklı saldırı modlarını destekler. Örneğin, sözlük saldırısı için -a 0, kaba kuvvet saldırısı için -a 3, kombinasyon saldırısı için -a 1 gibi kodlar kullanılır. Bu parametre, hashcat'in özetleri kırmak için hangi yöntemi kullanacağını belirler.
- Özet dosyası: Hashcat, özetleri içeren bir dosyanın yolunu alır. Bu dosya, kırılmak istenen özetleri barındırır.
- Kelime listesi: Hashcat, sözlük saldırısı veya kombinasyon saldırısı gibi modlarda kullanılmak üzere bir veya daha fazla kelime listesi dosyasının yolunu alır. Bu dosyalar, özetleri kırmak için denenecek kelimeleri içerir.
- Maske: Hashcat, kaba kuvvet saldırısı gibi modlarda kullanılmak üzere bir maske alır. Bu maske, özetleri kırmak için denenecek karakterlerin uzunluğunu ve türünü belirtir. Örneğin, ?l?l?l?l?d maske, dört harf ve bir rakamdan oluşan kelimeleri denemek için kullanılır.
Örneğin, hashcat -m 0 -a 0 hashdosyasi.txt pass.txt komutu, md5 özet türünü ve sözlük saldırı modunu belirtir. Hashdosyasi.txt dosyasındaki özetleri, pass.txt dosyasındaki kelimeleri kullanarak kırmaya çalışır.
Sözlük Saldırıları
Sözlük saldırıları, bir sisteme veya ağa girmek için parolaları tahmin etmek amacıyla hazırda bulunan kelime listelerinden yararlanan bir tür kaba kuvvet saldırısıdır. Bu saldırıda, saldırgan, parola oluşturmak için sık kullanılan kelimeler, sayılar, isimler, tarihler, takımlar, hayvanlar gibi kriterleri içeren bir sözlük dosyası kullanır. Bu dosya, internetten indirilebilir veya saldırgan tarafından oluşturulabilir. Saldırgan, bu dosyadaki kelimeleri tek tek deneyerek doğru parolayı bulmaya çalışır. Bu saldırının başarılı olma olasılığı, parolanın ne kadar basit ve yaygın olduğuna bağlıdır. Bu yüzden, parola oluştururken karmaşık ve özgün kelimeler kullanmak önemlidir.
Crunch, Kali Linux işletim sisteminde bulunan bir araçtır. Bu araç, saldırganların kendi sözlük dosyalarını oluşturmalarına yardımcı olur. Crunch, kullanıcının belirlediği minimum ve maksimum karakter sayısı, harf, rakam ve özel karakter gibi seçeneklere göre kelime listeleri üretir. Bu listeler, daha sonra sözlük saldırısı yapmak için kullanılabilir. Crunch, charset.lst adlı bir dosyadan karakter kümelerini alır. Bu dosyada, numerics, lowercase, uppercase, symbols gibi farklı karakter grupları tanımlanmıştır. Kullanıcı, bu gruplardan istediğini seçerek kendi sözlük dosyasını oluşturabilir. Örneğin, crunch 1 4 -f /usr/share/crunch/charset.lst numeric -o yeniliste.txt komutu, sadece rakamlardan oluşan ve 1 ila 4 karakter arasında değişen bir sözlük dosyası oluşturur. Bu dosya, yeniliste.txt olarak kaydedilir. Crunch, -t parametresi ile de belirli bir formatta kelime listesi oluşturabilir. Bu parametrede, @ küçük harf, , büyük harf, % rakam ve ^ özel karakter anlamına gelir. Örneğin, crunch 8 8 -t @,^%^^% -o sonliste.txt komutu, 8 karakterli ve ilk karakteri küçük harf, ikinci karakteri büyük harf, üçüncü karakteri rakam, dördüncü ve beşinci karakterleri özel karakter ve son üç karakteri rakam olan bir sözlük dosyası oluşturur. Bu dosya, sonliste.txt olarak kaydedilir.
5. UYGULAMA
12 karakterli, ilk dört karakteri 1992, son iki karakteri an olan ve diğer karakterlerinin tamamı büyük harflerden oluşan bir sözlük listesi oluşturmak için aşağıdaki adımları izleyebilirsiniz:
1. Adım: Kali Linux işletim sisteminin terminaline crunch yazarak araca geçiş yapınız. Bu sırada root kullanıcısı olmanız gerekmektedir. Eğer değilseniz, sudo su komutunu kullanarak root olabilirsiniz.
2. Adım: Aşağıda belirtilen komutu girerek özelleştirilmiş sözlük listesini oluşturunuz.
root@Kali: crunch 12 12 –t 1992,,,,an –o tutumluolun.txt
Bu komutta, 12 12 kısmı minimum ve maksimum karakter uzunluğunu belirtir. –t kısmı ise sabit bir desen kullanacağımızı gösterir. 1992 ve an kısımları sabit karakterlerdir. ,,, kısmı ise geri kalan üç karakterin büyük harflerden oluşacağını ifade eder. –o kısmı ise oluşturulan sözlük listesinin tutumluolun.txt isimli dosyaya kaydedileceğini belirtir.
3. Adım: Oluşturulan tutumluolun.txt isimli sözlük listesini root klasörünü açarak kontrol ediniz. Bu dosyada, 1992 ile başlayan ve an ile biten 17576 farklı kelime bulunacaktır. Bu kelimeleri görmek için cat komutunu kullanabilirsiniz.
cat tutumluolun.txt
Rainbow Tabloları
Rainbow tabloları, parolaların düz metin ve hash değerlerini bir arada tutan tablolardır. Hash değeri, bir parolanın karmaşık bir matematiksel işlemden geçirilerek elde edilen tekil bir kodudur. Hash değerleri, parolaları güvenli bir şekilde saklamak için kullanılır. Örneğin, bir web sitesine üye olurken, parolanız hash değerine dönüştürülür ve veri tabanında bu şekilde saklanır. Böylece, parolanızın açık metin halini kimse göremez.
Rainbow tabloları, hash değerlerini kırmak için kullanılan bir saldırı yöntemidir. Saldırgan, bir web sitesinin veri tabanına erişerek, hash değerlerini çalar. Sonra, bu hash değerlerini, önceden hazırlanmış veya indirilmiş rainbow tabloları ile karşılaştırır. Rainbow tabloları, olası parolaların hem düz metin hem de hash değerlerini içerir. Eğer hash değerleri eşleşirse, saldırgan parolayı bulmuş olur. Bu şekilde, saldırgan, sisteme giriş yapabilir veya parolayı başka yerlerde kullanabilir.
Rainbow tabloları, parolaları tek tek denemekten daha hızlı bir yöntemdir. Ancak, bu yöntemin de bazı dezavantajları vardır. Örneğin, rainbow tabloları çok fazla bellek alanı gerektirir. Ayrıca, parolaların uzunluğu, karmaşıklığı ve çeşitliliği arttıkça, rainbow tablolarının başarı oranı azalır.
Sistem yöneticileri, rainbow tablolarına karşı bazı önlemler alabilir. Bunlardan biri, salt adı verilen rastgele karakterler eklemektir. Salt, parolanın sonuna, başına veya ortasına yerleştirilen bir karakter dizisidir. Salt, hash değerini değiştirir ve rainbow tablolarının işe yaramasını engeller. Örneğin, "Siber" parolasının hash değeri "112312311231" ise, sonuna "+++" eklenirse, hash değeri "1823891239812" olur. Böylece, saldırgan, rainbow tablosunda "Siber" parolasını bulsa bile, hash değeri eşleşmeyecektir.
Başka bir önlem, key stretching adı verilen bir yöntemdir. Key stretching, parolanın hash değerini hesaplamak için birden fazla karma fonksiyonu kullanmaktır. Bu sayede, hash değerini hesaplamak daha uzun zaman alır ve saldırganın işini zorlaştırır. Örneğin, "Siber" parolasının hash değeri "112312311231" ise, bunun üzerine başka bir hash fonksiyonu uygulanarak, hash değeri "5c41c6b3958e798662d8853ece970f70" olur. Böylece, saldırgan, ilk hash değerini bulsa bile, ikinci hash değerini bulmak için daha fazla zaman harcaması gerekir.
Rainbowcrack, rainbow tabloları oluşturmak ve kullanmak için bir araçtır. Kali Linux işletim sisteminde bulunur. Rainbowcrack, rtgen, rtsort, rt2rtc ve rtc2rt gibi farklı komutlar içerir. Bu komutların anlamları şöyledir:
- rtgen: Rainbow tabloları oluşturmak için kullanılır. Özet algoritma, karakter seti, minimum ve maksimum karakter sayısı, tabloların sıralanması, zincir uzunluğu, zincir sayısı ve tablo başlangıç sayısı gibi parametreler alır. Özet algoritma, hash fonksiyonunun adıdır. Karakter seti, parolalarda kullanılan karakterlerin kümesidir. Minimum ve maksimum karakter sayısı, parolaların uzunluğunu belirler. Tabloların sıralanması, birden fazla tablo oluşturulduğunda, hangi sırayla kullanılacağını gösterir. Zincir uzunluğu, her bir parolanın kaç defa hash fonksiyonundan geçirileceğini belirler. Zincir sayısı, oluşturulacak parola sayısını belirler. Tablo başlangıç sayısı, her bir zincir için başlangıç değerini belirler.
- rtsort: Rainbow tablolarını sıralamak için kullanılır. Sıralama, tablolarda arama yapmayı hızlandırır.
- rt2rtc ve rtc2rt: Rainbow tablolarının uzantısını değiştirmek için kullanılır. rt uzantısı, rainbow tablosunun standart formatıdır. rtc uzantısı, rainbow tablosunun sıkıştırılmış formatıdır. Sıkıştırma, tabloların boyutunu küçültür, ancak arama yapmayı yavaşlatır.
- rcrack: Rainbow tablolarını kullanarak hash değerlerini kırmak için kullanılır. -f, -l ve -h gibi seçenekler alır. -f seçeneği, hash değerlerinin bulunduğu bir dosyayı belirtir. -l seçeneği, hash değerlerinin uzunluğunu belirtir. -h seçeneği, tek bir hash değerini belirtir.
Teknik Olmayan Parola Atakları
Teknik olmayan parola atakları, bir kişinin veya kurumun parolasını veya diğer hassas bilgilerini, teknik beceri veya donanım gerektirmeden, psikolojik veya fiziksel yollarla ele geçirmeye çalışan saldırılardır. Bu saldırıların bazı örnekleri şunlardır:
- Bir kişinin takibini yapmak: Bu saldırıda, saldırgan, hedefin parolasını veya diğer bilgilerini öğrenmek için onun davranışlarını, alışkanlıklarını, kişisel hayatını veya iş ilişkilerini gözlemleyebilir. Örneğin, saldırgan, hedefin parolasını bir kağıda yazdığını veya kolay tahmin edilebilen bir kelime veya tarih kullandığını fark edebilir.
- Keylogger programları kullanmak: Bu saldırıda, saldırgan, hedefin bilgisayarına veya mobil cihazına, klavye tuşlarını kaydeden bir yazılım yükleyebilir. Bu yazılım, hedefin girdiği her şeyi, parolalar dahil, saldırgana gönderebilir. Örneğin, saldırgan, hedefin e-posta hesabına veya banka hesabına giriş yaparken kullandığı parolayı öğrenebilir.
- Sosyal mühendislik yöntemleri kullanmak: Bu saldırıda, saldırgan, hedefi veya onunla ilişkili bir kişiyi, parolasını veya diğer bilgilerini gönüllü olarak vermesi için kandırabilir. Örneğin, saldırgan, hedefe, güvenilir bir kurumdan aradığını veya e-posta gönderdiğini söyleyerek, parolasını veya güvenlik sorusunun cevabını isteyebilir.
Bu saldırıların önlenmesi için, parolaların güçlü, benzersiz ve sık sık değiştirilmesi, kişisel veya hassas bilgilerin paylaşılmaması, bilgisayar veya mobil cihazların güvenli bir şekilde korunması ve güvenilir olmayan kaynaklardan gelen arama veya e-postalara dikkat edilmesi gerekmektedir. Ayrıca, bilgi toplama teknikleri hakkında bilgi sahibi olmak, bu saldırıların farkında olmak ve savunma stratejileri geliştirmek için yararlı olabilir.
Parola saldırısı, bir kişi veya kurumun kullandığı şifreli hesap veya sistemlere izinsiz erişim sağlamak için yapılan bir siber saldırı türüdür. Parola saldırısı yapan saldırganlar, karşı tarafın şifresini tahmin etmek, kırmak veya çalmak için çeşitli yöntemler kullanır. Parola saldırısı sonucunda, saldırganlar karşı tarafın kişisel veya kurumsal verilerine, finansal kaynaklarına, sosyal medya hesaplarına veya diğer önemli bilgilerine ulaşabilir. Bu da karşı taraf için maddi ve manevi zararlara yol açabilir.
Parola saldırısı türleri şunlardır:
- Çevrimiçi parola saldırıları: Bu tür saldırılarda, saldırganlar karşı tarafın hesap veya sistemine doğrudan bağlanarak şifreyi denemeye çalışır. Bunun için çeşitli araçlar, programlar veya web siteleri kullanabilirler. Örneğin, kaba kuvvet saldırısı, saldırganın bütün olası şifre kombinasyonlarını sırayla denediği bir çevrimiçi parola saldırısı türüdür. Sözlük saldırısı, saldırganın yaygın olarak kullanılan kelimeleri veya sözlükteki kelimeleri denediği bir çevrimiçi parola saldırısı türüdür. Sosyal mühendislik saldırısı, saldırganın karşı tarafın şifresini öğrenmek için onunla iletişime geçtiği veya onun hakkında bilgi topladığı bir çevrimiçi parola saldırısı türüdür. Çevrimiçi parola saldırılarına karşı alınabilecek önlemler arasında, şifre giriş sayısını sınırlamak, şifre değiştirme zorunluluğu getirmek, iki faktörlü doğrulama kullanmak, güçlü ve karmaşık şifreler oluşturmak, şifre yöneticisi kullanmak gibi yöntemler sayılabilir.
- Çevrimdışı parola saldırıları: Bu tür saldırılarda, saldırganlar karşı tarafın hesap veya sistemine doğrudan bağlanmak yerine, onun şifreli verilerini veya parola özetlerini (hash) başka bir yoldan ele geçirir. Bunun için çeşitli açıklardan, virüslerden, zararlı yazılımlardan veya fiziksel yollarla yararlanabilirler. Örneğin, parola kırma saldırısı, saldırganın ele geçirdiği parola özetlerini kırmak için çeşitli araçlar veya teknikler kullandığı bir çevrimdışı parola saldırısı türüdür. Parola çalma saldırısı, saldırganın karşı tarafın şifresini klavye kaydedici, ekran kaydedici, sahte web sitesi, e-posta, telefon gibi yöntemlerle çaldığı bir çevrimdışı parola saldırısı türüdür. Çevrimdışı parola saldırılarına karşı alınabilecek önlemler arasında, şifreli verileri veya parola özetlerini güvenli bir şekilde saklamak, şifreleme yöntemlerini güncel tutmak, antivirüs programları kullanmak, sahte web sitelerine veya e-postalara dikkat etmek, fiziksel güvenliği sağlamak gibi yöntemler sayılabilir.
- Teknik olmayan parola saldırıları: Bu tür saldırılarda, saldırganlar karşı tarafın şifresini öğrenmek için teknik olmayan yöntemler kullanır. Bunun için karşı tarafın psikolojik, duygusal veya sosyal durumundan yararlanabilirler. Örneğin, omuzdan bakma saldırısı, saldırganın karşı tarafın şifresini girdiği sırada onun omzundan bakarak gördüğü bir teknik olmayan parola saldırısı türüdür. Çöp kutusu saldırısı, saldırganın karşı tarafın çöp kutusundan şifre içeren belgeleri veya notları bulduğu bir teknik olmayan parola saldırısı türüdür. Şantaj saldırısı, saldırganın karşı tarafı tehdit ederek veya rüşvet vererek şifresini vermesini sağladığı bir teknik olmayan parola saldırısı türüdür. Teknik olmayan parola saldırılarına karşı alınabilecek önlemler arasında, şifreyi girdiğinde etrafı kontrol etmek, şifre içeren belge veya notları imha etmek, şifreyi kimseyle paylaşmamak, şantaj veya rüşvete boyun eğmemek gibi yöntemler sayılabilir.
Çevrimiçi Parola Saldırıları
Çevrimiçi parola saldırıları, bir saldırganın bir sisteme veya uygulamaya giriş yapmak için parolaları tahmin etmeye çalıştığı bir tür siber saldırıdır. Saldırgan, sistemin çalıştığı sırada parola denemeleri yapabilir, önceden hazırlanmış kelime listelerini kullanabilir veya ağ trafiğini izleyerek parolaları yakalayabilir. Bu saldırıların amacı, sistemin parolasını kırmak ve yetkisiz erişim elde etmektir.
Kali Linux, parola saldırıları için popüler bir işletim sistemidir. Kali Linux, birçok farklı araç içerir ve bunlara kolayca erişilebilir. Çevrimiçi parola saldırıları için, Uygulamalar, Kali Linux, Password Attacks, Online Attacks menüsünden araçları seçebilirsiniz. Bu menüde, farklı protokolleri ve hedefleri destekleyen birçok araç bulunur. Örneğin:
- acccheck: Windows SMB servisine karşı parola saldırısı yapar.
- burpsuite: Web uygulamalarına karşı parola saldırısı yapar.
- cewl: Bir web sitesinden kelime listesi oluşturur.
- hydra: Çoklu protokollere karşı parola saldırısı yapar.
- findmyhash: Çevrimiçi veritabanlarını kullanarak şifreli parolaları çözer.
- ncrack: RDP, SSH, Telnet gibi servislere karşı parola saldırısı yapar.
- medusa: Hydra'ya benzer şekilde, çoklu protokollere karşı parola saldırısı yapar.
Bu araçları kullanmak için, saldırı türünü, hedefi, kelime listesini ve diğer parametreleri belirlemeniz gerekir.
Çevrimiçi parola saldırıları, siber güvenlik açısından ciddi bir tehdittir. Bu yüzden, güçlü ve benzersiz parolalar kullanmak, iki faktörlü kimlik doğrulama etkinleştirmek ve güvenilir olmayan ağlarda VPN kullanmak gibi önlemler almak önemlidir. Ayrıca, bilgisayarınızda güncel bir kötü amaçlı yazılım koruma programı çalıştırmak da faydalı olabilir.
Kaba Kuvvet Saldırıları
Kaba kuvvet saldırıları, bir siber saldırganın bir sisteme veya servise erişmek için olası tüm kullanıcı adı ve parola kombinasyonlarını denediği saldırı türleridir. Bu saldırılar, saldırganların sistemi ele geçirmek, veri çalmak, fidye istemek veya itibar zedelemek gibi amaçlarla yapabilirler. Kaba kuvvet saldırıları, saldırganların kolayca uygulayabildikleri ve düşük maliyetli oldukları için çok yaygındır. Ancak, parolanın uzunluğu ve karmaşıklığı arttıkça, saldırının başarı şansı azalır ve daha fazla zaman ve kaynak gerektirir.
Saldırganlar, kaba kuvvet saldırılarını kolaylaştırmak için çeşitli araçlar kullanabilirler. Bunlardan biri de hydra aracıdır. Hydra aracı, Kali Linux işletim sisteminde bulunan bir kaba kuvvet saldırısı aracıdır. Hydra aracı, FTP, SMTP, POP3, SSH, RDP, TELNET gibi farklı protokolleri destekler ve birden fazla hedefe aynı anda saldırabilir. Hydra aracı, kullanıcı adı ve parola için hazır veya özel olarak oluşturulmuş kelime listeleri kullanır. Kelime listeleri, parola olabilecek tüm karakter kombinasyonlarını içeren dosyalardır. Hydra aracı, kelime listelerindeki değerleri tek tek deneyerek, doğru olanı bulmaya çalışır. Eğer kelime listesi, sistemin parolasını içermiyorsa, saldırı başarısız olur.
Hydra aracını kullanmak için, terminalden bazı parametrelerle birlikte hydra komutunu yazmak gerekir. Hydra komutunun yapısı şöyledir:
hydra -l <kullanıcı adı> -P <parola> <ip adresi> <servis>
Bu komutta, -l parametresi, kullanıcı adının bilindiğini belirtir. -P parametresi, parola için kullanılacak kelime listesinin adını belirtir. <ip adresi> parametresi, saldırı yapılacak sistemin ip adresini belirtir. <servis> parametresi, saldırı yapılacak protokolü belirtir. Örneğin, ftp://192.168.0.1 şeklinde yazılır.
Hydra aracının diğer parametreleri şunlardır:
-L: Kullanıcı adı için kullanılacak kelime listesinin adını belirtir.
-p: Parolanın bilindiğini belirtir.
-V: Denenen kombinasyonları ekrana yazdırır.
-f / -F: Kullanıcı adı ve parola bulunduğunda işlemi durdurur.
-s Port Numarası: Servisin çalıştığı port numarasını belirtir.
-e nsr: Boş parola veya kullanıcı adı ile parolanın aynı olduğu durumları denemek için kullanılır.
-h: Hydra aracının tüm parametrelerini ve görevlerini gösterir.
1. UYGULAMA
SSH servisine saldırı yapmak için aşağıdaki adımları takip edebilirsiniz:
1. Adım: Hydra aracını çalıştırmak için, Kali Linux işletim sisteminde Uygulamalar menüsünden Kali Linux, Password Attacks, Online Attacks, hydra seçeneklerini sırasıyla tıklayın. Bu şekilde, Hydra aracının terminal ekranı açılacaktır.
2. Adım: Parola saldırısı için ihtiyaç duyulan kelime listesini, yazı hazırlama editörünü kullanarak (Vim, Nano vb.) içinde aşağıdaki parolalar ve kullanıcı adları olacak şekilde iki farklı dosya hâlinde hazırlayın:
- users.txt dosyası: Bu dosyada, SSH servisine giriş yapabilecek olası kullanıcı adlarını yazın. Örneğin, root, admin, user, guest gibi. Her satıra bir kullanıcı adı yazın. Bu dosyayı masaüstüne kaydedin.
- pass.txt dosyası: Bu dosyada, SSH servisine giriş yapabilecek olası parolaları yazın. Örneğin, 1234, password, qwerty, 12345678 gibi. Her satıra bir parola yazın. Bu dosyayı da masaüstüne kaydedin.
3. Adım: Kali işletim sistemi terminalini kullanarak aşağıda belirtilen komutları girin ve kelime listesinin doğruluğunu kontrol edin:
- cd Desktop komutuyla masaüstüne gidin.
- Is komutuyla masaüstündeki dosyaları listeyin. users.txt ve pass.txt dosyalarının olduğundan emin olun.
- cat users.txt komutuyla users.txt dosyasının içeriğini görüntüleyin. Kullanıcı adlarının doğru yazıldığından emin olun.
- cat pass.txt komutuyla pass.txt dosyasının içeriğini görüntüleyin. Parolaların doğru yazıldığından emin olun.
4. Adım: Hydra aracına kelime listesinin kontrolünü sağladıktan sonra yapılacak saldırı ile ilgili komutu girin:
- hydra -L users.txt -P pass.txt 192.168.138.128 ssh komutuyla, Hydra aracını kullanarak, users.txt dosyasındaki kullanıcı adları ve pass.txt dosyasındaki parolalar ile 192.168.138.128 IP adresine sahip cihazın SSH servisine saldırı başlatın. Bu komutta, -L parametresi kullanıcı adı listesini, -P parametresi parola listesini, ssh parametresi ise saldırılan servisi belirtir.
5. Adım: Saldırı sonucunda kelime listesinde doğru kullanıcı adı ve şifresi eşleştiğinde saldırı başarılı olacaktır. Saldırı sonucunu görüntülemek için, terminal ekranında Hydra aracının verdiği çıktıyı inceleyin. Eğer saldırı başarılı olursa, Hydra aracı size doğru kullanıcı adı ve parola kombinasyonunu gösterecektir. Örneğin, [22][ssh] host: 192.168.138.128 login: root password: 1234 gibi. Bu şekilde, SSH servisine giriş yapabileceğiniz bilgileri elde etmiş olursunuz.
Kaba kuvvet saldırılarının gerçekleştirilebileceği araçlardan bir diğeri medusadır. Medusa, kaba kuvvet saldırıları yapmak için kullanılan bir araçtır. Kaba kuvvet saldırısı, bir hedefin parolasını veya kullanıcı adını tahmin etmek için çok sayıda deneme yapmak anlamına gelir. Medusa, birden fazla hedefe aynı anda saldırabilir ve farklı servisler için farklı kelime listeleri kullanabilir. Medusa, Kali Linux işletim sisteminde bulunan bir araçtır. Kali Linux, siber güvenlik testleri yapmak için tasarlanmış bir Linux dağıtımıdır.
Medusa aracını kullanmak için, komut satırında medusa komutunu yazmak ve bazı parametreler belirtmek gerekir. Parametreler, saldırının nasıl yapılacağını belirler. Medusa'nın parametreleri şunlardır:
- -h: Bu parametre, saldırının yapılacağı tek bir hedefin IP adresini veya alan adını belirtir. Örneğin, medusa -h 192.168.138.128 şeklinde yazılırsa, saldırı 192.168.138.128 IP adresine yapılır.
- -H: Bu parametre, saldırının yapılacağı birden fazla hedefin IP adreslerini veya alan adlarını içeren bir dosyanın adını belirtir. Örneğin, medusa -H hedefler.txt şeklinde yazılırsa, saldırı hedefler.txt dosyasındaki her bir hedefe yapılır.
- -u: Bu parametre, saldırıda kullanılacak tek bir kullanıcı adını belirtir. Örneğin, medusa -u root şeklinde yazılırsa, saldırıda root kullanıcı adı kullanılır.
- -U: Bu parametre, saldırıda kullanılacak birden fazla kullanıcı adını içeren bir dosyanın adını belirtir. Örneğin, medusa -U kullanicilar.txt şeklinde yazılırsa, saldırıda kullanicilar.txt dosyasındaki her bir kullanıcı adı kullanılır.
- -p: Bu parametre, saldırıda kullanılacak tek bir parolayı belirtir. Örneğin, medusa -p 123456 şeklinde yazılırsa, saldırıda 123456 parolası kullanılır.
- -P: Bu parametre, saldırıda kullanılacak birden fazla parolayı içeren bir dosyanın adını belirtir. Örneğin, medusa -P parolalar.txt şeklinde yazılırsa, saldırıda parolalar.txt dosyasındaki her bir parola kullanılır.
- -m: Bu parametre, saldırının hangi servise yönelik olduğunu belirtir. Medusa, birçok farklı servise saldırabilir. Örneğin, medusa -m http şeklinde yazılırsa, saldırı HTTP servisine yapılır. Medusa'nın desteklediği servislerin tam listesi için medusa -d komutunu kullanabilirsiniz.
- -b: Bu parametre, saldırı sırasında yapılan işlemlerin ekranda gösterilmesini engeller. Bu sayede, saldırı daha hızlı ve sessiz bir şekilde yapılabilir. Örneğin, medusa -b şeklinde yazılırsa, saldırı sırasında hiçbir çıktı verilmez.
- -d: Bu parametre, medusa aracının desteklediği tüm parametreleri ve servisleri listeler. Bu sayede, medusa aracının nasıl kullanılacağı hakkında bilgi edinilebilir. Örneğin, medusa -d şeklinde yazılırsa, medusa aracının kullanım kılavuzu ekrana yazdırılır.
- -F: Bu parametre, saldırıda başarılı bir şekilde parola veya kullanıcı adı bulunursa, saldırının durdurulmasını sağlar. Bu sayede, gereksiz denemelerden kaçınılır. Örneğin, medusa -F şeklinde yazılırsa, saldırıda ilk başarılı sonuç bulunduğunda saldırı sonlanır.
Medusa aracının kullanımına örnek vermek gerekirse, 192.168.138.128 IP adresindeki HTTP servisine root kullanıcı adıyla saldırı yapmak için şu komut kullanılabilir:
medusa -h 192.168.138.128 -u root -P parolalar.txt -m http
Bu komut, parolalar.txt dosyasındaki her bir parolayı root kullanıcı adıyla deneyerek, HTTP servisine giriş yapmaya çalışır. Eğer başarılı bir giriş yapılırsa, ekrana başarılı olduğu bildirilir. Eğer -F parametresi de eklenirse, ilk başarılı giriş yapıldığında saldırı durur.
2. UYGULAMA
Aşağıdaki işlem adımlarını uygulayarak medusa ile kaba kuvvet saldırısı yapın.
1. Adım: Medusa aracını açmak için, Kali Linux işletim sisteminde Uygulamalar menüsünden Kali Linux, Password Attacks, Online Attacks seçeneklerini takip edin. Sonra medusa seçeneğine tıklayın. Bu, bir terminal penceresi açacaktır.
2. Adım: Medusa aracına saldırı komutunu girmek için, önce kelime listesinin kontrolünü yapın. Kelime listesi, kullanıcı adlarını içeren users.txt ve şifreleri içeren pass.txt dosyalarıdır. Bu dosyaları masaüstünde oluşturduğunuzu varsayıyorum. Saldırı komutu şöyledir:
root@Kali:/Desktop medusa -h 192.168.138.128 -U users.txt -P pass.txt -M ssh -F
Bu komutta, şu parametreleri kullanıyoruz:
- -h 192.168.138.128: Hedef sunucunun IP adresi
- -U users.txt: Kullanıcı adlarını içeren dosya
- -P pass.txt: Şifreleri içeren dosya
- -M ssh: Saldırı yapılacak servis (SSH)
- -F: İlk doğru kullanıcı adı ve şifre bulunduğunda saldırıyı durdur
3. Adım: Saldırı sonucunu görüntülemek için, terminal penceresini izleyin. Medusa aracı, kelime listesindeki her kullanıcı adı ve şifre kombinasyonunu deneyecektir. Doğru kullanıcı adı ve şifre eşleştiğinde, saldırı başarılı olacaktır. Başarılı saldırı sonucunda, terminalde şöyle bir çıktı göreceksiniz:
ACCOUNT FOUND: [ssh] Host: 192.168.138.128 User: root Password: 1234 [SUCCESS]
Bu, hedef sunucunun SSH servisinin kullanıcı adının root ve parolasının 1234 olduğunu gösterir.
Kelime Listesi Oluşturma
Kelime listesi oluşturma, parola kırma gibi güvenlik testlerinde kullanılan bir tekniktir. Bu teknikte, hedefin parolasını veya kullanıcı adını tahmin etmek için olası kelimelerin bir listesi hazırlanır. Bu liste, hedefin kişisel veya kurumsal bilgilerine, internet üzerindeki verilere veya belirli kurallara göre oluşturulabilir.
Kelime listesi oluşturmak için kullanılan araçlardan biri cewl'dir. Cewl, bir web sitesinin içeriğini tarayarak, sitede geçen kelimeleri bir dosyaya kaydeder. Bu sayede, web sitesi ile ilgili kelimelerden oluşan bir liste elde edilir. Cewl, çeşitli parametreler alarak, istenen özelliklerde bir liste oluşturabilir. Bu parametreler şunlardır:
-v: Bu parametre, cewl'in çalışma sürecini daha ayrıntılı olarak gösterir. Bu sayede, hangi kelimelerin listeye eklendiği, hangi kelimelerin atlandığı, hangi web sayfalarının tarandığı gibi bilgiler görülebilir.
-d: Bu parametre, cewl'in web sitesinin kaçıncı seviyesine kadar tarama yapacağını belirler. Örneğin, -d 2 parametresi, web sitesinin ana sayfası ve ana sayfadan bağlantı verilen sayfaları tarar. Daha derin bir tarama için, sayıyı artırmak gerekir.
-w: Bu parametre, cewl'in oluşturduğu kelime listesini kaydedeceği dosya adını belirler. Örneğin, -w liste.txt parametresi, kelime listesini liste.txt dosyasına kaydeder.
-e: Bu parametre, cewl'in web sitesinde bulunan e-posta adreslerini de listeye eklemesini sağlar. Bu sayede, hedefin e-posta adresini veya e-posta adresinde kullanılan kelimeleri bulma şansı artar.
-m: Bu parametre, cewl'in listeye ekleyeceği kelimelerin minimum uzunluğunu belirler. Örneğin, -m 6 parametresi, en az 6 harfli kelimeleri listeye ekler. Bu sayede, çok kısa ve anlamsız kelimelerden kurtulmak mümkün olur.
3. UYGULAMA
Cewl aracını kullanmak için şu adımları izleyin:
1. Adım: Cewl aracını açmak için Kali Linux işletim sisteminde Uygulamalar, Kali Linux, Password Attacks, Online Attacks, cewl yolunu takip edin. Bu size bir komut satırı penceresi açacaktır.
2. Adım: Hedef web adresini ve diğer seçenekleri belirleyin. Örneğin, cewl –d 2 –m 10 https://hedefwebsitesi –w /root/Desktop/zekidünya komutu, hedef web sitesini 2. derinliğe kadar tarayarak en az 10 karakterli kelimelerden oluşan bir sözlük dosyası oluşturur ve bunu zekidünya ismiyle masaüstüne kaydeder. Burada –d seçeneği derinliği, –m seçeneği minimum kelime uzunluğunu, –w seçeneği ise kaydedilecek dosya adını belirtir.
3. Adım: Oluşturulan kelime listesini görüntüleyin. Masaüstünde zekidünya isimli bir dosya oluşmuş olmalıdır. Bu dosyayı bir metin editörü ile açarak içindeki kelimeleri görebilirsiniz.
Çevrimdışı Parola Saldırıları
Çevrimdışı parola saldırıları, bir sistemin parola ve kullanıcı adı bilgilerini sakladığı dosyalara erişerek, bu bilgileri kırmaya çalışan saldırılardır. Bu saldırılar, hedef sisteme doğrudan bağlanmak yerine, saldırganın kendi bilgisayarında veya başka bir yerde gerçekleştirilir. Bu nedenle, çevrimdışı olarak adlandırılır. Sistemde parola ve kullanıcı adı bilgileri, düz metin olarak değil, şifreli veya özetlenmiş olarak saklanır. Şifreleme, bir anahtar kullanarak bir metni gizli bir hale getirme işlemidir. Özetleme ise, bir metni belirli bir uzunlukta ve tek yönlü bir şekilde temsil eden bir değer üretme işlemidir. Özetlenmiş bir değerden, orijinal metni elde etmek çok zor veya imkansızdır. Bu yüzden, parola bilgileri genellikle özetlenmiş olarak tutulur. Çevrimdışı parola saldırılarının üç türü vardır: Kaba kuvvet, sözlük ve rainbow table. Kaba kuvvet saldırısı, tüm olası parola kombinasyonlarını deneyerek, özetlenmiş değerle eşleşen parolayı bulmaya çalışan bir saldırıdır. Sözlük saldırısı, sık kullanılan veya tahmin edilebilir parolaları içeren bir listeyi kullanarak, özetlenmiş değerle eşleşen parolayı bulmaya çalışan bir saldırıdır. Rainbow table saldırısı, önceden hesaplanmış ve özetlenmiş değerler ile parolaları eşleştiren bir tablo kullanarak, özetlenmiş değerle eşleşen parolayı bulmaya çalışan bir saldırıdır. Kali Linux, çevrimdışı parola saldırıları yapmak için birçok araç sunan bir işletim sistemidir. Bu araçlara, Uygulamalar, Kali Linux, Password Attacks, Offline Attacks menüsünden ulaşılabilir. Linux tabanlı işletim sistemlerinde, kullanıcı bilgileri /etc/passwd dosyasında, parola bilgileri ise /etc/shadow dosyasında saklanır. Root kullanıcısı, sistemde en yüksek yetkiye sahip olan kullanıcıdır. Root kullanıcısının parola bilgisi, /etc/shadow dosyasında şifreli veya özetlenmiş olarak verilir. Bu dosyada, her satır bir kullanıcıyı temsil eder ve ":" ile ayrılmış alanlar vardır. Bu alanların anlamları şunlardır:
- İlk alan: Kullanıcı adı
- İkinci alan: Parolanın şifreli veya özetlenmiş değeri
- Üçüncü alan: Parolanın son değiştirildiği tarih (1 Ocak 1970'den itibaren geçen gün sayısı olarak)
- Dördüncü alan: Parolanın değiştirilmesi için gereken minimum gün sayısı
- Beşinci alan: Parolanın değiştirilmesi için gereken maksimum gün sayısı
- Altıncı alan: Parolanın değiştirilmesi için uyarı verilecek gün sayısı
- Yedinci alan: Parolanın geçersiz sayılacağı gün sayısı
- Son alan: Hesabın kilitleneceği tarih (1 Ocak 1970'den itibaren geçen gün sayısı olarak)
İkinci alanda, parolanın hangi algoritma ile şifrelendiği veya özetlendiği, "$" ile başlayan bir kod ile belirtilir. Bu kodların anlamları şunlardır:
- $1$: md5 algoritması
- $2y$: Blowfish algoritması
- $5$: SHA 256 algoritması
- $6$: SHA 512 algoritması
Örneğin, ikinci alan "$6$..." ile başlıyorsa, parolanın SHA 512 algoritması ile özetlendiği anlaşılır. Bu algoritmalardan birini kırmak için, çevrimdışı parola saldırısı araçları kullanılabilir.
Çevrimdışı Kaba Kuvvet Saldırıları
Çevrimdışı kaba kuvvet saldırıları, hedef sistemin şifreli veya hashlenmiş verilerini önceden ele geçirerek, bu verileri çözmek için deneme yanılma yöntemini kullanan siber saldırılardır. Bu saldırılar, hedef sisteme doğrudan bağlanmayı gerektirmez, bu yüzden saldırganın tespit edilmesi daha zordur. Çevrimdışı kaba kuvvet saldırıları, parolalar, kredi kartı numaraları, şifreli dosyalar, özel anahtarlar gibi hassas verileri ele geçirmek için kullanılabilir.
John the ripper, çevrimdışı kaba kuvvet saldırıları için popüler bir araçtır. Çok sayıda şifreleme algoritmasını destekler ve farklı platformlarda çalışabilir. John the ripper, şifreli veya hashlenmiş verileri çözmek için farklı modlar sunar. Bunlardan bazıları şunlardır:
- Single Crack Modu: Bu mod, yaygın kullanılan parolaları veya kullanıcı adlarıyla ilgili ipuçlarını deneyerek şifreyi çözmeye çalışır. Bu mod, şifrelerin basit veya tahmin edilebilir olduğu durumlarda etkilidir.
- Kelime Listesi Modu: Bu mod, belirtilen bir kelime listesini veya sözlüğü kullanarak şifreyi çözmeye çalışır. Kelime listesi, saldırgan tarafından oluşturulabilir veya internetten indirilebilir. Bu mod, şifrelerin kelime listesinde bulunan kelimelerden oluştuğu durumlarda etkilidir.
- Kurallı Kelime Listesi Modu: Bu mod, kelime listesi moduna benzer, ancak kelime listesindeki kelimeleri değiştirmek veya birleştirmek için kurallar uygular. Örneğin, kelimelerin başına veya sonuna sayılar veya özel karakterler eklemek, kelimeleri büyük veya küçük harfe çevirmek, kelimeleri tersine çevirmek gibi kurallar kullanılabilir. Bu mod, şifrelerin kelime listesindeki kelimelerden türetildiği durumlarda etkilidir.
- Artımlı Mod: Bu mod, tüm olası karakter kombinasyonlarını deneyerek şifreyi çözmeye çalışır. Bu mod, şifrelerin rastgele karakterlerden oluştuğu durumlarda etkilidir, ancak çok uzun zaman alabilir.
- Harici Mod: Bu mod, kullanıcının belirlediği bir programı veya betiği kullanarak şifreyi çözmeye çalışır. Bu mod, şifrelerin belirli bir mantığa veya desene göre oluşturulduğu durumlarda etkilidir.
4. UYGULAMA
Aşağıda verilen işlem adımlarını izleyerek hash bilgileri ele geçirilmiş bir cihazın dosyasını john the ripper aracıyla analiz ederek root kullanıcısının parolasını elde ediniz.
1. Adım: John aracını Kali Linux işletim sisteminde açmak için, Uygulamalar menüsünden Kali Linux, Password Attacks, Offline Attacks, john seçeneklerini takip edin. Bu, John aracını başlatacaktır.
2. Adım: Elde ettiğiniz hash dosyasını masaüstüne “rıdvanroot” ismiyle kaydedin. Bu dosya, root kullanıcısının hash değerini içerir. Bu dosyanın içeriğini görüntülemek için, terminalde aşağıdaki komutları yazın:
root@Kali: cd Desktop
root@Kali:/Desktop cat rıdvanroot
Bu komutlar, masaüstüne girmenizi ve rıdvanroot dosyasının içeriğini ekrana yazdırmanızı sağlar.
3. Adım: Masaüstünde özet hash bilgileri bulunan “rıdvanroot” dosyasına John aracı ile aşağıdaki komutla saldırı gerçekleştirin:
root@Kali:/Desktop john rıdvanroot --show
Bu komut, John aracının rıdvanroot dosyasındaki hash değerini kırmaya çalışmasını ve bulduğu parolayı göstermesini sağlar. Bu örnekte, root parolasının 1234 olduğu görülür.
Hashcat, farklı şifreleme yöntemleriyle oluşturulmuş özetleri (hashleri) kırmak için kullanılan bir yazılımdır. Özetler, bir verinin belirli bir algoritma ile dönüştürülmesi sonucu elde edilen benzersiz ve sabit uzunluktaki değerlerdir. Örneğin, md5 algoritması ile "merhaba" kelimesinin özeti "5d41402abc4b2a76b9719d911017c592" dir.
Hashcat, CPU ve GPU gibi farklı işlemcileri kullanarak hızlı ve etkili bir şekilde özetleri kırmaya çalışır. Ayrıca, Linux, Windows ve macOS gibi farklı işletim sistemlerinde çalışabilir.
Hashcat, özetleri kırmak için çeşitli saldırı modları sunar. Bunlardan bazıları şunlardır:
- Sözlük saldırısı: Bu modda, hashcat önceden hazırlanmış bir kelime listesini kullanarak özetleri deneyerek kırmaya çalışır. Bu mod, özetlerin yaygın veya basit kelimelerden oluştuğu durumlarda etkili olabilir.
- Kaba kuvvet saldırısı: Bu modda, hashcat tüm olası karakter kombinasyonlarını deneyerek özetleri kırmaya çalışır. Bu mod, özetlerin karmaşık veya uzun kelimelerden oluştuğu durumlarda etkili olabilir. Ancak, bu mod çok zaman alıcı olabilir.
- Kombinasyon saldırısı: Bu modda, hashcat iki farklı kelime listesini birleştirerek yeni kelimeler oluşturur ve bunları özetleri kırmak için kullanır. Bu mod, özetlerin birden fazla kelimenin birleşiminden oluştuğu durumlarda etkili olabilir.
Hashcat, özetleri kırmak için kullanılacak parametreleri alır. Bu parametreler şunları belirtir:
- Özet türü: Hashcat, farklı özet algoritmalarını destekler. Örneğin, md5 için -m 0, sha-1 için -m 100, sha-256 için -m 1400 gibi kodlar kullanılır. Bu parametre, hashcat'in özetleri doğru şekilde tanımlamasını sağlar.
- Saldırı modu: Hashcat, farklı saldırı modlarını destekler. Örneğin, sözlük saldırısı için -a 0, kaba kuvvet saldırısı için -a 3, kombinasyon saldırısı için -a 1 gibi kodlar kullanılır. Bu parametre, hashcat'in özetleri kırmak için hangi yöntemi kullanacağını belirler.
- Özet dosyası: Hashcat, özetleri içeren bir dosyanın yolunu alır. Bu dosya, kırılmak istenen özetleri barındırır.
- Kelime listesi: Hashcat, sözlük saldırısı veya kombinasyon saldırısı gibi modlarda kullanılmak üzere bir veya daha fazla kelime listesi dosyasının yolunu alır. Bu dosyalar, özetleri kırmak için denenecek kelimeleri içerir.
- Maske: Hashcat, kaba kuvvet saldırısı gibi modlarda kullanılmak üzere bir maske alır. Bu maske, özetleri kırmak için denenecek karakterlerin uzunluğunu ve türünü belirtir. Örneğin, ?l?l?l?l?d maske, dört harf ve bir rakamdan oluşan kelimeleri denemek için kullanılır.
Örneğin, hashcat -m 0 -a 0 hashdosyasi.txt pass.txt komutu, md5 özet türünü ve sözlük saldırı modunu belirtir. Hashdosyasi.txt dosyasındaki özetleri, pass.txt dosyasındaki kelimeleri kullanarak kırmaya çalışır.
Sözlük Saldırıları
Sözlük saldırıları, bir sisteme veya ağa girmek için parolaları tahmin etmek amacıyla hazırda bulunan kelime listelerinden yararlanan bir tür kaba kuvvet saldırısıdır. Bu saldırıda, saldırgan, parola oluşturmak için sık kullanılan kelimeler, sayılar, isimler, tarihler, takımlar, hayvanlar gibi kriterleri içeren bir sözlük dosyası kullanır. Bu dosya, internetten indirilebilir veya saldırgan tarafından oluşturulabilir. Saldırgan, bu dosyadaki kelimeleri tek tek deneyerek doğru parolayı bulmaya çalışır. Bu saldırının başarılı olma olasılığı, parolanın ne kadar basit ve yaygın olduğuna bağlıdır. Bu yüzden, parola oluştururken karmaşık ve özgün kelimeler kullanmak önemlidir.
Crunch, Kali Linux işletim sisteminde bulunan bir araçtır. Bu araç, saldırganların kendi sözlük dosyalarını oluşturmalarına yardımcı olur. Crunch, kullanıcının belirlediği minimum ve maksimum karakter sayısı, harf, rakam ve özel karakter gibi seçeneklere göre kelime listeleri üretir. Bu listeler, daha sonra sözlük saldırısı yapmak için kullanılabilir. Crunch, charset.lst adlı bir dosyadan karakter kümelerini alır. Bu dosyada, numerics, lowercase, uppercase, symbols gibi farklı karakter grupları tanımlanmıştır. Kullanıcı, bu gruplardan istediğini seçerek kendi sözlük dosyasını oluşturabilir. Örneğin, crunch 1 4 -f /usr/share/crunch/charset.lst numeric -o yeniliste.txt komutu, sadece rakamlardan oluşan ve 1 ila 4 karakter arasında değişen bir sözlük dosyası oluşturur. Bu dosya, yeniliste.txt olarak kaydedilir. Crunch, -t parametresi ile de belirli bir formatta kelime listesi oluşturabilir. Bu parametrede, @ küçük harf, , büyük harf, % rakam ve ^ özel karakter anlamına gelir. Örneğin, crunch 8 8 -t @,^%^^% -o sonliste.txt komutu, 8 karakterli ve ilk karakteri küçük harf, ikinci karakteri büyük harf, üçüncü karakteri rakam, dördüncü ve beşinci karakterleri özel karakter ve son üç karakteri rakam olan bir sözlük dosyası oluşturur. Bu dosya, sonliste.txt olarak kaydedilir.
5. UYGULAMA
12 karakterli, ilk dört karakteri 1992, son iki karakteri an olan ve diğer karakterlerinin tamamı büyük harflerden oluşan bir sözlük listesi oluşturmak için aşağıdaki adımları izleyebilirsiniz:
1. Adım: Kali Linux işletim sisteminin terminaline crunch yazarak araca geçiş yapınız. Bu sırada root kullanıcısı olmanız gerekmektedir. Eğer değilseniz, sudo su komutunu kullanarak root olabilirsiniz.
2. Adım: Aşağıda belirtilen komutu girerek özelleştirilmiş sözlük listesini oluşturunuz.
root@Kali: crunch 12 12 –t 1992,,,,an –o tutumluolun.txt
Bu komutta, 12 12 kısmı minimum ve maksimum karakter uzunluğunu belirtir. –t kısmı ise sabit bir desen kullanacağımızı gösterir. 1992 ve an kısımları sabit karakterlerdir. ,,, kısmı ise geri kalan üç karakterin büyük harflerden oluşacağını ifade eder. –o kısmı ise oluşturulan sözlük listesinin tutumluolun.txt isimli dosyaya kaydedileceğini belirtir.
3. Adım: Oluşturulan tutumluolun.txt isimli sözlük listesini root klasörünü açarak kontrol ediniz. Bu dosyada, 1992 ile başlayan ve an ile biten 17576 farklı kelime bulunacaktır. Bu kelimeleri görmek için cat komutunu kullanabilirsiniz.
cat tutumluolun.txt
Rainbow Tabloları
Rainbow tabloları, parolaların düz metin ve hash değerlerini bir arada tutan tablolardır. Hash değeri, bir parolanın karmaşık bir matematiksel işlemden geçirilerek elde edilen tekil bir kodudur. Hash değerleri, parolaları güvenli bir şekilde saklamak için kullanılır. Örneğin, bir web sitesine üye olurken, parolanız hash değerine dönüştürülür ve veri tabanında bu şekilde saklanır. Böylece, parolanızın açık metin halini kimse göremez.
Rainbow tabloları, hash değerlerini kırmak için kullanılan bir saldırı yöntemidir. Saldırgan, bir web sitesinin veri tabanına erişerek, hash değerlerini çalar. Sonra, bu hash değerlerini, önceden hazırlanmış veya indirilmiş rainbow tabloları ile karşılaştırır. Rainbow tabloları, olası parolaların hem düz metin hem de hash değerlerini içerir. Eğer hash değerleri eşleşirse, saldırgan parolayı bulmuş olur. Bu şekilde, saldırgan, sisteme giriş yapabilir veya parolayı başka yerlerde kullanabilir.
Rainbow tabloları, parolaları tek tek denemekten daha hızlı bir yöntemdir. Ancak, bu yöntemin de bazı dezavantajları vardır. Örneğin, rainbow tabloları çok fazla bellek alanı gerektirir. Ayrıca, parolaların uzunluğu, karmaşıklığı ve çeşitliliği arttıkça, rainbow tablolarının başarı oranı azalır.
Sistem yöneticileri, rainbow tablolarına karşı bazı önlemler alabilir. Bunlardan biri, salt adı verilen rastgele karakterler eklemektir. Salt, parolanın sonuna, başına veya ortasına yerleştirilen bir karakter dizisidir. Salt, hash değerini değiştirir ve rainbow tablolarının işe yaramasını engeller. Örneğin, "Siber" parolasının hash değeri "112312311231" ise, sonuna "+++" eklenirse, hash değeri "1823891239812" olur. Böylece, saldırgan, rainbow tablosunda "Siber" parolasını bulsa bile, hash değeri eşleşmeyecektir.
Başka bir önlem, key stretching adı verilen bir yöntemdir. Key stretching, parolanın hash değerini hesaplamak için birden fazla karma fonksiyonu kullanmaktır. Bu sayede, hash değerini hesaplamak daha uzun zaman alır ve saldırganın işini zorlaştırır. Örneğin, "Siber" parolasının hash değeri "112312311231" ise, bunun üzerine başka bir hash fonksiyonu uygulanarak, hash değeri "5c41c6b3958e798662d8853ece970f70" olur. Böylece, saldırgan, ilk hash değerini bulsa bile, ikinci hash değerini bulmak için daha fazla zaman harcaması gerekir.
Rainbowcrack, rainbow tabloları oluşturmak ve kullanmak için bir araçtır. Kali Linux işletim sisteminde bulunur. Rainbowcrack, rtgen, rtsort, rt2rtc ve rtc2rt gibi farklı komutlar içerir. Bu komutların anlamları şöyledir:
- rtgen: Rainbow tabloları oluşturmak için kullanılır. Özet algoritma, karakter seti, minimum ve maksimum karakter sayısı, tabloların sıralanması, zincir uzunluğu, zincir sayısı ve tablo başlangıç sayısı gibi parametreler alır. Özet algoritma, hash fonksiyonunun adıdır. Karakter seti, parolalarda kullanılan karakterlerin kümesidir. Minimum ve maksimum karakter sayısı, parolaların uzunluğunu belirler. Tabloların sıralanması, birden fazla tablo oluşturulduğunda, hangi sırayla kullanılacağını gösterir. Zincir uzunluğu, her bir parolanın kaç defa hash fonksiyonundan geçirileceğini belirler. Zincir sayısı, oluşturulacak parola sayısını belirler. Tablo başlangıç sayısı, her bir zincir için başlangıç değerini belirler.
- rtsort: Rainbow tablolarını sıralamak için kullanılır. Sıralama, tablolarda arama yapmayı hızlandırır.
- rt2rtc ve rtc2rt: Rainbow tablolarının uzantısını değiştirmek için kullanılır. rt uzantısı, rainbow tablosunun standart formatıdır. rtc uzantısı, rainbow tablosunun sıkıştırılmış formatıdır. Sıkıştırma, tabloların boyutunu küçültür, ancak arama yapmayı yavaşlatır.
- rcrack: Rainbow tablolarını kullanarak hash değerlerini kırmak için kullanılır. -f, -l ve -h gibi seçenekler alır. -f seçeneği, hash değerlerinin bulunduğu bir dosyayı belirtir. -l seçeneği, hash değerlerinin uzunluğunu belirtir. -h seçeneği, tek bir hash değerini belirtir.
Teknik Olmayan Parola Atakları
Teknik olmayan parola atakları, bir kişinin veya kurumun parolasını veya diğer hassas bilgilerini, teknik beceri veya donanım gerektirmeden, psikolojik veya fiziksel yollarla ele geçirmeye çalışan saldırılardır. Bu saldırıların bazı örnekleri şunlardır:
- Bir kişinin takibini yapmak: Bu saldırıda, saldırgan, hedefin parolasını veya diğer bilgilerini öğrenmek için onun davranışlarını, alışkanlıklarını, kişisel hayatını veya iş ilişkilerini gözlemleyebilir. Örneğin, saldırgan, hedefin parolasını bir kağıda yazdığını veya kolay tahmin edilebilen bir kelime veya tarih kullandığını fark edebilir.
- Keylogger programları kullanmak: Bu saldırıda, saldırgan, hedefin bilgisayarına veya mobil cihazına, klavye tuşlarını kaydeden bir yazılım yükleyebilir. Bu yazılım, hedefin girdiği her şeyi, parolalar dahil, saldırgana gönderebilir. Örneğin, saldırgan, hedefin e-posta hesabına veya banka hesabına giriş yaparken kullandığı parolayı öğrenebilir.
- Sosyal mühendislik yöntemleri kullanmak: Bu saldırıda, saldırgan, hedefi veya onunla ilişkili bir kişiyi, parolasını veya diğer bilgilerini gönüllü olarak vermesi için kandırabilir. Örneğin, saldırgan, hedefe, güvenilir bir kurumdan aradığını veya e-posta gönderdiğini söyleyerek, parolasını veya güvenlik sorusunun cevabını isteyebilir.
Bu saldırıların önlenmesi için, parolaların güçlü, benzersiz ve sık sık değiştirilmesi, kişisel veya hassas bilgilerin paylaşılmaması, bilgisayar veya mobil cihazların güvenli bir şekilde korunması ve güvenilir olmayan kaynaklardan gelen arama veya e-postalara dikkat edilmesi gerekmektedir. Ayrıca, bilgi toplama teknikleri hakkında bilgi sahibi olmak, bu saldırıların farkında olmak ve savunma stratejileri geliştirmek için yararlı olabilir.

