Teknik Melacak Vulnerability
Vulnerability adalah sesuatu yang bertalian dengan sistem komputer yang memungkinkan seseorang mengoperasikan dan menjalankannya dengan benar, atau memungkinkan pihak tak berwenang (bisa hacker) mengambil alih. Ada banyak tipe vulnerability. Ada miskonfigurasi dalam setup service, atau flaw programming service. Service adalah program yang berjalan di port Internet host. Tiap service adalah program yang merespon terhadap perintah - perintah tertentu.
Miskonfigurasi setup menimbulkan 'wiz' atau 'debug' command operasi pada sendmail versi lama, atau kesalahan setting directory permission pada FTP server hingga orang dapat download file password. Dalam kasus ini, vulnerability bukanlah kesalahan saat penulisan program, tapi cenderung pada gimana program dikonfigurasi. Contoh lain, diperbolehkannya file sharing pada komputer Windows 95 atau 98 padahal tidak perlu, atau kegagalan password pada file sharing.
Contoh error dalam programming service adalah sejumlah besar buffer overflow vulnerability di program yang menjalankan service pada port Internet host computer. Banyak problem buffer overflow ini mengakibatkan orang bisa menggunakan Internet untuk menjebol atau mengontrol host computer. Lebih jauh dapat dilihat di www.happyhacker.org.
Mengetahui adanya vulnerability, tentu kita pengen gimana mengeksploitasi. Sebelum melangkah lebih jauh, kita kupas dulu apa itu exploit. Exploit adalah program atau teknik memanfaatkan vulnerability. Contohnya, terjadinya FTP-Bounce vulnerability saat FTP server dikonfigurasi untuk redirect koneksi FTP ke komputer lain. Ini dikatakan vulnerability lantaran feature 'bounce' memungkinkan seseorang memanfaatkan vulnerability untuk mem-port scan komputer di LAN yang sama sebagai FTP server. Jadi, sekalipun firewall mungkin menjaga port scanner discanning langsung oleh komputer lain di LAN yang sama, FTP server akan me-bounce scan past atas firewall.
Jadi, exploit adalah teknik untuk memanfaatkan vulnerability sehingga kita mengontrol atau memonitor resource yang kita anggap penting. Exploit bergantung sistem operasi dan konfigurasi program - program yang berjalan di komputer system, dan LAN.
Sistem operasi seperti NT, VMS dan UNIX memang beda. Bahkan, Unix sendiri punya banyak varian. Contohnya BSD, AIX, SCO, Irix, Sun OS, Solaris, dan Linux. Apa maksudnya dari kata di atas ? Ini berarti exploit yang berjalan di NT mungkin tak bisa berlaku di sistem operasi Unix, dan exploit for Unix itu juga sebaliknya, tak bisa dipakai untuk exploit NT. NT service dijalankan oleh program - program berbeda dari program - program Unix.
Juga service dengan versi berbeda yang berjalan di sebuah sistem operasi bisa saja tak tahan (tidak rentan) terhadap exploit yang sama, lantaran masing - masing versi service dijalankan oleh program yang berlainan pula. Terkadang program memang punya nama sama tapi beda di nomor versi. Contohnya, Sendmail 8.9.1a beda dengan 8.8.2. sejauh ini versi 8.9.1a sudah diperbaiki sehingga kecil kemungkinan untuk exploit.
Simpulannya, exploit untuk 1 sistem operasi atau service kecil kemungkinannya berlaku untuk sistem operasi lain. Ini bukan tidak mungkin. Namun, satu hal pasti, Win95 atau NT exploit dijamin tak bisa digunakan exploit Unix.
Melacak Vulnerability ?
Jika anda menggunakan sistem operasi Windows, masuk ke DOS prompt, lalu dari C:\>Windows ketikkan perintah netstat -a. Bila komputer anda terkoneksi ke jaringan atau Internet, baris di atas mewartakan bahwa komputer lokal tengah menguping (listening) di port 135, 137, 138, dan 'nbsession' (yang menerjemahkan ke port 139....ketikkan 'netstat -an' untuk melihat nomor port saja, tidak termasuk nama port). Port - port tersebut merupakan bagian dari Microsoft networking.
Sekarang kita jalankan web browser dan masuk ke http://www.happyhacker.org serta pada saat bersamaan kita jalankan Windows telnet dan connect ke shell account di example.com. Kita ketikkan netstat -a. Dan, hasilnya seperti berikut :
Active Connections Proto Local Address Foreign Address State TCP localhost:1027 0.0.0.0:0 LISTENING TCP localhost:135 0.0.0.0:0 LISTENING TCP localhost:2508 0.0.0.0:0 LISTENING TCP localhost:2509 0.0.0.0:0 LISTENING TCP localhost:2510 0.0.0.0:0 LISTENING TCP localhost:2511 0.0.0.0:0 LISTENING TCP localhost:2514 0.0.0.0:0 LISTENING TCP localhost:1026 0.0.0.0:0 LISTENING TCP localhost:1026 localhost:1027 LISTENING TCP localhost:1027 localhost:1026 LISTENING TCP localhost:137 0.0.0.0:0 LISTENING TCP localhost:138 0.0.0.0:0 LISTENING TCP localhost:139 0.0.0.0:0 LISTENING TCP localhost:2508 zlliks.505.ORG:80 ESTABLISHED TCP localhost:2509 zlliks.505.ORG:80 ESTABLISHED TCP localhost:2510 zlliks.505.ORG:80 ESTABLISHED TCP localhost:2511 zlliks.505.ORG:80 ESTABLISHED TCP localhost:2514 example.com:telnet ESTABLISHED |
Terlihat ada port - port yang tengah menguping Microsoft networking, sebagaimana contoh sebelumnya. Juga, terlihat ada port - port baru. Empat di antaranya terkoneksi ke 'zlliks.505.org' pada port 80, dan 1 port ke 'example.com' pada telnet prot. Data ini cocok dengan koneksi client yang disetup sebelumnya. Dari sini kita tahu nama - nama komputer yang tengah menjalankan web site Happy Hacker.
Bagaimana port - port di atas port umum yakni port di atas 1 hingga 1024, contohnya port 2508 hingga 2511 ? Aplikasi client, seperti browser dan telnet client (client adalah program yang mengkoneksikan komputer lokal ke server) menggunakan port untuk menerima data. Karenanya, keduanya memilih port acak di atas port umum yang berangka di atas 1024. Dalam kasus ini, browser membuka 4 port....2508 hingga 2511.
Sekarang katakan anda pengen menscanning port komputer kawan. Bagaimana kita tahu IP address komputer kawan ? Ketikkan command (dari DOS prompt) netstat -r. Akan nongol tampilan seperti berikut : C:\WINDOWS>netstat -r
Route Table Active Routes: Network Address Netmask Gateway Address Interface Metric 0.0.0.0 0.0.0.0 198.59.999.200 198.59.999.200 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 198.59.999.0 255.255.255.0 198.59.999.200 198.59.999.200 1 198.59.999.200 255.255.255.255 127.0.0.1 127.0.0.1 1 198.59.999.255 255.255.255.255 198.59.999.200 198.59.999.200 1 224.0.0.0 224.0.0.0 198.59.999.200 198.59.999.200 1 255.255.255.255 255.255.255.255 198.59.999.200 0.0.0.0 1 |
Gateway address dan interface menginformasikan IP address komputer anda. Jika anda terkoneksi ke LAN, gateway akan berbeda dari IP address komputer anda. Akan tetapi, bila anda atau teman anda berada di LAN, sebaiknya perhatikan terjadi saling port scanning. Bagaimana dengan vulnerability Win95 dan NT ? Vulnerability Win95 bisa dilihat program netcat yang bisa diperoleh di http://www.l0pht.com/. Sementara dokumentasinya ada di http://www.happyhacker.org/. Untuk NT security ada di http://www.infowar.com. Netter/surfer, berikut ini beberapa situs yang menyediakan informasi vulnerability dan exploit di Internet :
ISS X-Forece http://www.iss.net/
RootShell http://www.rootshell.com/
Techno Tronic http://www.technotronic.com/
Packet Storm Security Site http://www.Genocide2600.com
Bugtraq archives http://www.netspace.org/
NTBugTraq http://www.ntbugtraq.com/
NTSecurity http://www.ntsecurity.net/
Active Matrix's HideAway http://www.hideaway.net/
CERT http://www.cert.org/
Aelita Software http://www.ntsecurity.com
Active Connections Proto Local Address Foreign Address State TCP lovely-lady:1093 mack.foo66.com:smtp ESTABLISHED |
Active Connections Proto Local Address Foreign Address State TCP localhost:1027 0.0.0.0:0 LISTENING TCP localhost:135 0.0.0.0:0 LISTENING TCP localhost:135 0.0.0.0:0 LISTENING TCP localhost:1026 0.0.0.0:0 LISTENING TCP localhost:1026 localhost:1027 ESTABLISHED TCP localhost:1027 localhost:1026 ESTABLISHED TCP localhost:137 0.0.0.0:0 LISTENING TCP localhost:138 0.0.0.0:0 LISTENING TCP localhost:nbsession 0.0.0.0:0 LISTENING TCP localhost:135 *:* TCP localhost:nbname *:* TCP localhost:nbdatagram *:* |
(bLaCkApRiL 133)