nurhayatozdemir.com
Kriptolama(Şifreleme) Ve Hashcat Kullanımı - Nurhayat Özdemir
Günümüzde duyulan en büyük ihtiyaçlardan birisi ‘bilginin doğru ve güvenli bir şekilde saklanıp, gerektiği yer ve zamanda ilgili kişiler tarafından’ kullanılmasıdır. Bu nedenle karşımıza “Kripto” yani “Şifreleme” çıkmaktadır. Kriptolar sadece günümüzde dijital ortam içerisinde kullanılmıyorlar.Fiziksel bir metni veya mektupları da anlaşılmaz hala getirilmek amacıyla farklı tekniklerle şifrelenebilirler. Bu kriptoları veya hash’leri çözmeden bu yazılar hiç bir şey ifade etmeyecektir. Parola Ve Şifre Farkı Parola : Bir sisteme girmemiz için belirlediğimiz harflerden, rakamlardan ve özel karakterlerden oluşan sözcüktür, metindir. Sisteme girme iznimizdir. İnternet sitelerindeki kullanıcı girişlerinde kullandığımız paroladır, kablosuz internete erişmemiz için girmemiz gereken paroladır, şifre değil! Şifre : Bir metni, bir parolayı bir algoritmaya göre anlamsız hale getirme işlemleri sonrasında yaratılan veridir. Şifreleme Yöntemleri Teknolojinin hızlı bir şekilde gelişmesiyle askeri, elektronik, banka sistemleri ve daha bir çok yer kriptografi biliminin kullanım alanları haline gelmiştir. Günümüz sistemlerinde en önemli gereksinimlerden birisi bilgilerin sorunsuz bir şekilde taşınması ve gizliliktir. Verilerin güvenli bir şekilde yollanması ve karşı taraftan alınabilmesi için kriptografi bilimi aracılığıyla geliştirilen çeşitli şifreleme, anahtarlama ve çözümleme algoritmaları kullanılmaktadır. Simetrik Şifreleme Algoritmaları Bu algoritmada şifreleme ve şifre çözmek için bir tane gizli anahtar kullanılmaktadır. Kullanılan anahtar başkalarından gizlidir ve şifreleme yapan ile şifrelemeyi çözecek kişilerde arasında anlaşılmış ortak bir anahtardır. Gönderilecek gizli metinle beraber üstünde anlaşılmış olan gizli anahtar da alıcıya gönderilir ve şifre çözme işlemi gerçekleştirilir. DES (Data Encrytion Standard – Veri Şifreleme Standartı) Blok şifreleme algoritmasıdır. Şifrelemeyi metin uzunlukları belli olan bloklar halinde gerçekleştirir. DES algoritması 64 bitlik anahtar uzunluğuna sahip olmasına rağmen 56 bit uzunluğunda simetrik kriptolama tekniği kullanan bir sistemdir. Her kullanımında o kullanıma özel yeni bir anahtar yaratması DES’in güçlü yanı olup, günümüz teknolojisi için algoritmasının yavaş ve 56-bit’lik anahtar uzunluğunun yetersiz kalması DES’in zayıf yönleridir. AES (Advanced Encrytion Standard – Gelişmiş Şifreleme Standartı) Des’e göre daha güvenli bir sistemdir. Çeşitli bilim adamları tarafından DES’in kırılması üzerine 2001 yılında geliştirilmiştir. Belçikalı Vincent Rijmen ve Joan Daemen tarafından bulunmuş, DES’in ve zayıf yönlerini tamamen düzelterek, matematikle oluşturulmuş bir blok şifreleme algoritmasıdır. 128 bit, 192 bit ve 256 bit olmak üzere üç farklı anahtar uzunluğuna sahip olabilir. AES’in DES’in aksine donanımda ve yazılımda hızlı olması, daha kolay uygulanabilir olması ve çok daha az hafızaya gerek duyması güçlü yönleri olarak söylenebilir. Blowfish Blowfish, 64-bit öbek büyüklüğüne ve 32 bit’ten 448 bit’e kadar anahtar uzunluğuna sahiptir. , DES’in eksik kalmaya başlamasından sonra onun yerini alması amacıyla tasarlanmıştır. Blowfish algoritması en az 4 kb ram’a ihtiyaç duyar. Bu yüzden akıllı kartlar gibi en küçük sistemlerde kullanılamaz. Asimetrik Şifreleme Algoritmaları Simetrik şifreleme algoritmalarında bulunan en büyük problem anahtar dağıtımıdır. Simetrik algoritma kullanan çok kullanıcılı bir sistemde anahtarın bütün kullanıcılara aynı anahtarın dağıtılması güvenlik açısından problemli olabilir. Her kullanıcıya farklı bir anahtar vermek ise sistemde bir çok farklı anahtar olacağı için sıkıntılı olabilir. Bu sorunları çözüm getirmek için asimetrik şifreleme algoritmaları geliştirilmiştir. Asimetrik şifreleme algoritmalarında anahtar ile şifre çözme anahtarı birbirinden farklıdır. Şifreleme yapan anahtara açık anahtar, şifreyi çözen anahtar ise özel anahtardır. Açık anahtarlar herkese dağıtılabilir, ancak hangi anahtarın kime ait olduğundan da emin olunmalıdır. Bu yüzden sertifikalar kullanılmaktadır. Sertifika açık anahtar ile sahibinin kimliği arasındaki bağlantının belgesidir. Özel anahtar ise sadece şifreyi çözecek kullanıcıda bulunur, açık anahtar ise gizli değildir. Bu yüzden asimetrik şifreleme güvenlik açısından simetriğe göre çok daha başarılıdır. Anahtarsız Algoritmalar Simetrik ve asimetrik şifrelemelerin haricinde girdi olarak anahtar kullanmayan algoritmalar da bulunmaktadır. Bu algoritmalar genel olarak bir sistemde yalnız olarak kullanılmazlar. Sistemde bulunan simetrik ve asimetrik diğer algoritmalara yardımcı olmak için yapılmışlardır. Şifreleme Algoritması Kriterleri Nelerdir? ► Şifrelenmiş mesaj, deşifre edildiğinde bilgi kaybı olmamalıdır.► Şifreleme işlemlerinde güvenlik seviyesi mümkün olduğunca yüksek olmalıdır.► İhtiyaç duyulan güvenlik seviyesine göre güvenlik seviyesi seçilebilmelidir.► Şifrelenmiş mesaj ile düz metin arasındaki ilişki zor kurulmalıdır.► Şifreleme işlemleri basitçe ve kolaylıkla gerçekleştirilebilmelidir.► Verimi düşürecek, maliyeti ve işgücünü arttıracak yaklaşımlar içermemelidir.► Kullanılan algoritmaların karıştırıcı özelliği olmalıdır.► Şifreleme yaklaşımları herkese açık olmalıdır.► Şifreleme yaklaşımları, açıklıkların ortaya çıkarılabilmesi için mümkün olduğunca geniş bir platformda test edilebilmelidir. Hashcat Kullanımı Hashcat toolu Kali Linuxta kurulu olarak gelmektedir. Aşağıdaki resimde gösterildiği gibi çalıştırabilirsiniz. Hashcat’le birçok hashleme türü mevcut. Ben örnek olarak MD5 hash algoritmasını kullandım. Öncelikle buraya tıklayarak ‘bilisim’ kelimesinin hashini aldım. Bir tane .txt dosyası oluşturarak MD5 le elde ettiğimiz hashi bu dosyaya yazdım. Daha sonra dictionary attack yapacağımız için bir wordlist oluşturdum. Ve içine hashini aldığım kelimeyi de bu listeye ekliyorum. Hashcat’i çalıştırdıktan sonra $ hashcat –help yazdığımda gerçekleştirmek istediğimiz işleme göre parametreleri gösteriyor. Aşagıdaki komutu çalıştırdığımızda brute-force attack gerçekleştirilmiş oluyor. -m 0 parametresi ile kullanılan hash türü seçilir. (md5) -a 0 parametresi ile saldırı tipi belirlenilir. (dictionary attack) –force Bu parametresinin kullanılmasının sebebi hashcatin GPU kullanıyor olmasıdır. Sanal makinede kurulu olan Kali hashtcat kullanırken GPU desteklemiyor. Yukarıda ki resimde gösterildiği üzere şifrelenmiş olan kelime açığa çıkıyor. Şifre kırmak için birçok yöntem bulunmaktadır. Hashcat sadece bunlardan biri. Örnek olarak John , Hydra gibi yöntemleri de deneyebilirsiniz. Okuduğunuz için teşekkürler .