PYTHON

Cara Memecahkan File PDF dengan Python

Pendahuluan

Mari kita asumsikan bahwa Anda mendapatkan file PDF yang dilindungi kata sandi dan itu adalah pekerjaan prioritas utama Anda untuk mengaksesnya, tetapi sayangnya, Anda mengabaikan kata sandinya. Jadi, pada tahap ini, Anda akan mencari cara terbaik yang bisa memberi Anda hasil instan. Dalam tutorial ini, Anda akan belajar bagaimana:

  • Brute force file PDF menggunakan pustaka pikepdf dengan Python
  • Ekstrak hash kata sandi PDF dan pecahkan menggunakan utilitas John the Ripper
  • Crack password PDF dengan program iSeePassword Dr.PDF

Untuk memulai, instal dependensi yang diperlukan:

pip3 install pikepdf tqdm

Memecahkan Kata Sandi PDF menggunakan pikepdf

pikepdf adalah pustaka Python yang memungkinkan kita membuat, memanipulasi, dan memperbaiki file PDF. Ini menyediakan pembungkus Pythonic di sekitar pustaka C++ QPDF.

Kami tidak akan menggunakan pikepdf untuk itu, kami hanya perlu membuka file PDF yang dilindungi kata sandi, jika berhasil, itu berarti kata sandi yang benar, dan itu akan menimbulkan PasswordError pengecualian jika tidak:

import pikepdf
from tqdm import tqdm

# memuat daftar kata sandi
passwords = [ line.strip() for line in open("wordlist.txt") ]

# ulangi kata sandi
for password in tqdm(passwords, "Decrypting PDF"):
    try:
        # buka PDF file
        with pikepdf.open("foo-protected.pdf", password=password) as pdf:
            # Kata sandi berhasil didekripsi, keluar dari lingkaran
            print("[+] Password found:", password)
            break
    except pikepdf._qpdf.PasswordError as e:
        # kata sandi salah, lanjutkan saja di loop
        continue

Pertama, kami memuat daftar kata sandi dari wordlist.txt file di direktori saat ini, dapatkan di sini. Anda dapat menggunakan daftar rockyou atau daftar kata besar lainnya juga. Anda juga dapat menggunakan alat Crunch untuk membuat daftar kata kustom Anda sendiri.

Selanjutnya, kami mengulangi daftar dan mencoba membuka file dengan setiap kata sandi, dengan meneruskan password argumen ke pikepdf.open() metode, ini akan pikepdf._qpdf.PasswordError muncul jika itu kata sandi yang salah.

Kami menggunakan tqdm di sini hanya untuk mencetak kemajuan pada berapa banyak kata yang tersisa, lihat hasil saya:

Decrypting PDF:  43%|████████████████████████████████████████▏                                                   | 2137/5000 [00:06<00:08, 320.70it/s]
[+] Password found: abc123

Kata sandi ditemukan setelah 2.137 percobaan, yang memakan waktu sekitar 6 detik. Seperti yang Anda lihat, ini berlangsung sekitar 320 kata/s , kita akan melihat cara meningkatkan kecepatan ini.


Memecahkan Kata Sandi PDF menggunakan John The Ripper

John the Ripper adalah perangkat lunak peretas kata sandi gratis dan cepat yang tersedia di banyak platform. Namun, kami akan menggunakan sistem operasi Kali Linux di sini, karena sudah diinstal sebelumnya.

Pertama, kita membutuhkan cara untuk mengekstrak hash password dari file PDF agar cocok untuk cracking di john utility. Beruntung bagi kami, ada skrip Python pdf2john.py yang melakukan itu, mari unduh:

Letakkan PDF Anda yang dilindungi kata sandi di direktori saat ini, milik saya disebut foo-protected.pdf, dan jalankan perintah berikut:

root@rockikz:~/pdf-cracking# python3 pdf2john.py foo-protected.pdf | sed "s/::.*$//" | sed "s/^.*://" | sed -r 's/^.{2}//' | sed 's/.\{1\}$//' > hash

Ini akan mengekstrak hash kata sandi PDF menjadi file baru bernama hash, inilah hasil saya:

Setelah saya menyimpan hash kata sandi ke dalam hash file, saya menggunakan cat perintah untuk mencetaknya ke layar. Akhirnya, kami menggunakan file hash ini untuk memecahkan kata sandi:

Kita cukup menggunakan perintah "john [hashfile]" . Seperti yang Anda lihat, kata sandi 012345 ditemukan dan ditemukan dengan kecepatan 4503p/s .


Memecahkan PDF Password menggunakan iSeePassword Dr.PDF

Tidak semua pengguna merasa nyaman dengan pengkodean dengan Python atau menggunakan perintah di Linux. Jadi, jika Anda mencari program crack password PDF yang efektif di Windows, maka iSeePassword Dr.PDF adalah salah satu pilihan terbaik.

Pembobolan kata sandi PDF ini memiliki UI yang mudah dipahami sehingga bahkan para pemula pun tahu cara menggunakan program ini. Selain itu, ia menawarkan tiga algoritma peretasan kata sandi yang kuat, termasuk Dictionary , Brute-force , dan Brute-force with Mask. Anda bebas mengatur beberapa jenis parameter untuk meningkatkan kinerja.

Saat ini, kecepatan pemecahan kata sandi hingga 100K per detik, menjadikannya salah satu program tercepat untuk memecahkan kata sandi PDF.


Kesimpulan

Jadi begitulah, pekerjaan kita selesai dan kita telah berhasil memecahkan kata sandi PDF menggunakan tiga metode: pikepdf , John The Ripper, dan iSeePassword Dr.PDF. Metode pertama membutuhkan banyak waktu untuk memecahkan kata sandi tetapi cukup intuitif untuk pemrogram Python, sedangkan metode lainnya adalah metode pamungkas untuk mendapatkan kata sandi file PDF dalam waktu singkat. Pastikan Anda menggunakan ini untuk penggunaan etis dan pribadi.


Disclaimer

Tutorial ini hanya untuk tujuan pendidikan dan di maksudkan untuk menambah ilmu pengetahuan juga.

Sumber asli : thepythoncode