Praktik Enkripsi dan Password Cracking: OpenPGP, dig, analisis TLS, John the Ripper, ophcrack
Empat keterampilan lab: mengenkripsi email dengan OpenPGP, memverifikasi DNSSEC dengan dig, membaca jabat tangan TLS, dan menguji kekuatan sandi di mesin sendiri.
Tujuan pembelajaran
Sesuai RPS TL455 pertemuan 11, setelah lab ini kamu mampu mengimplementasikan enkripsi email, verifikasi DNSSEC, dan cracking hash password. Lima komponen RPS-nya: OpenPGP, dig, analisis TLS, John the Ripper, dan ophcrack.
Bingkai lab: mengikuti Lab Exercise 6.04 (E-mail Cryptography), 7.01/7.02 (DNSSEC for Security / for Exploiting), 7.03 (TLS in Action), dan 11.01 sampai 11.04 (Password Attacks) dari Lab Manual (2021), dengan Bab 6 dan Bab 15 buku sebagai jangkar teori. Prosedur yang tidak ada di Lab Manual dinyatakan eksplisit di bawah.
Catatan keamanan dan legal (wajib dibaca): seluruh praktik cracking hanya menyasar hash dan akun yang kamu buat sendiri di VM lab terisolasi. Meng-crack kata sandi, hash, atau akun milik orang lain (kampus, kantor, tetangga, layanan daring mana pun) tanpa izin tertulis adalah pelanggaran hukum, tanpa kecuali. John the Ripper dan ophcrack adalah alat pengujian kebijakan sandi pada sistem milikmu, bukan alat menyerang.
Alat dan Persiapan
- VM Kali Linux (pertemuan 2), terminal dengan
python3bawaan;gpg,dig,openssl,johnsudah bawaan Kali. crunchdanophcrackbila ingin dicoba:sudo apt install crunch ophcrack.- Wordlist
rockyoudi/usr/share/wordlists/(ekstrak bila masih.gz). - ISO Kali Linux dari pertemuan 2 (untuk uji verifikasi hash) dan peramban dengan koneksi internet.
Langkah Pekerjaan
- Enkripsi email dengan OpenPGP (Lab 6.04). Pembuka labnya: email adalah kartu pos ditulis pensil: siapa pun di jalur bisa membacanya (pelanggaran kerahasiaan) dan mengubahnya (pelanggaran integritas). Sejarah yang dikutip Lab 6.04: Phil Zimmerman menciptakan PGP tahun 1991; pada 1993 ia diinvestigasi pemerintah AS atas dugaan "munitions export without a license" (ekspor kriptografi kunci lebih dari 40 bit dilarang saat itu); respons legendarisnya: kode sumber PGP diterbitkan sebagai buku cetak keras yang sah di bawah First Amendment lalu dipindai OCR; IETF kemudian membentuk OpenPGP Working Group; dan GPG (GNU Privacy Guard) menjadi substitusi bebas yang patuh standar OpenPGP (Thunderbird pun memakai OpenPGP bawaan sejak versi 78).
Penyesuaian yang dinyatakan eksplisit: Lab 6.04 memakai Thunderbird di Windows dengan rekan kirim-menerima; kita memakai GnuPG di Kali agar tidak menuntut akun eksternal:
gpg --full-generate-key # RSA 3072 bit, identitas milikmu
echo "pesan rahasia lab kriptografi" > pesan.txt
gpg --encrypt --sign -r <email-mu> pesan.txt
gpg --output pesan-asli.txt --decrypt pesan.txt.gpgEmpat tujuan Lab 6.04 terpenuhi: encrypt, decrypt, sign, verify. Passphrase menjaga private key: hilang berarti isi tak terbaca lagi.
- Verifikasi DNSSEC dengan dig (Lab 7.01). Latar labnya: serangan umum DNS adalah cache poisoning dan DNS spoofing. Lab 7.01 melatih
digdi Kali dan menegaskan aturan: tambahkan titik (.) di akhir FQDN (titik mewakili root zone):
dig a www.arin.net.
dig +dnssec www.wikipedia.org.Tujuan lab (kutip): *use the dig DNS tool*, *understand how DNSSEC works*, *understand how DNSSEC uses PKI*. Amati rekaman tanda tangan (RRSIG) dan flag validasi; bandingkan dengan domain tanpa DNSSEC. Lab 7.02 (DNSSEC for Exploiting) memperlihatkan sisi sebaliknya: bagaimana entri palsu bertahan di cache bila validasi tidak dilakukan; pahami konsepnya, tidak perlu dieksekusi penuh.
- TLS in Action (Lab 7.03). Lab Manual membedah TLS koneksi nyata lewat Chrome dan Firefox, dan mencatat: TLS 1.3 adalah versi terbaru, SSL 2.0 deprecated 2011 dan SSL 3.0 deprecated 2015. Padanan baris perintah kami (dinyatakan eksplisit: setara dan lebih rinci dari langkah peramban lab):
openssl s_client -connect wikipedia.org:443 -brief </dev/nullBaca laporannya: versi TLS (TLSv1.2/1.3), cipher suite, sertifikat. Semua bagian kriptografi Bab 5 tampil sekaligus di sini, persis catatan lab: confidentiality, integrity, authentication, nonrepudiation.
- Dictionary attack dengan John the Ripper (Lab 11.01). Buat akun uji milikmu sendiri dengan sandi lemah yang kamu pilih (pola persis lab):
sudo adduser sandiuji # sandi uji: pilih sendiri, bukan sandi aslimu
sudo unshadow /etc/passwd /etc/shadow > lab-hash.txt
sudo john lab-hash.txt # dictionary attack dengan wordlist bawaan
john --show lab-hash.txt # sandi yang ditemukanDetail lab yang menarik: metadata GECOS di /etc/passwd (nama lengkap, nomor ruang, telepon) ikut membantu John menebak; /etc/shadow menyimpan hash sandi (karenanya butuh sudo). Sandi kamus pendek ditemukan dalam hitungan detik; sandi panjang acak tidak ditemukan dalam waktu wajib.
- Brute force dengan crunch dan John (Lab 11.02).
crunchmenghasilkan wordlist dari pola karakter (misalnya seluruh kombinasi 5 karakter tertentu), lalu disalurkan ke John. Amati: waktu brute force bertumbuh eksponensial terhadap panjang sandi, bukti empiris teori pertemuan 10.
- Windows dan rainbow table (Lab 11.03 dan 11.04). Lab 11.03 memakai Mimikatz (plus crunch dan John) untuk sandi Windows di VM milikmu; Lab 11.04 memakai ophcrack dengan rainbow table. Pemahaman konseptual yang wajib: hash LM Windows yang lama memotong sandi menjadi dua bagian tak peka huruf, dan tanpa salt, tabel prahitung langsung membaliknya (pertemuan 10). Demonstrasi penuh opsional, hanya di VM milikmu.
- Higiene lab (wajib). Hapus akun uji (
sudo userdel -r sandiuji), hapus berkas hash dan wordlist buatan, dan pastikan tidak ada sandi asli yang pernah menyentuh lab ini.
Hasil yang Diharapkan
- Siklus OpenPGP lengkap: encrypt, decrypt, sign, verify (tujuan eksplisit Lab 6.04).
- DNSSEC terverifikasi dengan dig pada minimal satu domain (Lab 7.01).
- Negosiasi TLS satu situs nyata terbaca: versi TLS, cipher suite, sertifikat (Lab 7.03).
- Sandi kamus lemah milik sendiri ditemukan John; sandi panjang-acak bertahan; kesimpulan kebijakan sandi tertulis.
- Akun uji dihapus; tidak ada sandi asli yang menyentuh lab.
Troubleshooting Umum
- gpg gagal mengenkripsi ke penerima: identitas penerima belum ada di keyring; untuk latihan mandiri, enkripsi ke kunci milikmu sendiri.
- Flag ad tidak muncul di dig: resolver jaringanmu tidak memvalidasi DNSSEC; coba resolver publik yang memvalidasi (
dig @1.1.1.1 +dnssec ...). Kegagalan validasi juga temuan yang sah. - openssl "certificate verify failed": jam sistem VM meleset; setel waktu yang benar, lalu ulangi.
- John langsung selesai tanpa temuan: wordlist belum diekstrak, atau sandimu memang tidak ada di kamus (berita baik; catat di laporan).
- unshadow: permission denied: butuh sudo, karena /etc/shadow hanya terbaca root.
Checklist Selesai
- [ ] OpenPGP: encrypt, decrypt, sign, verify berjalan lengkap.
- [ ] DNSSEC terverifikasi dengan dig pada minimal satu domain.
- [ ] Versi TLS dan cipher suite satu situs nyata terbaca dan dijelaskan.
- [ ] John the Ripper menguji hash milik sendiri; kesimpulan kebijakan sandi tertulis.
- [ ] ophcrack/Mimikatz dipahami konsepnya (demonstrasi opsional di VM sendiri).
- [ ] Akun uji dihapus; tidak ada sandi asli yang menyentuh lab.
`.trim(),
"keamanan-nirkabel-wpa": `