MAKALAH ANALIS RPC PADA WINDOWS 2000 SERVER
Disusun utuk memenuhi tusag mata kuliah Sistem Terdistribusi
Oleh :
Alfi Wahyudi [20106098]
Dahron [20106324]
Danang Subariyanto [20106326]
Faris Septiawan [20106523]
M. Fatihurrizqi [20106829]
Wandes Hansen P [21106459]
Kelas 4KB01
Universitas Gunadarma
2010
Makalah Sistem Terdistribusi 2010
2
RPC Pada Windows Server 2000
1. Pendahuluan
Windows 2000 Server merupakan Network Operating System (NOS)
untuk melakukan konfigurasi dan manajemen jaringan baik skala kecil,
menengah, maupun besar. Teknologi sistem operasi Windows 2000 sebenarnya
merupakan kelanjutan teknologi Windows NT yang telah cukup lama digunakan
secara luas di pasaran. Keluarga Windows 2000 terdiri dari 4 jenis sistem operasi,
3 diantaranya merupakan sistem operasi untuk server dan 1 untuk workstation
yaitu Windows 2000 Professional, Windows 2000 Server, Windows 2000
Advance Server, dan Windows 2000 Data Center Server.
Sebuah server dapat menjalankan berbagai fungsi sesuai kebutuhan bisnis.
Pada organisasi skala kecil fungsi – fungsi tersebut dapat digabungkan dalam
satu server dan satu komputer. Untuk organisasi besar, sebaiknya setiap fungsi
dijalankan pada server terpisah sesuai dengan beban kerjanya. Sehingga dapat di
sederhanakan bahwa fungsi Windows 2000 Server adalah sebagai berikut :
a. File Server
Dengan sistem ini sistem file akan lebih terintegrasi sehingga
memudahkan manajemen dan pencarian file. Windows 2000 Server memiliki
fasilitas Distributed File System untuk memudah kan pengelolaan file dalam
jaringan. Dengan sistem ini pengguna jaringan dapat dengan mudah
menggunakan dan menyimpan file tanpa perlu mengetahui letak sebenarnya
dari suatu file.
b. Aplication Server
Apabila server digunakan untuk menyimpan dan menjalankan suatu
program aplikasi, maka server tersebut bertindak sebagai application server.
Aplikasi diinstal di server dan dijalankan atau diakses oleh klien. Dengan
demikian aplikasi tidak perlu diinstal di klien sehingga memudahkan proses
implementasi dan maintenance sistem. Windows Terminal Services
Makalah Sistem Terdistribusi 2010
3
merupakan fasilitas untuk memudahkan penggunaan Windows 2000 Server
sebagai application server.
c. Web Server
Web Server merupakan komputer yang digunakan sebagai host berbagai
aplikasi web baik dalam lingkungan internet maupun intranet. Internet
Information Service 5.0 merupakan komponen Windows 2000 Server untuk
memudahkan konfigurasi dan manajemen web site
d. E-Mail Server
Windows 2000 Server dapat juga digunakan sebagai E-Mail server dengan
menggunakan berbagai software tambahan antara lain Microsoft Exchange
Lotus Notes, maupun MDaemon. Fungsi E-Mail server dapat dianalogikan
dengan kantor pos dalam sistem surat menyurat konvensional.
e. Member Server
Apabila Windows 2000 Server digunakan sebagai member server maka
hanya dapat bertindak sebagai klien dalam jaringan dan tidak dapat
menjalankan fungsi server untuk mengatur jaringan. Ketika Windows 2000
Server diinstal pertama kali, maka secara otomatis akan berfungsi sebagai
member server. Untuk merubahnya sebagai domain controller digunakan
perintah dcpromo dari command prompt
f. Domain Controller
Domain Controller (DC) merupakan server yang berfungsi sebagai
pengatur jaringan. Manajemen sumber daya dan obyek jaringan dilakukan
dari DC, karena akses secara penuh terhadap Active Directory hanya dapat
dilakukan dengan melakukan login ke DC. Apabila anda pernah mengelola
jaringan berbasis Windows NT maka terdapat istilah Primary Domain
Controller (PDC) dan Backup Domain Controller (BDC).
Dalam sistem jaringan Windows 2000 dua istilah tersebut sudah tidak
dikenal lagi. Setiap DC dalam jaringan adalah peer (setara) yang masing-
masing dapat dikonfigurasi untuk melakukan replikasi obyek Active
Directory, sehingga apabila salah satu DC tidak berfungsi maka dapat segera
digantikan oleh DC yang lain. Sanga disarankan dalam suatu organisasi untuk
memiliki minimal 2 DC sehingga menjamin fault tolerance.
Makalah Sistem Terdistribusi 2010
4
Windows 2000 Server merupakan pengembangan dari Windows NT
sehingga memiliki fitur-fitur yang mirip dan merupakan dari pengembangan dari
windows NT tersebut. Berikut fitur-fitur yang dimilliki oleh Windows Server 2000 :
a. Active Directory Service
Directory Service dapat diumpamakan sebagai buku direktori telepon yang
menyimpan berbagai informasi : nama, alamat dan nomor telepon yang disusun
berdasarkan abjad sehingga memudahkan proses pencarian. Peranan Directory
Service dalam sebuah jaringan adalah sebagai database yang menyimpan berbagai
informasi sumber daya dan obyek jaringan secara terpadu sehingga dapat dikelola
dan dikonfigurasi dengan mudah.
Istilah Active Directory Service digunakan dalam lingkungan Windows
2000 untuk memberikan penekanan pada kemampuannya untuk melakukan
berbagai fungsi manajemen secara dinamis dan terotomasi dengan mudah dan
cepat. Informasi yang disimpan dalam Active Directory antara lain meliputi user
dan group account, printer, file server, serta berbagai policy menyangkut user dan
group. User sebagai pengguna jaringan berkepentingan untuk dapat mengakses
berbagai sumber daya dengan cepat dan mudah, sedangkan administrator
berkepentingan untuk mengelola berbagai obyek jaringan secara efisien. Active
Directory memungkinkan pengelolaan jaringan menjadi lebih mudah karena
berbagai sumber daya dan obyek dapat disimpan secara terpusat untuk
dikonfigurasi secara terpadu.
Active Directory adalah pengganti teknoogi NT SAM database yang berisi
konfigurasi security, user, group, dan komputer, dengan banyak kelebihan lain
yang dimiliki AD.
b. Group Policy
Group Policy merupakan media untuk mengatur profil user terutama yang
berkaitan dengan desktop setting. Pengaturan yang dilakukan antara lain
menentukan jenis aplikasi yang tersedia bagi user, konfigurasi start menu, serta
akses terhadap berbagai icon seperti Control Panel dan MyComputer. Fasilitas ini
sangat berguna untuk menyesuaikan lingkungan tampilan desktop dengan tingkat
keahlian seorang user, serta memberikan tingkat keamanan sistem sehingga
Makalah Sistem Terdistribusi 2010
5
berbagai konfigurasi sensitif tidak akan dapat dirubah user. Group Policy dapat
dikonfigurasi secara terpusat dengan menggunakan fasilitas Active Directory.
c. Distributed File System
Ketika jaringan anda semakin besar dan jumlah user bertambah maka
sering terjadi penyimpanan file menjadi tidak rapi lagi. File - file kerja dapat
tersimpan di server maupun lokal di komputer masing – masing dengan
memberikan hak sharing bagi pemakai lain. Proses pencarian file sering menjadi
pekerjaan yang membingungkan karena peletakan file oleh user dilakukan dengan
tidak konsisten. Distributed File System (Dfs) merupakan solusi masalah
penyimpanan file dalam jaringan. Administrator menyediakan folder sesuai
dengan kebutuhan, sedangkan folder pada Dfs tersebut dihubungkan dengan letak
file secara fisik.
Dengan demikian seorang user dapat dengan mudah menyimpan dan
mencari file pada folder yang telah disediakan tanpa perlu mengetahui di mana
sebenarnya letak fisik suatu file. File pada Dfs juga dapat disimpan secara offline
di komputer lokal dan dilakukan proses sinkronisasi berkala dengan file di
jaringan.
d. Terminal Services
Terminal Services merupakan fasilitas yang dapat digunakan untuk
memanfaatkan komputer dengan hardware lama untuk dapat menjalankan
berbagai aplikasi terbaru. Terminal Services Server diinstal pada komputer server
dengan spesifikasi hardware yang mampu menjalankan Windows 2000 Server,
sedangkan Terminal Services Client diinstal pada komputer lama misalkan
sekelas 486 atau Pentium klasik. Komputer klien mengakses berbagai aplikasi di
server dengan menggunakan processing power komputer server. Fasilitas ini
sangat berguna untuk memudahkan administrasi dan maintenance berbagai
aplikasi secara terpusat karena instalasi aplikasi hanya dilakukan di server.
Namun demikian berbagai aplikasi berat seperti AutoCad dan Corel Draw
tidak akan berjalan maksimal dengan tools ini. Aplikasi yang cocok digunakan
antara lain berbagai suite aplikasi office seperti MS Office dan internet sharing.
Terminal Services juga dapat digunakan untuk melakukan remote administration
terhadap suatu server.
Makalah Sistem Terdistribusi 2010
6
2. RPC (Remote Procedure Call)
Remote Procedure Call (RPC) adalah sebuah metode yang
memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer
lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan
remote procedure. Pendekatan yang dilakuan adalah sebuah server membuka
socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server.
Bila client tidak tahu harus menghubungi port yang mana, client bisa me- request
kepada sebuah matchmaker pada sebuah RPC port yang tetap. Matchmaker akan
memberikan port apa yang digunakan oleh prosedur yang diminta client.
RPC masih menggunakan cara primitif dalam pemrograman, yaitu
menggunakan paradigma procedural programming. Hal itu membuat kita sulit
ketika menyediakan banyak remote procedure. RPC menggunakan socket untuk
berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara
default sudah ter- install kedalam sistemnya, biasanya RPC ini digunakan untuk
administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses
sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung
ke jaringan
RPC adalah suatu protokol yang menyediakan suatu mekanisme
komunikasi antar proses yang mengijinkan suatu program untuk berjalan pada
suatu komputer tanpa terasa adanya eksekusi kode pada sistem yang jauh (remote
system). Protokol RPC digunakan untuk membangun aplikasi klien-server yang
terdistribusi. Protokol ini didasarkan pada memperluas konsep konvensional dari
suatu prosedur dimana nantinya prosedur ini dapat dipanggil dimana pemanggil
tidak harus mempunyai alamat yang sama dengan yang lokasi dimana prosedur
ini dipanggil. Dimana proses ini dapat dilakukan pada sistem yang sama atau
sistem yang berbeda namun terhubung pada jaringan.
Namun terdapat kelemahan didalam bagian dari RPC yang berhubungan
dengan pertukaran message melalui TCP/IP. Kegagalan terjadi dikarenakan
karena penanganan kesalahan pada message yang berisi informasi yang salah.
Hasil dari kelemahan ini berakibat pada bagian antar-muka RPC, yaitu bagian
Makalah Sistem Terdistribusi 2010
7
yang mendengarkan port RPC yang di-enable. Bagian antar-muka ini menangani
objek aktivasi dari DCOM ( Distributed Component Object Model ) yang
dikirimkan oleh mesin klien ke server. Kelemahan ini umumnya dimanfaatkan
oleh seorang penyerang untuk dapat menjalankan suatu kode dengan kewenangan
Administrator sistem lokal pada sistem yang terinfeksi. Dengan demikian, maka
sistem yang diserang ini dapat diubah-ubah termasuk pengkopian dan
penghilangan data sampai pembuatan user baru dengan hak tidak terbatas.
Protokol Message RPC
Protokol Message RPC didefinisikan dengan menggunakan deskripsi data
eXternal Data Representation ( XDR ) yang meliputi struktur, enumerasi dan
union. Pembahasan lebih lanjut akan diterangkan pada bab berikutnya mengenai
implementasi RPC. Protokol Message ini membutuhkan faktor-faktor pendukung
sebagai berikut :
1. Spesifikasi yang unik untuk tiap prosedur call
2. Respon message yang sesuai untuk tiap message yang diminta
3. Otentifikasi klien untuk tiap layanan dan sebaliknya
Protokol Message RPC memiliki dua ( 2 ) struktur yang berbeda, yaitu call
message dan reply message. Tiap klien yang akan melakukan RPC pada suatu
server di jaringan akan menerima balasan (reply) berupa hasil dari eksekusi
prosedur tersebut. Dengan menggunakan spesifikasi yang unik untuk tiap
prosedure remote, maka RPC dapat mencocokkan message balasan untuk tiap call
message yang diminta klien.
Fitur dalam RPC
RPC memiliki fitur - fitur sebagai berikut : batching calls, broadcasting
calls, callback procedures dan using the select subroutine.
Batching Calls
Fitur Batching calls mengijinkan klien untuk mengirim message calls ke
server dalam jumlah besar secara sequence ( berurutan ). Batching
Makalah Sistem Terdistribusi 2010
8
menggunakan protokol streaming byte seperti TCP / IP sebagai
mediumnya. Pada saat melakukan batching, klien tidak menunggu server
untuk memberikan reply terhadap tiap messages yang dikirim, begitu pula
dengan server yang tidak pernah mengirimkan messages reply. Fitur inilah
yang banyak digunakan klien, karena arsitektur RPC didesain agar pada
tiap call message yang dikirimkan oleh klien harus ada proses menunggu
balasan dari server. Oleh karena itu maka pihak klien harus dapat
mengatasi error yang kemungkinan terjadi karena pihak klien tidak akan
menerima peringatan apabila terjadi error pada message yang dikirim.
Broadcasting Calls
Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data ke
jaringan dan menunggu balasan dari network. FItur ini menggunakan
protokol yang berbasiskan paket data seperti UDP/IP sebagai mediumnya.
Broadcast RPC membutuhkan layanan port mapper RPC untuk
mengimplementasikan fungsinya.
Callback Procedures
Fitur Callback Procedures mengijinkan server untuk bertindak sebagai
klien dan melakukan RPC callback ke proses yang dijalankan oleh klien.
Menggunakan select Subrutin
Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalam
antrian untuk melihat apakah mereka siap untuk dibaca (diterima) atau
ditulis (dikirim), atau mereka dalam kondisi ditahan sementara. Prosedur
ini mengijinkan server untuk menginterupsi suatu aktivitas, memeriksa
datanya, dan kemudian melanjutkan proses aktivitas tersebut.
Model dan Cara Kerja RPC
Prosedur call umumnya berkaitan dengan penggunaan stack, penyimpanan
parameter yang diterima dalam stack tersebut dan pengalokasian ruang untuk
lokal variabel. Namun selain itu ada yang disebut dengan Prosedur Call remote,
yang berarti pelaksanaan proses diatas namun pada suatu sistem lain yang
berhubungan melalui suatu jaringan. Sistem prosedur remote ini memiliki cara
kerja yang sedikit banyak mirip, namun berbeda dengan prosedur call biasa.
Makalah Sistem Terdistribusi 2010
9
Remote Procedure Call Flow
Tiap prosedur yang dipanggil dalam RPC, maka proses ini harus
berkoneksi dengan server remote dengan mengirimkan semua parameter yang
dibutuhkan, menunggu balasan dari server dan melakukan proses kemudian
selesai. Proses di atas disebut juga dengan stub pada sisi klien.
Sedangkan Stub pada sisi server adalah proses menunggu tiap message
yang berisi permintaan mengenai prosedur tertentu. Server harus membaca tiap
parameter yang diberikan, kemudian memberikan prosedur lokal yang sesuai
dengan permintaan dan parameter. Kemudian setelah eksekusi, server harus
mengirimkan hasil kepada pihak pemanggil proses.
Makalah Sistem Terdistribusi 2010
10
Diagram diatas memberikan gambaran mengenai flow dari eksekusi dalam
proses RPC. Berikut ini adalah diagram yang akan menjelaskan secara rince
mengenai proses yang terjadi pada klien dan server dalam eksekusi suatu prosedur
RPC :
Berikut penjelasan dari diagram diatas :
1. Klien memanggil prosedur stub lokal. Prosedur Stub akan memberikan
parameter dalam suatu paket yang akan dikirim ke jaringan. Proses ini
disebut sebagai marshalling.
2. Fungsi Network pada O/S (Operating system - Sistem Operasi) akan
dipanggil oleh stub untuk mengirim suatu message.
3. Kemudian Kernel ini akan mengirim message ke sistem remote. Kondisi ini
dapat berupa connectionless atau connection-oriented.
4. Stub pada sisi server akan melakukan proses unmarshals pada paket yang
dikirim pada network.
5. Stub pada server kemudian mengeksekusi prosedur panggilan lokal.
6. Jika eksekusi prosedur ini telah selesai, maka eksekusi diberikan kembali ke
stub pada server.
7. Stub server akan melakukan proses marshals lagi dan mengirimkan message
nilai balikan ( hasilnya ) kembali ke jaringan.
8. Message ini akan dikirim kembali ke klien.
9. Stub klien akan membaca message ini dengan menggunakan fungsi pada
jaringan.
10. Proses unmarshalled kemudian dilakukan pada message ini dan nilai balikan
akan diambil untuk kemudian diproses pada proses lokal.
Makalah Sistem Terdistribusi 2010
11
Proses RPC
Proses diatas akan dilakukan berulang-ulang ( rekursif ) dalam pengeksekusian
RPC dalam suatu remote sistem.
3. RPC pada Windows 2000 Server
Tujuan utama penggunaan protokol RPC adalah untuk mempermudah
komunikasi dalam pembangunan aplikasi klien - server yang terdistribusi. Namun
dalam perkembangannya, seiring dengan perkembangan sistem operasi, protokol
ini banyak disalah-gunakan. Hal ini terkait dengan kelemahan protokol ini yang
dimanfaatkan oleh pihak-pihak tertentu untuk mendapatkan keuntungan atau
sekedar untuk mengacaukan sistem yang berlaku. Tindakan ini disebut juga
dengan eksploitasi RPC.
3.1. Kelemahan RPC pada Sistem Operasi Windows
Sistem operasi Microsoft Windows adalah salah satu sistem operasi yang
mendukung protokol RPC. Sebagai sistem operasi yang paling banyak digunakan
di seluruh dunia baik untuk PC Desktop maupun server, sistem operasi Windows
menjadi salah satu sistem operasi yang banyak dijadikan target mulai dari
serangan virus, worm, sampai trojan. Protokol RPC juga tidak luput menjadi
sasaran serangan oleh pihak yang tidak bertanggung jawab.
Makalah Sistem Terdistribusi 2010
12
Alasan penyerangan pada protokol ini disebabkan karena kemudahan
ketergantungan sistem operasi Windows pada servis/layanan RPC. Banyak
layanan pada sistem operasi ini yang didesain untuk bergantung pada layanan
RPC, baik digunakan maupun tidak. Dan sayangnya, pengguna sistem operasi ini
tidak dapat mengdisfungsikan layanan RPC.
Pengguna bisa saja menggunakan firewall untuk memblok port RPC,
namun karena sistem operasi Windows terlalu bergantung pada mekanisme RPC
sebagai fungsi dasarnya maka hal ini kadang-kadang tidak berhasil. Bahkan
sebagai studi kasus, pada sistem operasi Windows Server 2003 terdapat
kelemahan pada fungsi RPC itu sendiri ( Informasi lengkapnya dapat dilihat pada
tabel kelemahan sistem operasi ini pada lampiran ).
Kelemahan protokol RPC pada sistem operasi ini terletak pada fungsi RPC
yang berhubungan dengan pertukaran message melalui protokol TCP/IP. Hal ini
mempengaruhi bagian antar-muka Distributed Component Object Model
(DCOM) yang berhubungan dengan RPC, yang akan mendengarkan ( listen )
port-port RPC yang tersedia.
DCOM adalah protokol yang berfungsi untuk mengaktifkan komponen
pada perangkat lunak (software) agar dapat berkomunikasi langsung dengan
jaringan. Protokol ini didesain untuk penggunaan jaringan multi tranport termasuk
protokol Internet misalnya HTTP. RPC melalui HTTP v1 ( pada sistem operasi
WIndows NT 4.0, Windows 2000 ) dan v2 ( Windows XP, Windows Server 2003
) mempunyai suatu fitur baru yaitu mendukung protokol transportasi RPC yang
mengijinkan RPC untuk beroperasi melalui port TCP 80 dan 443. Hal ini
menyebabkan komunikasi antara klien dan server dapat dilakukan walaupun
dalam pengawasan server proxy dan firewall. COM Internet Services ( COM )
mengijinkan DCOM untuk melakukan RPC melalui HTTP untuk komunikasi
DCOM klien dan DCOM server.
Port Portmap 111 adalah nomor port yang paling banyak diakses, namun
umumnya nomor port ini telah difilter oleh firewall. Kecenderungan lain
berpindah pada nomor port lain yang dapat digunakan untuk mengirim pesan
tertentu yang telah dimanipulasi, seperti port 135, 139, 445, 593 pada remote
komputer. Melalui port-port ini maka seorang user dapat melakukan permintaan
Makalah Sistem Terdistribusi 2010
13
yang dapat mengekploitasi dengan menjalankan kode dengan hak sistem lokal.
Berikut ini tabel protokol yang sering dimanfaatkan pada ekploitasi RPC :
Urutan Protokol yang digunakan oleh Endpoint Mapper
Port TCP atau UDP
ncacn ip tcp
ncacn ip udp
ncacn np pipe emapper
ncacn http
ncacn http dengan servis COM Internet aktif
TCP/135
UDP/135
TCP/139 dan TCP/445
TCP/593
TCP/180
Masalah ini semuanya disebabkan oleh kelemahan pada servis RPCSS.
Servis ini berhubungan dengan aktivasi DCOM. Kegagalan terjadi pada
penanganan messages yang salah sehingga mempengaruhi aktivasi DCOM yang
mendengarkan port UDP 135, 137, 138, 445 dan port TCP 135, 139, 445, 593.
Ditambah port 80 dan 443 ( CIS atau RPC over HTTP ) jika diaktikan. Dengan
kesalahan ini, maka seorang klien dapa menggunakan kegagalan ini untuk
mengeksekusi kode yang dapat dijalankan pada server.
3.2. Implementasi Eksploitasi RPC
Pada implementasi ini digunakan beberapa tools yang digunakan untuk
melakukan eksploitasi pada RPC. Pada contoh kasus ini, implementasi dilakukan
pada Local Area Network ( LAN ) dengan host yang menggunakan sistem operasi
Microsoft Windows XP. Eksekusi eksploitasi ini dibagi menjadi beberapa tahap.
Tahap pertama adalah deteksi sistem yang memiliki kelemahan ( vulnerability ).
Tahap kedua adalah penyerangan terhadap sistem tersebut. Biasanya pada tahap
ini digunakan program yang didesain khusus untuk mengeksploitasi RPC.
Pada contoh kasus ini digunakan program bernama ”Kaht”. Tahap
terakhir adalah tahap eksekusi kode pada sistem yang telah ter-remote. Pada tahap
ini, seorang penyerang dapat melakukan apa saja mulai dari pembuatan account
user dengan hak administrator sampai pengambilan data pada sistem.
3.3. Deteksi Sistem
Makalah Sistem Terdistribusi 2010
14
Tools yang digunakan pada tahap ini adalah RPCScan v.2.03 buatan
Foundstone.inc dan digunakan pada sistem operasi Microsoft Windows.
Sebetulnya tujuan awal penggunaan perangkat ini adalah untuk mendeteksi sistem
yang memiliki kelemahan keamanan bagi para Administrator, namun dapat
dipakai untuk tujuan lain. Software ini dapat mendetaksi sistem operasi yang
memiliki kelemahan yaitu pada layanan DCOM (Distributed Component Object
Model). Sesuai dengan penjelasan pada bagian sebelumnya, layanan DCOM
merupakan komponen yang berhubungan dengan servis RPC.
Sistem yang memiliki Kelemahan
Sistem yang masih mengaktifkan layanan DCOM akan diberi status
”Vulnerable” dan sebaliknya akan diberi status ”DCOM Disabled”( Figure 3.1).
Batasan pen-scan-an pada perangkat ini terbatas pada jaringan dengan protokol IP
v4. Namun mengingat masih banyaknya sistem yang menganut protokol ini, maka
implementasi pengecekan sistem dapat terjadi pada siapa saja. Serangan akan
ditujukan pada sistem dengan keterangan Vulnerable.
3.4. Eksploitasi Protokol RPC menggunakan Program
Pada tahap ini akan dilakukan eksploitasi protokol RPC, agar terjadi
kekeliruan penanganan message dari penyerang ( host1 ) ke sistem yang diserang
Makalah Sistem Terdistribusi 2010
15
( host2 ) sehingga host1 dapat melakukan eksekusi kode pada host2. Tools yang
digunakan pada tahap ini adalah program bernama ”Kaht”. Program ini akan
mengeksploitasi port 135 dari sistem yang terserang. Sistem yang akan diserang
adalah sistem dengan IP ”192.168.0.13”. Berikut ini tampilan eksekusi dari
program ini :
Penyerangan Pada Sistem
Gambar diatas menyatakan bahwa host1( IP 192.168.0.87) telah berhasil
masuk kedalam sistem remote pada host2 ( IP 192.168.0.13 ). Keberhasilan
eksploitasi ini juga dapat dilihat pada kondisi port-port yang terhubung antara
host1 dan host2. Sebelum tereksploitasi, tidak ada port TCP pada host1 yang
terhubung dengan siapapun. Setelah ekploitasi pada host2 berhasil dilakukan,
maka terlihat bahwa pada port 135 terjadi koneksi / koneksi sedang berjalan dan
tersambung ( Figure 3.3 ). Dengan demikian maka pengeksekusian kode pada
host2 oleh host1 dapat dilakukan. Sampai tahap ini, host1 hanya merupakan user
dengan hak biasa saja. Berikutnya adalah implementasi pengeksekusian kode
misalnya membuat account user baru dengan hak administrator.
Makalah Sistem Terdistribusi 2010
16
Sebelum dan Sesudah Eksploitasi
3.5. Eksekusi Kode
Tahap ini merupakan tahap eksekusi kode yang diinginkan. Pada tahap ini
host1 dapat melakukan melakukan apa saja. Pada contoh kasus ini akan dicoba
untuk membuat sebuah account baru dengan hak seorang administrator. Setelah
masuk pada sistem host2, maka gunakan perintah berikut untuk mengeksekusi
pembuatan user baru :
net user tom2 /add
Kemudian hak user ini diubah menjadi hak Administrator :
net localgroup Administrators tom2 /add
Dengan demikian pada host2 akan didapatkan satu user baru bernama ”tom2”
dengan hak seorang administrator.
Makalah Sistem Terdistribusi 2010
17
Pembuatan User
Implementasi ini dapat dilakukan untuk tujuan baik, misalnya pada kasus
hilangnya password seorang user yang memiliki hak sebagai Administrator.
Namun pada dasarnya hal ini sendiri adalah kelemahan utama didalam sistem
keamanan pada sistem operasi. Selain pembuatan user baru, eksekusi kode yang
dapat dilakukan lainnya antara lain upload atau download data dari dan ke host2,
perusakan sistem, dll.
3.6. Pencegahan Eksploitasi RPC
Pentingnya nilai informasi yang terkandung dalam suatu server atau
sebuah komputer pribadi mengharuskan penggunanya baik user atau
administrator harus melakukan tindakan preventif guna menghindari adanya
kebocoran informasi ini. RPC sendiri adala suatu layanan yang vital dan ada di
dalam setiap sistem operasi, khususnya sistem operasi Microsoft Windows yang
bergantung pada jenis layanan ini. Oleh karena itu menghilangkan layanan RPC
pada sistem operasi terasa lebih susah ketimbang dilakukan pengawasan ekstra
terhadap layanan ini. Berikut ini adalah beberapa cara yang dapat digunakan
untuk melakukan hal ini ( dikutip dari buletin keamanan Microsoft MS03-026 ):
Memblokir port 135, 137, 138 dan 445 pada UDP dan port 135, 149, 445,
dan 593 pada TCP melalui Firewall. Disfungsikan COM Internet Services
( CIS ) dan RPC melalui HTTP yang menggunakan port 80 dan 443
Makalah Sistem Terdistribusi 2010
18
terutama pada jaringan remote yang menggunakan VPN ( Virtual Private
Network ) atau sejenisnya.
Gunakan personal Firewall seperti Internet Connection Firewall.
Blokir semua port sering diekploitasi dengan menggunakan filter IPSEC.
Disfungsikan fitur DCOM pada setiap komputer atau server. Disable
DCOM on all affected machines
Khusus Sistem operasi buatan Microsoft, selalu update security Patch
untuk meningkatkan keamanan sistem operasi tersebut.