Hashcat ile GPU Kullanarak WPA/WPA2 Parolaları Kırma

Huriye Özdemir
4 min readNov 3, 2020

WPA/WPA2 parolalarını kırma amaçlı kullanılabilecek bir çok araç bulunmaktadır. Aircrack-ng, John the Ripper, Cowpatty bunlardan bazıları. Fakat bu araçları kullanırken WPA/WPA2 anahtarını ele geçirebilmek için CPU gücünü kullanırsınız, bu da parolanın karmaşıklığına bağlı olarak eğer güçlü bir wordlist’iniz yok ise size uzun zaman kaybettirebilir. Bunun yerine GPU kullanmak size kat kat zaman kazandıracaktır. Çünkü CPU’da bulunan çekirdek ve paralel hesaplama birimlerinden GPU’larda binlerce bulunuyor ve bu da parola kırma işlemlerini çok daha hızlı bir şekilde halledebilmenize yardımcı oluyor.

GPU kullanarak parola kırmaya yarayan araçlardan belki de en sık karşılaşılanı Pyrit aracıdır. Fakat Hashcat, içerisindeki birçok şifreleme algoritması sayesinde parola kırma işlemleri için çok daha güçlü bir araç. Bu yazıda sizlere Hashcat kullanarak bu işlemleri nasıl gerçekleştirebileceğinizi adım adım göstermeye çalışacağım.

Hashcat’i kendi host makineme kurarak bu işlemleri gerçekleştirdim, çünkü sanallaştırma uygulamaları host makinedeki GPU’ya erişimi desteklemiyor. Haydi başlayalım!

Kurulum

Kurulumu dilerseniz Hashcat’in web sitesindeki Download kısmından indirerek yapabilirsiniz. Ben terminal üzerinden ilerleyeceğim.

Öncelikle Hashcat’i Github reposundan klonlayalım:

git clone https://github.com/hashcat/hashcat.git

Hashcat için gerekli bazı araçların kurulumunu yapmak için -p (path) parametresi ile dizin yolunu belirterek hashcat dizini içerisinde “deps” isimli yeni bir dizin açalım:

mkdir -p hashcat/deps

Hashcat performansı artırmak amacı ile OpenCL kullanır. OpenCL bir paralel programlama platformudur ve cihazların işlemcileri üzerinde hesaplamalar yapar. Bu oluşturduğumuz dizin içerisine OpenCL reposunu klonlayalım.

git clone https://github.com/KhronosGroup/OpenCL-Headers.git hashcat/deps/OpenCL

Hashcat dizini içerisine giderek make komutu ile kurulumu başlatalım.

cd hashcat/ && make

Kurulum tamamlandıktan sonra versiyonuna bakarak kontrol edebilirsiniz.

Hash Modes

Hashcat’in kullanımı parametreleri ve algoritmaları listelemek için help komutunu kullanalım. Karşımıza çıkacak sayfa bir hayli uzun olduğu için sizi biraz bekletebilir.

./hashcat --help

Hash modları listesine geldiğinizde kırmak istediğiniz parolaya göre hash’lerin mod sayılarını görebilirsiniz. WPA için 2500 hash modunu kullanacağız.

Hashcat’in benchmark modu özelliği bize spesifik bir hash tipi için kullanılacak CPU ve GPU’ya göre işlem hızlarını gösteriyor.

Benchmark modu için -b parametresini, ve WPA için hash modunu -m parametresi ile giriyoruz.

./hashcat -b -m 2500

WPA Handshake

Parola kırma işlemine geçmeden önce elbette elinizde uygun bir 4'lü el sıkışma olması gerek. Ben daha önce Kali Linux üzerinde Airodump-ng ile yakalamış olduğum .cap uzantılı bir el sıkışma dosyasını kullanacağım.

4'lü el sıkışmayı yakalamak için kanal numarasını, dinlediğiniz cihazın MAC adresini, oluşturulacak dosyanın ismini ve monitor moddaki wifi interface ismini girerek şu şekilde bir airodump-ng oturumu açmanız gerek.

Uygun el sıkışma yakalandığında airodump session üzerinde WPA Handshake uyarısını görmeniz gerek.

Daha önce yakalamış olduğum wpacracking-01.cap isimli dosyayı kendi host makineme taşıdım.

Parola Kırma

Parola kırma işlemine geçmeden önce yapmamız gereken elimizdeki .cap uzantılı dosyayı Hashcat’in anlayacağı dosya uzantısı olan .hccapx formatına çevirmek.

Bu işlemi online olarak bu websitesinden de yapabilirsiniz fakat elimdeki veriyi online bir ortama yüklemek yerine ben hashcat-utils içerisindeki araçları kullanarak format değişikliği yapacağım.

Hashcat-utils içerisinde parola kırma işlemleri sırasında işimize yarayabilecek bazı gerekli araçlar bulunuyor.

Hashcat dizini altına bu repoyu da kopyaladıktan sonra hashcat-utils/src dizini altında make komutunu çalıştırıyorum.

Format değişikliği için kullanacağımız araç cap2hccapx.bin olacak.

Aracı çalıştırarak önce elimizdeki .cap uzantılı dosyanın tam yolunu ve oluşturacağımız hccapx uzantılı dosyanın nerede oluşturulması gerektiğini giriyoruz.

Şimdi parola kırma işlemi için dictionary atak sırasında kullanmak üzere bir wordlist edinmemiz gerek. Ben şimdi rockyou.txt’yi kullanacağım fakat siz password wordlist olarak Google’da envai çeşit liste bulabilir daha güçlü bir liste de indirebilirsiniz.

Son adımda Hashcat’i çalıştırırken WPA için hash modunu, kullanmak istediğimiz device tipini (GPU kullanmak için 2. ve 3. sıradaki cihazları seçtim), hccapx uzantılı 4'lü el sıkışma dosyasını ve son olarak indirdiğimiz rockyou.txt wordlist’inin tam yolunu giriyoruz.

Bu komutu çalıştırdığınızda CPU kullanarak parola kırma işlemlerinde beklediğiniz sürenin aksine GPU içerisindeki binlerce çekirdek ve paralel hesaplama birimleri sayesinde çok çok daha kısa süre içerisinde parola kırma işlemini gerçekleştirebiliyoruz. Hızları ve süreleri görmek için “s” ile statusu görüntüleyebilirsiniz.

--

--

Huriye Özdemir

Senior Cybersecurity Consultant | Artist — Instagram: @art.lady.bug