![]() |
![]() |
Apakah kehilangan password root sama dengan kita harus menginstalasi ulang sistem Linux kita ? Maka jawabnya adalah tidak, berikut ini akan diberikan langkah-langkah untuk mengakses root dan menganti menjadi password yang baru. Jadi tulisan ini bukan untuk mengembalikan password root, tetapi untuk mengakses dan mengantikan yang baru.
Metode ini juga sering disalahgunakan, sehingga sebagai administrator sistem, anda perlu mengetahui langkah-langkah pencegahannya. Setelah membaca tulisan ini anda akan berkata OK, saya telah mengerti; Linux juga tidak 100% aman, jadi bagaimana saya dapat membuatnya menjadi lebih aman.
Akhirnya selamat membaca.
Salam,
Hendra & Susan Dewichan
By Ankit Fadia
Sampai sekarang hampir semua manual Hacking Truths adalah terpusat untuk Windows. Saya akan selalu mengingat pemakai Windows pemula dalam pikiran saya, ketika menulis manual-manual, sejalan dengan perkembangan popularitas dari Linux dan kenyataannya bahwa Linux telah dipertimbangkan sebagai OS untuk Hacker, saya merencanakan untuk memulai suatu serial yang sama.
Sebagaimana anda membaca manual ini, anda akan menemukan bahwa tujuan dasar kita adalah selalu sama, yaitu menjadi root. Root adalah suatu user yang memiliki kemampuan maksimal, dan dapat melakukan apa saja yang ingin dia lakukan pada suatu sistem. ‘Root’ adalah menyerupai administrator pada Windows NT. Jika anda telah mendapatkan root, maka secara praktis anda dapat mengendalikan setiap aspek dari sistem, anda dapat menghapus account, menghapus file, menon-aktifkan daemon, dan bahkan melakukan format terhadap seluruh sistem.
******************
CATATAN BAGI PEMULA: Menjadi root adalah benar-benar terpandang, terutama di
sekolah. Jika anda dapat menjadi root pada jaringan sekolah anda, dan secara
praktis anda berubah menjadi setengah dewa, benarkah ? Baiklah, pernyataan ini
nampaknya terlalu berlebihan. Bukankah begitu ?
******************
Ok, anda benar-benar tertarik. Bagaimana kita melakukan hal tersebut? Baiklah, pada bagian ini, kita tidak akan menjalankan program C apapun atau melakukan koding apapun, tetapi akan secara sederhana melakukan eksploitasi terhadap salah satu kelemahan kecil dari kemampuan yang datang bersama Linux. Hal ini akan bekerja dengan kemungkinan 9/ 10, kalau anda berencana menggunakan teknik ini untuk mendapatkan ‘root’ dari komputer ISP anda, lupakan saja teman. Teknik yang dijelaskan dibawah ini sudah umum dan para administrator sistem telah pintar menangani lubang kelemahan seperti ini.
Utility linux config tersebut sebenarnya bukanlah hole pada Linux. Hal tersebut sengaja dibuat untuk membantu, jika password root dilupakan.
Baiklah, ada cara lain yang memungkinkan kita mendapatkan root. Pada metode pertama, kita mengetikkan ‘linuxconf’ pada bash shell prompt, bagaimanapun, kita dapat mengetik hal berikut untuk membuat suatu account baru dengan kemampuan root dan tanpa password:
echo "ankit::0:0:::" >> /etc/passwd
Perintah ini secara langsung mengedit file /etc/passwd yang merupakan password file yang menyimpan Password dan Username dari untuk account pada mesin tersebut. Sesuatu hal yang perlu diingat disini adalah anda hanya dapat mengedit file /etc/passwd jika anda melakukan login sebagai root, dan dalam hal ini kita melakukan boot ke linux dengan linux single, jadi kita dapat melakukannya.
Untuk mengerti bagaimana persisnya perintah diatas bekerja dan bagaimana hal tersebut dapat membuat suatu account baru tanpa password, kita perlu mengerti struktur file /etc/passwd.
Berikut ini adalah suatu baris dari password file:
ankit:my_password:2:3:Ankit Fadia:/home/ankit:/bin/bash
Baris tersebut diatas dapat dipecahkan menjadi:
Pada perintah diatas, kita tidak mengikutsertakan field-field optional dan field password. Perintah kita:
echo "ankit::0:0:::" >> /etc/passwd
dapat ditulis sebagai:
Pada dasarnya hal ini akan membuat suatu account baru dengan kemampuan root, yang mana dapat anda gunakan sebagai Backdoor kedalam sistem.
**********************
HACKING TRUTH: Jika anda mengaktifkan, shadow passwords, maka perintah tersebut harus diubah menjadi:
echo "ankit::0:0:::" >> /etc/shadow
Suatu baris dari password file pada suatu sistem yang mengaktifkan Shadow Passwords adalah sebagai berikut:
ankit:*:2:3:Ankit Fadia:/home/ankit:/bin/bash
Pada suatu password file yang telah di shadow, apa yang terjadi jika field password diganti dengan suatu ' * ' (Tanda ' * ' disebut sebagai suatu token.) Dalam hal ini password yang terenkripsi tidak akan ditampilkan pada password file dan daftar dari password yang terenkripsi tersebut disimpan pada suatu file yang lain yang tidak dapat dibaca oleh user biasa,
**********************
Saya sudah bosan dengan metode diatas pada sejumlah sistem, dan yakin bahwa hal tersebut bekerja sekitar 80%.
Sekarang, setelah anda berada dalam root shell, jalankan editor favourit anda (seperti vi) dan buka /etc/passwd. Kemudian, hapus text terenkripsi diantara kedua kolam yang pertama pada baris pertama, yang mana merupakan isi untuk root. Hal ini tidak akan membuat suatu account baru dengan kemampuan root, tetapi akan mengubah password dari root ke null, jadi pada dasarnya adalah membuat account root menjadi tanpa password. Sesaat setelah anda membuang password terenkrpsi tersebut, pada prompt lakukan pengetikan ‘init 3’ untuk beralih ke startup yang normal atau untuk startup secara grafik ketikan: ‘ init 5’.
Sekarang, saya tidak ingin membuat suatu account baru, tetapi ingin menganti password root seperti pelajaran kepada administrator sistem. Apa yang harus saya lakukan ? Baiklah, secara sederhana gunakan saja perintah passwd diikuti dengan password baru. Setelah anda berada dalam root shell, password root akan diganti ke yang baru yang mana anda tentukan.
OK, saya telah mengerti; Linux juga tidak 100% aman, jadi bagaimana saya dapat membuatnya menjadi lebih aman. Untuk melakukannya, anda harus menjalankan editor favourit anda seperti vi, dan buka /etc/LILO.conf. Sekarang, tambahkan baris barikut di suatu baris baru setelah baris pertama:
Restricted password_goes_here
(Yang atas adalah: Restricted diikuti dengan suatu spasi dan dikuti dengan password yang anda pilih.)
Sekarang, simpan dan tutup editor.Pada prompt ketikkan: LILO, untuk menjalankan file /etc/LILO.conf, untuk membuat perubahan. Sekarang, pada waktu selanjutnya, anda mengetik linux single, pada LILO prompt, anda akan ditanya password yang mana anda ketik pada file diatas. Jadi pada dasarnya adalah berlaku sebagai pembatas bagi setiap orang yang mencoba menggunakan teknik yang dijelaskan pada manual diatas untuk masuk ke sistem Linux. Tidak ada fungsi linux lainnya yang akan terpengaruhi.
********************
HACKING TRUTH: Baiklah, Aragon (veljkop@ptt.yu ) telah menyarankan metode lain, yang mana dengan senang hati akan saya terangkan.
1.Aktifkan ke directori /etc/rc.d
2.Didalamya terdapat beberapa file dengan nama seperti rc.1,rc.2...etc. file-file ini adalah shell script yang mana berjalan setiap waktu ketika sesuatu yang bernama runlevel dijalankan. File ini menyerupai autoexec.bat tetapi lebih kompleks dan menarik TETAPI harus BERHATI-HATI!). rc.1 adalah file untuk runlevel satu.
3.Lakukan backup terhadap file tersebut dengan nama rc.x (atau sesuatu lainnya)
4.Duplikasi run level lainnya (sebaiknya runlevel 3) tetapi pastikan bahwa runlevel tersebut adalah multi-user.
5.Buatlah suatu boot disk dan root (untuk Slackware) (jangan loncati hal ini) jika segala sesuatu tidak bekerja dengan baik, anda masih memiliki runlevel 1
*********************