################################################################### TEKNIK MENGAMANKAN SYSTEM ANDA DENGAN RCS (REVISION CONTROL SYSTEM) Author : KillFinger Email : killfinger@yahoo.com IRC : #SecretColony, #Level9-Team @DAL.net SecretColony Labs N Research Group. ################################################################### Backd00r, suatu istilah yang amat dikagumi oleh l337-KiddieZ namun sangat dibenci oleh SysAdmin. Backd00r yang sekarang banyak digunakan oleh para "1337-KiddieZ" adalah backd00r SSH. Entah itu backd00r yang ber-backd00r :P~, ataupun backd00r yang dibuat secara manual dengan menginfeksikan source code dari openSSH itu sendiri. (Pada suatu research di SecretColony Labs N Research pernah ditemukan bahwa salah satu backd00r SSH ternyata ber-backd00r dengan mengirimkan email ke "shell-punya@yahoo.com" <--- Ayoo ngakuu, ini email siapa??? hehehe..... Selain itu jg backd00r tsb merusak library dan command2 yang ada di /bin). :( Dalam artikel ini saya coba menawarkan suatu teknik yang dapat mengamankan system anda atau lebih tepatnya adalah pencegahan dini terhadap penanaman Backd00r. Teknik yang satu ini dinamakan REVISION CONTROL. REVISION CONTROL SYSTEM (RCS) adalah suatu system untuk menyimpan revisi2 dari file konfigurasi, shell scripts, dan text2 file apapun yang anda inginkan. Dengan menggunakan RCS anda dapat mengamati perubahan2 yang terjadi pada file tersebut. Semua hasil revisi disimpan di direktosy RCS/. Bleh... sgitu aja teorinya. :) Ayoo kita kemon........ <--- pinjam istilah pak cbug at k-elektronik e-zine. (Kemana ya beliau?) Proof OF concept: 1. Penggunaan RCS oO Untuk dapat menggunakan RCS anda harus membuat direktorynya terlebih dahulu. Letak direktory RCS harus sama dengan file yang hendak di control. root@finger:/etc# mkdir RCS Note: Pada contoh diatas penggunaan RCS di direktory /etc. oO Setelah membuat direktory RCS, langkah selanjutnya adalah menentukan file yang akan di control. root@finger:/etc# ci -i passwd RCS/passwd,v <-- passwd enter description, terminated with single '.' or end of file: NOTE: This is NOT the log message! >> Data passwd >> . initial revision: 1.1 done Note: "ci -i" adalah "check in -initialize", maksudnya mendaftarkan file ke system RCS. ">>" Diisikan dengan deskripsi file yang di control oO Selesai menginisialisasikan suatu file, anda harus mengembalikan kembali file tersebut ke tempat asalnya. root@finger:/etc# co passwd RCS/passwd,v --> passwd revision 1.1 done Note: "co" adalah "check out", maksudnya mengembalikan file ke tempat asalnya dengan permission "read-only". apabila anda hendak mengeditnya, gunakan command "co -l" atau set permissionnya secara manual. root@finger:/etc# co -l passwd RCS/passwd,v --> passwd revision 1.1 (locked) done Note: Dimisalkan anda menambahkan user baru 'killfinger' ke system anda, maka file /etc/passwd akan ketambahan data dari user tsb. root@finger:/etc# adduser killfinger oO Langkah selanjutnya adalah merevisi ulang file yang ada di RCS root@finger:/etc# ci -u passwd RCS/passwd,v <-- passwd new revision: 1.2; prevoius revision: 1.1 enter log message, terminated with single '.' or end of file >> Added killfinger >> . done Note: Command "ci -u" artinya "check in -unlocked". Untuk mendaftarkan kembali ke RCS. Disini dapat anda lihat bahwa revisi dari file passwd menjadi 1.2 2. Mengamati file yang di control oO Untuk dapat mengamati file yang anda control maka commandnya adalah rcsdiff root@finger:/etc# rcsdiff passwd ================================================================ RCS file: RCS/passwd,v retrieving version 1.2 diff -r1.2 passwd Note: Disini nampak file /etc/passwd masih aman. Perhatikan contoh berikut yang menandakan seorang penyusup telah menambahkan entry di file /et/passwd: root@finger:/etc# rcsdiff passwd ================================================================ RCS file: RCS/passwd,v retrieving version 1.2 diff -r1.2 passwd 35a36 > qmail::0:0::/tmp:/bin/bash 38c39 > killfinger:x:0:510:killfinger:/home/killfinger:/bin/bash --- < killfinger:x:510:510:killfinger:/home/killfinger:/bin/bash Note: Nah.... kelihatan perbedaannya antara data yg tersimpan di RCS dan yang sedang online. Ternyata ada yang menambah- kan user qmail dengan UID dan GID root. Selain itu user killfinger sekarang menjadi UID 0. Mencurigakan..... :) oO Untuk menormalkan kondisi file tersebut ke kondisi yang anda yakini validitasnya maka anda dapat mengimport versi revisinya root@finger:/etc# co -l -r1.2 passwd RCS/passwd,v --> passwd revision 1.2 (locked) writable passwd exists: remove it? [ny](n):y done Note: Command "-r1.2" artinya me-restore revisi 1.2 ke kondisi online (sekarang). Lakukan "rcsdiff" untuk memastikan. 3. Tracking perubahan yang terjadi oO Anda dapat mengamati perubahan yang terjadi terhadap file yang anda control menggunakan command "rcs2log" root@finger:/etc# rcs2log passwd 2003-09-20 John Dando deMilo * passwd: Added killfinger * passwd: New file. oO Untuk dapat melihat versi revisinya tambahkan command "-v". root@finger:/etc# rcs2log -v passwd 2003-09-20 John Dando deMilo * passwd 1.2: Added killfinger * passwd 1.1: New file. Note: Apabila anda menemukan sesuatu yang mencurigakan, periksa dengan "rcsdiff" antara revisi yang mencurigakan dengan revisi sebelumnya. Misalnya revisi yg mencurigakan adalah revisi 1.40 maka commandnya: root@finger:/etc# rcsdiff -r1.39 -r1.40 passwd Note: Command diatas akan membandingkan isi file revisi 1.40 dengan revisi 1.39. Amati hasilnya. 4. Fungsi Lain Kalau anda bertanya-tanya tentang bagaimana RCS mampu mendeteksi penyusupan yang tidak mengedit file /etc/passwd namun menggunakan "Magic_Passwd" untuk login, maka hal itu tergantung dari kejelian anda dalam mengamati system anda sendiri. Misalnya backd00r openSSH dengan menginfeksikan source nya, atau backd00r yang merusak library dan command2 di /bin, maka caranya tinggal menggunakan RCS pada file2 yang kemungkinan akan di edit oleh backd00r tsb. Misal /bin/ps, /bin/netstat, /etc/ssh/sshd_config dan lain sebagainya. B-creative!!! Selain itu juga RCS berfungsi untuk mengamankan dalam pembuatan source-code yang dikerjakan oleh group. Misalnya SecretColony Labs n Research Group yang sedang mengerjakan source-code Bd00rKill.c secara beregu, maka kegunaan RCS sangat membantu sekali apabila terjadi kesalahan pada revisi tertentu sehingga source-code tsb dapat di import revisi yang berjalan tanpa masalah. So, tunggu apalagi, gunakan RCS sekarang jg, dijamin anda tidak akan rugi. :) 5. Penutup Keep this Open-Source spirit up. This system is aLL about binary, if you are NOT 1 then you are 0. Knowledge belong to the world, share it. Kritik, saran dan caci maki silahkan kirim ke killfinger@yahoo.com. Online bUdDies: Salam buat A_BlAcK-LisT, Acetosal, jhon angga, ryan_the, ucoxxx, AcCezZdENieD dan KIDS_KIDS. Special buat teman2 yang tidak bisa disebutkan satu persatu di #SecretColony, #Level9-Team @t DAL.Net. Offline d00d: toto at jasakom (kapan nge-band lagi?), erich, d0nny, din0 at SecretColony Labs n Research Group, /bsp/mnt, yogas. ----------------------- To follow the path; look to the master, follow the master, walk with the master, see through the master, become the master. ----------------------- Hacking is NOT instant. Best Regs KillFinger