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.
🇬🇧 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
- 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
- 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
- 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)
- John the Ripper (pdf2john için):
2. Gerekli Dosyalar
- Parola Korumalı PDF Dosyası
- Desteklenen sürümler: PDF 1.1 - 1.7
- Dosya boyutu: Tercihen 100MB altı
- Okunabilir olmalı (bozuk olmamalı)
- 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
- SecLists:
- Varsayılan:
3. İsteğe Bağlı Araçlar
- GPU Sürücüleri
- NVIDIA:
sudo apt install nvidia-driver - AMD:
sudo apt install mesa-opencl-icd
- NVIDIA:
- İzleme Araçları
- htop:
sudo apt install htop - nvtop (NVIDIA GPU’lar için):
sudo apt install nvtop
- htop:
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:
- 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
- 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ı
- Ortamınızı Hazırlayın
1 2 3
# Çalışma dizini oluşturun mkdir pdf_crack cd pdf_crack
- 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
- Hash’i Çıkarın
1
pdf2john protected.pdf > hash.txtprotected.pdfkısmını kendi PDF dosya adınızla değiştirin>operatörü çıktıyı hash.txt dosyasına yönlendirir
- Hash’i Doğrulayın
1
cat hash.txt
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.3 | Acrobat 2 - 4 | 10500 | Temel RC4 şifreleme |
| 1.4 - 1.6 | Acrobat 5 - 8 | 10600 | Gelişmiş RC4/AES |
| 1.7 Level 3 | Acrobat 9 | 10700 | AES-128 |
| 1.7 Level 8 | Acrobat 10 - 11 | 10400 | AES-256 |
PDF Sürümü Nasıl Kontrol Edilir
- 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"
- 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"
- Manuel Kontrol:
- PDF’i metin düzenleyici ile açın
- Başta
%PDF-X.Xifadesini arayın
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
- 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
- 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ı
- Wordlist Saldırısı (Mod 0)
1
hashcat -m <hash_type> -a 0 hash.txt wordlist.txt
- 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
- 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
- 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ı
- İş 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
- Çekirdek (Kernel) Optimizasyonu
1 2
# Daha iyi GPU performansı için hashcat --kernel-accel 1 --kernel-loops 1
- Hafıza Yönetimi
1 2
# Segment boyutu ayarlaması hashcat --segment-size 512
İlerleme Durumunu İzleme
- Durum Ekranı
- Speed: H/s (Saniye başına Hash)
- Progress: % tamamlandı
- Time Remaining: ETA (Tahmini Kalan Süre)
- Recovered: Bulunan parolalar
- İlerlemeyi Kaydetme
1 2 3 4 5
# Oturumu kaydet hashcat ... --session mysession # Oturumu geri yükle hashcat --session mysession --restore
- Çı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.
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.


