Post

Hashcat ile PDF Parolası Kırma: Adım Adım Rehber

🇹🇷 Bu kapsamlı rehberde, Kali Linux üzerinde Hashcat kullanarak parola korumalı bir PDF dosyasının nasıl kırılacağını öğreneceksiniz.

Hashcat ile PDF Parolası Kırma: Adım Adım Rehber

🇬🇧 English: Cracking PDF Password with Hashcat: A Step-by-Step Guide

Giriş

Bu kapsamlı rehberde, Kali Linux üzerinde Hashcat kullanarak parola korumalı bir PDF dosyasının nasıl kırılacağını öğreneceksiniz. Hashcat, PDF dosyalarını korumak için kullanılanlar da dahil olmak üzere çeşitli hash türlerini kırabilen güçlü bir parola kurtarma aracıdır.

⚠️ Yasal Uyarı

Bu rehber sadece eğitim amaçlıdır ve şunlar için hazırlanmıştır:

  • Yetkili sızma testi yapan güvenlik uzmanları
  • Yasal dosyalara erişimi kurtaran sistem yöneticileri
  • Parola koruma mekanizmalarını inceleyen güvenlik araştırmacıları

Bu bilgiyi şunlar için KULLANMAYIN:

  • Korunan belgelere izinsiz erişim
  • Sistemlere veya ağlara sızma
  • Herhangi bir yasa dışı faaliyet

Parolaları kırmayı denemeden önce her zaman gerekli izni alın. İzinsiz parola kırma işlemi yerel ve uluslararası yasaları ihlal edebilir.

Gereksinimler

1. Sistem Gereksinimleri

Donanım Gereksinimleri

  • İşlemci (CPU): Çok çekirdekli işlemci (daha fazla çekirdek = daha hızlı kırma)
  • Ekran Kartı (GPU): Donanım hızlandırma için NVIDIA veya AMD GPU (isteğe bağlı ama önerilir)
  • RAM: Minimum 8GB (16GB veya fazlası önerilir)
  • Depolama: Wordlistler (kelime listeleri) için 20GB boş alan

Yazılım Gereksinimleri

  1. Kali Linux
    • En son sürüm önerilir
    • USB, Sanal Makine (VM) veya doğrudan kurulum ile çalıştırılabilir
    • Diğer Linux dağıtımları da çalışır ancak komutlar değişebilir
  2. Hashcat
    • Kali Linux’ta ön yüklü gelir
    • Gerekirse kurulum: sudo apt update && sudo apt install hashcat
    • Sürüm 6.0.0 veya üzeri önerilir
    • Kurulumu kontrol edin: hashcat --version
  3. Gerekli Araçlar
    • John the Ripper (pdf2john için): sudo apt install john
    • Python 3.x: Kali’de ön yüklü
    • Metin düzenleyici (nano/vim)

2. Gerekli Dosyalar

  1. Parola Korumalı PDF Dosyası
    • Desteklenen sürümler: PDF 1.1 - 1.7
    • Dosya boyutu: Tercihen 100MB altı
    • Okunabilir olmalı (bozuk olmamalı)
  2. Wordlist (Kelime Listesi)
    • Varsayılan: rockyou.txt (/usr/share/wordlists/rockyou.txt)
    • Eksikse indirin:
      1
      
      sudo gunzip /usr/share/wordlists/rockyou.txt.gz
      
    • Diğer wordlistler:
      • SecLists: sudo apt install seclists
      • Hedefe özel wordlistler

3. İsteğe Bağlı Araçlar

  1. GPU Sürücüleri
    • NVIDIA: sudo apt install nvidia-driver
    • AMD: sudo apt install mesa-opencl-icd
  2. İzleme Araçları
    • htop: sudo apt install htop
    • nvtop (NVIDIA GPU’lar için): sudo apt install nvtop

Adım 1: PDF’ten Hash Çıkarma

Hashcat kullanmadan önce, PDF dosyasından hash’i çıkarmanız gerekir. Hash, PDF’te kullanılan parola koruma mekanizmasının kriptografik bir temsilidir. Bu hash’i çıkarmak için birkaç yöntem vardır.

PDF Parola Korumasını Anlamak

PDF dosyaları iki tür parola ile korunabilir:

  1. Kullanıcı Parolası (Belge Açma Parolası)
    • Belgenin açılmasını engeller
    • Temel dosya erişimi için gereklidir
    • Bu rehberde kıracağımız parola türü budur
  2. Sahip Parolası (İzin Parolası)
    • Belge izinlerini kontrol eder
    • Yazdırma, kopyalama, düzenlemeyi kısıtlar
    • Kırılması daha karmaşıktır

Seçenek 1: pdf2john Kullanımı (Önerilen Yöntem)

