| |
Meng-crack
password Linux/Unix
Oleh:
Budi Sukmawan
Sebenarnya sangat sulit untuk meng-crack password Linux
karena pada Linux modern (dan Unix pada umumnya) biasanya password tidak
disimpan pada file
/etc/passwd
tetapi pada file
/etc/shadow
yang hanya dapat diakses oleh root. Tetapi bila kita bisa mendapatkan kedua file
ini maka kita dapat melakukan crack dengan tool seperti John the Ripper (JtR),
http://www.openwall.com/john/. Untuk
mulai melakukan crack maka kedua file harus digabung dulu dengan tool unshadow
yang sudah tersedia pada paket JtR.
Password Linux pada umumnya disimpan pada file dengan
format sebagai berikut :
owner:EJymyuhn54t2E:510:102:Some user Info:/home/subdir/owner:/bin/bash
1
2 3 4 5 6 7
Bagian yang terpenting adalah bagian (field) kesatu dan
kedua, juga yang ke lima. Bila digunakan shadow maka bagian kedua ditandai
dengan x dan string tersebut disimpan pada file
/etc/shadow
. Bagian pertama merupakan nama user yang digunakan untuk login, sedangkan yang
kedua merupakan password dalam bentuk terenkripsi dengan metoda sedemikian
sehingga string ini merupakan hashing satu arah. Pada umumnya metoda yang
digunakan adalah dengan menggunakan metoda enkripsi DES, MD5 dan enkripsi
Blowfish. DES (Data Encryption Standard) merupakan metoda yang pertama kali
digunakan dalam penyimpanan password, metoda ini sudah tidak biasa digunakan
lagi, karena dengan mesin-mesin modern akan didapat kecepatan cracking yang
tinggi, sekitar 800.000 lebih kombinasi password per detik pada komputer dengan
prosessor Pentium 4 - 2,4 GHz, sehingga bila menggunakan metoda ini password
akan relatif lebih mudah di-crack. Metoda MD5 (Message Digest 5) merupakan
metoda yang umum digunakan pada saat ini dan relatif lebih sulit dipecahkan,
kecepatan cracking sekitar 4.400 kombinasi per detik pada P4 – 2,4 GHz. Metoda
Blowfish masih jarang digunakan dan kecepatan cracking-nya lebih rendah lagi,
dibawah 500 kombinasi per detik pada P4 – 2,4 GHz.
Seperti telah disebut di atas untuk meng-crack password ini
dapat digunakan JtR. Pada JtR ada beberapa mode craking yang disediakan :
-
Single crack Mode, mode ini merupakan mode pertama yang harus
dicoba. Pada mode ini akan dicoba informasi login/gecos (informasi pada field
kesatu dan kelima, pada format password di atas) sebagai password. Metoda ini
jauh lebih cepat dari metoda wordlist mode dan memungkinkan menggunakan banyak
aturan (rule). Aturan ini bisa dilihat di file john.conf, seperti: penambahan
numerik pada huruf akhir, penambahan huruf ‘s’, diubah ke huruf besar, dll. Bila
password ditemukan maka password ini akan dicobakan pada keseluruhan daftar
password kalau-kalau ada yang menggunakan password yang sama. Tentu saja dengan
metoda ini hanya akan didapat password dari informasi login/gecos saja.
-
Wordlist Mode, ini merupakan cara yang paling sederhana pada JtR,
yang diperlukan adalah daftar kata-kata yang berupa file teks, file ini harus
terdiri dari satu kata per baris. Dengan metoda ini kita dapat juga mengaktifkan
aturan (rule) yang akan digunakan untuk memodifikasi kata, aturan ini juga bisa
dilihat pada file john.conf dan bila perlu bisa dimodifikasi. Daftar kata-kata
yang bisa digunakan bisa berasal kata-kata yang dikumpulkan dari bahasa nasional,
bahasa daerah atau bahasa asing (Inggris, Jerman, Perancis , dll) . Untuk bahasa
asing di-internet sudah tersedia dan biasanya satu file bisa terdiri dari
berjuta-juta kata yang dapat digunakan. Sedangkan untuk bahasa nasional dan
daerah mungkin kita harus mengumpulkannya sendiri, penulis sendiri pernah
mengumpulkan beberapa puluh ribu kata. Daftar ini dikumpulkan dari media-media
nasional yang ada di-internet untuk kata-kata yang umum, dari berbagai database
untuk nama-nama orang, nama lokasi geografis (seperti nama pulau, gunung, sungai,
dll). Daftar kata lain yang bisa digunakan adalah angka numerik seperti tanggal,
karena orang kadang-kadang menggunakan tanggal lahir sebagai password. Format
tanggal dapat dibuat dalam berbagai format seperti DMY, DDMMYY, DDMMYYYY, YYMMDD,
YYYYMMDD, dsb. Bisa dibuat program sederhana untuk membuat format ini dan dalam
range tahun tertentu (misalnya dari tahun 1940 – 2003) kemudian disort untuk
menghilangkan duplikasi.
-
Incremental Mode, cara ini adalah cara yang paling ampuh karena
menggunakan semua kombinasi dari berbagai karakter yang mungkin (brute force).
Tetapi tentu saja cara ini akan memakan waktu yang sangat lama. Oleh sebab itu
digunakan tabel frekuensi karakter, untuk mendapatkan sebanyak mungkin kombinasi
password dalam waktu yang terbatas. Untuk menggunakan metode ini dibutuhkan
definisi spesifik dari parameter yang akan digunakan seperti panjang password
dan charsets (karakter sets).
-
External Mode, metode terakhir yang dapat digunakan dan
didefinisikan dalan john.conf . Pada bagian ini kita harus mendefinisikan fungsi
tertentu yang akan digunakan oleh JtR untuk menghasilkan rangkaian kata tertentu
yang akan dicobakan.
Dari hasil percobaan penulis untuk mode Single Crack kita
dapat memperoleh kurang lebih 10% dari keseluruhan daftar password, sedangkan
untuk Wordlist mode tergantung banyak kata yang digunakan tapi kurang lebih bisa
mencapai 35%. Sedangkan Untuk Incremental mode dan External mode penulis belum
pernah mencoba sampai tuntas karena memakan waktu yang sangat lama.
Untuk mendapatkan hasil cracking password yang lebih banyak
tentu saja dipengaruhi oleh beberapa faktor :
- Pertama tentu metoda yang digunakan dalam password, dengan metoda DES
tentu akan jauh lebih banyak didapat password dibanding metoda MD5 atau
Blowfish.
- Daftar kata yang lebih banyak, dengan mencoba sebanyak-banyaknya kata
yang mungkin digunakan tentu saja akan didapat hasil cracking yang lebih banyak.
- Proses cracking tidak terbatas waktu, lebih banyak waktu yang digunakan
maka akan didapat lebih banyak password. Tapi tentu saja hal ini dibatasi oleh
validitas dari password, karena kemungkinan user telah mengganti password dalam
periode tertentu dan kemungkinan user telah tidak aktif (telah dihapus dari
daftar password) pada saat password ditemukan.
- Tentu saja dengan jumlah resource (hardware) yang lebih banyak, proses
cracking dapat didistribusikan ke banyak mesin sehingga proses cracking dapat
sangat dipercepat.
Dari hasil pembahasan diatas dapat disimpulkan bahwa:
metoda penyimpanan password Linux/Unix sebenarnya sangat aman, tetapi metoda
seaman apapun selalu ada lubang yang bisa ditembus karena faktor terpenting
keamanan komputer terletak pada pengguna komputer itu sendiri. Bila pengguna
tidak berhati hati, dalam hal ini memilih password akan selalu ada kemungkinan
password-nya bisa ditebak oleh orang lain dan tentu hal ini akan sangat
merugikan user itu sendiri. Untuk itu perlu digunakan modul untuk pengecekan
keamanan password dan yang penulis tahu memang hal ini sudah tersedia untuk
Linux, tetapi tidak semua admin menggunakan modul ini untuk menjaga keamanan
user.
Copyright (c) 2003 - Budi Sukmawan
v1.0: 11 November 2003

|
|