09 Oktober, 2009

TEKNIK MENGAMANKAN SYSTEM ANDA DENGAN RCS (REVISION CONTROL SYSTEM)

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 "http://indosecure.net:2095/3rdparty/squirrelmail/src/compose.php?send_to=shell-punya%40yahoo.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 is belong to the
world, share it. Kritik, saran dan caci maki silahkan kirim ke
http://indosecure.net:2095/3rdparty/squirrelmail/src/compose.php?send_to=KillFinger%40linuxmail.org.