pdf2john, hash çıkarma için en güvenilir araçtır. Çeşitli PDF şifreleme yöntemlerini işlemek için özel olarak tasarlanmıştır.

Kurulum

1
2
3
# John the Ripper yüklü değilse kurun
sudo apt update
sudo apt install john

Hash Çıkarma Adımları

  1. Ortamınızı Hazırlayın
    1
    2
    3
    
    # Çalışma dizini oluşturun
    mkdir pdf_crack
    cd pdf_crack
    
  2. PDF’inizi Kopyalayın
    1
    2
    
    # /path/to/your.pdf kısmını gerçek dosya yolunuzla değiştirin
    cp /path/to/your.pdf ./protected.pdf
    
  3. Hash’i Çıkarın
    1
    
    pdf2john protected.pdf > hash.txt
    
    • protected.pdf kısmını kendi PDF dosya adınızla değiştirin
    • > operatörü çıktıyı hash.txt dosyasına yönlendirir
  4. Hash’i Doğrulayın
    1
    
    cat hash.txt
    

Hash Çıktısı

1
2
3
4
5
6
┌──(fr0stb1rd㉿kali)-[~/Desktop]
└─$ cat hash.txt
protected.pdf:$pdf$2*3*128*-4*1*16*d05276a71ab81c45a6a3bd0363be0606*32*8424c2551c7d03e964f00e04ffc8637428bf4e5e4e758a4164004e56fffa0108*32*38d28f6967ed3a8602824da3d47449ceae970293fd62ee126fafd0e7a28438a2

┌──(fr0stb1rd㉿kali)-[~/Desktop]
└─$ 

Çıktıyı Anlamak

Hash çıktısı şuna benzer olacaktır:

1
protected.pdf:$pdf$4*4*128*fr0stb1rdfr0stb1rdfr0stb1rdfr0stb1rdfr0stb1rdfr0stb1rdfr0stb1rdfr0stb1rd...*1*16*fr0stb1rdfr0stb1rdfr0stb1rdfr0stb1rdfr0stb1rdfr0stb1rdfr0stb1rdfr0stb1rd

Bileşenleri inceleyelim:

  • $pdf$: Format tanımlayıcısı
  • 4: PDF sürümü
  • 128: Anahtar uzunluğu
  • Geri kalanı: Şifreleme verileri

Sadece hash’i almak için çıktıdan protected.pdf: kısmını silin.

hash.txt dosyanız şöyle görünmelidir:

$pdf$2*3*128*-4*1*16*d05276a71ab81c45a6a3bd0363be0606*32*8424c2551c7d03e964f00e04ffc8637428bf4e5e4e758a4164004e56fffa0108*32*38d28f6967ed3a8602824da3d47449ceae970293fd62ee126fafd0e7a28438a2

Seçenek 2: Python Script Kullanımı (Alternatif)

Eğer pdf2john çalışmazsa, alternatif olarak pdf2Hashcat.py Python scriptini deneyebilirsiniz. Bu scripti çalıştırırken dikkatli olun, pdf2john kadar güvenilir olmayabilir. pdf2Hashcat.py scriptini internetten aratıp indirebilirsiniz.

Adım 2: Hash Türünü Belirleme

Hashcat, başarılı bir parola kurtarma işlemi için doğru hash türünü belirtmenizi gerektirir. PDF dosyaları, sürümlerine ve güvenlik ayarlarına göre farklı hash türleri kullanır.

PDF Sürümü ve Hash Türü Eşleşmesi

PDF SürümüAcrobat SürümüHash TürüGüvenlik Özellikleri
1.1 - 1.3Acrobat 2 - 410500Temel RC4 şifreleme
1.4 - 1.6Acrobat 5 - 810600Gelişmiş RC4/AES
1.7 Level 3Acrobat 910700AES-128
1.7 Level 8Acrobat 10 - 1110400AES-256

PDF Sürümü Nasıl Kontrol Edilir

  1. exiftool kullanarak:
    1
    2
    3
    4
    5
    
    # exiftool kurulumu
    sudo apt install exiftool
    
    # PDF sürümünü kontrol etme
    exiftool protected.pdf | grep "PDF Version"
    
  2. pdfinfo kullanarak:
    1
    2
    3
    4
    5
    
    # poppler-utils kurulumu
    sudo apt install poppler-utils
    
    # PDF sürümünü kontrol etme
    pdfinfo protected.pdf | grep "PDF version"
    
  3. Manuel Kontrol:
    • PDF’i metin düzenleyici ile açın
    • Başta %PDF-X.X ifadesini arayın

PDF Sürüm Kontrolü

1
2
3
4
5
6
┌──(fr0stb1rd㉿kali)-[~/Desktop/pdf_crack]
└─$ exiftool protected.pdf | grep "PDF Version"
PDF Version                     : 1.7
                                                                                                                     
┌──(fr0stb1rd㉿kali)-[~/Desktop/pdf_crack]
└─$ 

Adım 3: Hashcat’i Çalıştırma

Donanım Optimizasyonu

  1. GPU Kurulumu (Önerilen)
    1
    2
    3
    4
    5
    6
    
    # GPU desteğini kontrol et
    hashcat -I
    
    # GPU izlemeyi etkinleştir
    watch -n 1 nvidia-smi  # NVIDIA için
    watch -n 1 radeontop   # AMD için
    
  2. CPU Optimizasyonu
    1
    2
    3
    4
    5
    
    # Performans modunu ayarla
    sudo cpupower frequency-set -g performance
    
    # CPU kullanımını izle
    htop
    

Saldırı Modları

  1. Wordlist Saldırısı (Mod 0)
    1
    
    hashcat -m <hash_type> -a 0 hash.txt wordlist.txt
    
  2. Kombinasyon Saldırısı (Mod 1)
    1
    2
    
    # İki kelime listesini birleştir
    hashcat -m <hash_type> -a 1 hash.txt list1.txt list2.txt
    
  3. Maske Saldırısı (Mod 3)
    1
    2
    
    # Desen tabanlı saldırı
    hashcat -m <hash_type> -a 3 hash.txt ?d?d?d?d?d?d  # 6 rakam
    
  4. Hibrit Saldırı (Mod 6)
    1
    2
    
    # Wordlist + Maske
    hashcat -m <hash_type> -a 6 hash.txt wordlist.txt ?d?d?d
    

Gelişmiş Seçenekler

1
2
3
4
5
6
7
8
9
# Temel komut ve seçenekler
hashcat -m <hash_type> -a 0 hash.txt wordlist.txt \
   --status            \ # İlerlemeyi göster
   --status-timer 10   \ # Her 10 saniyede bir güncelle
   -w 3                \ # İş yükü profili (1-4)
   --force             \ # Uyarıları yoksay
   -O                  \ # 32 karakter veya daha azı için optimize et
   --session mysession \ # Oturumu kaydet
   -r rules/best64.rule  # Kuralları uygula

Performans Ayarları

  1. İş Yükü Profilleri (Workload Profiles)
    • -w 1: Sistem üzerinde düşük etki
    • -w 2: Varsayılan denge
    • -w 3: Yüksek performans
    • -w 4: Maksimum performans
  2. Çekirdek (Kernel) Optimizasyonu
    1
    2
    
    # Daha iyi GPU performansı için
    hashcat --kernel-accel 1 --kernel-loops 1
    
  3. Hafıza Yönetimi
    1
    2
    
    # Segment boyutu ayarlaması
    hashcat --segment-size 512
    

İlerleme Durumunu İzleme

  1. Durum Ekranı
    • Speed: H/s (Saniye başına Hash)
    • Progress: % tamamlandı
    • Time Remaining: ETA (Tahmini Kalan Süre)
    • Recovered: Bulunan parolalar
  2. İlerlemeyi Kaydetme
    1
    2
    3
    4
    5
    
    # Oturumu kaydet
    hashcat ... --session mysession
    
    # Oturumu geri yükle
    hashcat --session mysession --restore
    
  3. Çıktı Seçenekleri
    1
    2
    3
    4
    5
    
    # Kırılan parolaları kaydet
    hashcat ... --outfile cracked.txt
    
    # Sadece kırılanları göster
    hashcat ... --show
    

Kırmayı Başlat

1
hashcat -m 10500 hash.txt wordlist.txt

Komutu çalıştırdıktan sonra, kırma işleminin ilerlemesini göreceksiniz. Sabırlı olun, bu işlem biraz zaman alabilir.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
┌──(fr0stb1rd㉿kali)-[~/Desktop/pdf_crack]
└─$ hashcat -m 10500 hash.txt wordlist.txt
hashcat (v6.2.6) starting

OpenCL API (OpenCL 3.0 PoCL 6.0+debian  Linux, None+Asserts, RELOC, LLVM 18.1.8, SLEEF, DISTRO, POCL_DEBUG) - Platform #1 [The pocl project]
============================================================================================================================================
* Device #1: cpu-sandybridge-16th Gen Intel(R) Core(TM) i9-12900KF @ 8.20GHz, 21593/50244 MB (21590 MB allocatable), 32MCU

Hashes: 1 digests; 1 unique digests, 1 unique salts
Bitmaps: 16 bits, 65536 entries, 0x0000ffff mask, 262144 bytes, 5/13 rotates
Rules: 1

Optimizers applied:
* Zero-Byte
* Not-Iterated
* Single-Hash
* Single-Salt

Watchdog: Temperature abort trigger set to 90c

Host memory required for this attack: 2 MB

Dictionary cache built:
* Filename..: wordlist.txt
* Passwords.: 50
* Bytes.....: 506
* Keyspace..: 50
* Runtime...: 0 secs

The wordlist or mask that you are using is too small.
This means that hashcat cannot use the full parallel power of your device(s).
Unless you supply more work, your cracking speed will drop.
For tips on supplying more work, see: https://hashcat.net/faq/morework

Approaching final keyspace - workload adjusted.           

$pdf$2*3*128*-4*1*16*d05276a71ab81c45a6a3bd0363be0606*32*8424c2551c7d03e964f00e04ffc8637428bf4e5e4e758a4164004e56fffa0108*32*38d28f6967ed3a8602824da3d47449ceae970293fd62ee126fafd0e7a28438a2:fr0stb1rd
                                                          
Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 10500 (PDF 1.4 - 1.6 (Acrobat 5 - 8))
Hash.Target......: $pdf$2*3*128*-4*1*16*d05276a71ab81c45a6a3bd0363be06...8438a2
Time.Started.....: Sun May  4 08:59:40 2025 (0 secs)
Time.Estimated...: Sun May  4 08:59:40 2025 (0 secs)
Kernel.Feature...: Pure Kernel
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:      158 H/s (0.30ms) @ Accel:256 Loops:70 Thr:1 Vec:8
Recovered........: 1/1 (100.00%) Digests (total), 1/1 (100.00%) Digests (new)
Progress.........: 50/50 (100.00%)
Rejected.........: 0/50 (0.00%)
Restore.Point....: 0/50 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-70
Candidate.Engine.: Device Generator
Candidates.#1....: hunter2 -> hypernova
Hardware.Mon.#1..: Util: 12%

Started: Sun May  4 08:59:17 2025
Stopped: Sun May  4 08:59:41 2025
                                                                                                                     
┌──(fr0stb1rd㉿kali)-[~/Desktop/pdf_crack]
└─$ 

Eğer parola başarıyla kırılırsa, aşağıda gösterildiği gibi hash ile birlikte parolayı size verecektir:

1
$pdf$2*3*128*-4*1*16*d05276a71ab81c45a6a3bd0363be0606*32*8424c2551c7d03e964f00e04ffc8637428bf4e5e4e758a4164004e56fffa0108*32*38d28f6967ed3a8602824da3d47449ceae970293fd62ee126fafd0e7a28438a2:fr0stb1rd

Parola: fr0stb1rd

Pot Dosyası

Hashcat kırılan tüm hashleri bir pot dosyasına yazar. Pot dosyası, kırılan hash’i ve parolayı içeren bir metin dosyasıdır.

1
2
3
4
5
6
7
┌──(fr0stb1rd㉿kali)-[~/Desktop]
└─$ cat ~/.local/share/hashcat/hashcat.potfile
$pdf$4*4*128*-4*1*16*489810bcd5953bf4871f6ee95308f7c6*32*021eacdfc91fb1d57e46fb8c0ea50c9b28bf4e5e4e758a4164004e56fffa0108*32*9a79d589019a7d332527723a4df175c6b3c192574569fc487c3437c25ea5024f:istanbulTURKEY
$pdf$2*3*128*-4*1*16*d05276a71ab81c45a6a3bd0363be0606*32*8424c2551c7d03e964f00e04ffc8637428bf4e5e4e758a4164004e56fffa0108*32*38d28f6967ed3a8602824da3d47449ceae970293fd62ee126fafd0e7a28438a2:fr0stb1rd

┌──(fr0stb1rd㉿kali)-[~/Desktop]
└─$ 

Pot dosyasını ~/.local/share/hashcat/hashcat.potfile konumunda bulabilirsiniz.

Sonuç

Hashcat ile başarılı bir PDF parolası kurtarma işlemi şunları gerektirir:

  • Doğru hash türü tespiti
  • Uygun saldırı stratejisi
  • Optimize edilmiş donanım kullanımı
  • Sabır ve ısrar

Unutmayın: Bu bilgi sadece meşru parola kurtarma senaryoları için kullanılmalıdır.

Hashcat İlerlemesi

Kaynak Kullanımı: Sistem kaynaklarını dikkatle izleyin. Parola kırma işlemi donanımı zorlayabilir.

Süre Tahmini: Başarı oranı, parola karmaşıklığına ve donanım yeteneklerine göre büyük ölçüde değişir.

Not: Hashcat güçlü bir araçtır ancak sorumlu bir şekilde kullanılmalıdır. İzinsiz parola kırma yasa dışı olabilir.

This post is licensed under CC BY 4.0 by the author.