EXPLOITS
Dalam konteks
per-hacking-an, eksploit tidaklah jauh berbeda dengan artinya dalam konteks
harfiah, yaitu pemanfaatan. Tentunya eksploit2 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 anu untuk
mendapat privilese root”. Tentu saja mendapatkan root bukanlah satu-satunya
tujuan pengeksploitan sistem. Seperti yang mungkin anda sudah 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.
Eksploit secara
besar sering dibagi menjadi dua, yaitu eksploit lokal dan eksploit remote.
Exploits lokal
Eksploit lokal
adalah jenis eksploit yang hanya bisa dijalankan jika anda sudah punya akses ke
dalam suatu sistem (baik itu melalui login telnet, ftp, dll). Eksploit jenis ini
jumlahnya banyak, sebab anda sudah punya akses ke ribuan program yang berpotensi
untuk di-eksploit. Contoh - contoh dari eksploit jenis ini adalah :
- buffer
overflow (mis: 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
agar saya bisa mendapatkan eksploit seperti ini? Tentu saja anda bisa
menghabiskan waktu berjam-jam untuk mengutak-utik sebuah program sampai berhasil
anda jebol (lebih baik dilakukan di jaringan anda sendiri), seperti para 'elite'
lainnya. Biasanya eksploit diprogram dengan C, perl, atau sh. Namun kalau ilmu
kungfu anda masih kayak kami (dan emang bawaannya malas), banyak eksploit yang
sudah didokumentasi dan tersedia melalui websearch, atau di situs-situs
tertentu, seperti:
Exploits remote
Eksploit jenis
satunya lagi adalah eksploit remote, dimana anda 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/http://k-elektronik.org/
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 tip yang kira-kira berguna untuk memanfaatkan
eksploit-eksploit remote? Jelas sebuah port scanner sangatlah bermanfaat untuk
melihat port-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 (baca bagian artikel scanner).
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 campurtangan dari user lokal untuk bisa bekerja (saat user meng-click
sebuah link, sang eksploit akan mengirimkan file password ke alamat email
tertentu.)
Email Bomb:
Email bomb adalah
sejenis program yang diprogram untuk menghantar pesan secara berkesinambungan ke
mail box seseorang. Tujuannya adalah untuk memenuhi kuota mail box mangsa dengan
pesan mereka sehingga acount email mangsa terganggu atau kemungkinan diputus
oleh penyedia fasilitas mail.
Beberapa paket
email bomb yang kira2 populer ialah Up Yours,
Kaboom, UnaBomber,
Gatemail dan UNIX
Mailbomber. Alternatif lainnya untuk email bomb ialah list
linking. Program ini ditujukan ke pengguna email yang berlangganan
internet news letter, atau maillist seperti yahoo groups dan sebagainya.
Untuk mencegah
email bomb ini, kita gunakan program2 mail filter seperti Stalker,
Musashi, Email
Chomper, SPAM Attack, Spam
Buster, Spam Killer dan masih
banyak lagi yang dapat anda cari di internet.
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.
Beberapa DoS
program populer ialah WinNuke, Bonk
and Boink, Jolt, Pong, TearDrop,
SynFlooder, DNSKiller
dan sebagainya. Tapi DoS akan kurang ampuh kalau dilakukan secara perseorangan.
Yang keren adalah dengan memakai trojan khusus yang disebarkan di internet yang
dkenal juga dengan istilah distributed denial of service (DDoS) attack.Teknik
ini pernah digunakan di www.yahoo.com
dengan menggunakan Trinoo. Trinoo
ini diprogram untuk menyerang suatu host pada waktu tertentu dengan serentak
dari paltform-paltform yang telah dijangkiti oleh trojan ini.
Serangan serentak
dari beribu-ribu platform ke satu
host menyebabkan kepenuhannya trafik ke host tersebut dan host tersebut tidak
dapat diaksess.
Land
attack
Land
attack merupakan serangan kepada sistem dengan menggunakan program yang bernama land.
Apabila serangan
diarahkan
kepada sistem Windows 9x, maka sistem yang tidak diproteksi akan menjadi hang
(dan biasanya keluar blue screen). 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 seakanakan 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
Latierra
Program latierra merupakan perbaikan dari program land, dimana port yang digunakan berubah-ubah sehingga menyulitkan bagi pengamanan.
latierra
v1.0b by MondoMan (elmondo@usa.net), KeG
Enhanced
version of land.c originally developed by m3lt, FLC
Arguments:
*
-i dest_ip = destination ip address such as 1.1.1.1
If
last octet is '-', then the address will increment
from
1 to 254 (Class C) on the next loop
and
loop must be > 1 or -5 (forever).
Alternatives
= zone=filename.txt or list=filename.txt
(ASCII)
For list of alternative options,
use
-a instead of -h.
*
-b port# = beginning port number (required).
-e
port# = ending port number (optional)
-t
= tcp flag options (f=fin, ~s=syn, r=reset, ~p=push, a=ack,
u=urgent)
-v
= time_to_live value, default=255
-p
protocol = ~6=tcp, 17=udp, use -p option for complete list
-w
window_size = value from 0 to ?, default=65000
-q
tcp_sequence_number, default=3868
-m
message_type
(~0=none,
1=Out-Of-Band, 4=Msg_DontRoute
-s
seconds = delay between port numbers, default=1
-o
1 = supress additional output to screen, default=0
-l
loop = times to loop through ports/scan, default=1,
-5=forever
*
= required ~ = default parameter values
unix#
./latierra
-i 192.167.1.1 -b 139 -e 141
latierra
v1.0b by MondoMan (elmondo@usa.net), KeG
Enhanced
version of land.c originally developed by m3lt, FLC
Settings:
(-i)
Dest. IP Addr : 192.168.1.1
(-b)
Beginning Port #: 139
(-e)
Ending Port # : 141
(-s)
Seconds to Pause: 1
(-l)
Loop : 1
(-w)
Window size : 65000
(-q)
Sequence Number : F1C (3868)
(-v)
Time-to-Live : 255
(-p)
IP Protocol # : 6
(-t)
TCP flags : syn push
Done.
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 9x.
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.
Sniffer
Sniffer adalah
sejenis alat atau program yang dibuat untuk mengintip data jaringan. Sering
digunakan oleh sysadmin untuk menganalisis keakuratan sesuatu jaringan dalam
penghantaran dan penerimaan data (data taffic). Kalau misalnya jaringan tiba2
drop, data dari sniffer dapat digunakan digunakan untuk menentukan sebab
terjadinya masalah.
Kebanyakkan
proprietary sniffer (enhanced commercial) terdiri dari gabungan antara alat dan
pelindung. Standar sniffer dalam menganalisis berbagai protokol dasar yang
sering digunakan ialah standard ethernet, TCP/IP, IPX dan DECNet.
Umumnya dalam
komunikasi data jaringan, semua komputer yang terdapat di dalam jaringan akan
menerima pesan data dari komputer sumber. Komputer yang dialamatkan sebagai
penerima akan merespon ke alamat penghantar.Komputer2 lainnya mengabaikan pesan
tersebut kecuali komputer yang dilengkapi dengan alat atau program untuk merekam
data yang dihantar tadi. Komputer ini dikatakan berada dalam promiscous mode
atau kata lainnya ia adalah sniffer. Inilah istilah sniffer dalam komputer yang
sebenarnya.
Selain itu,
terdapat program sniffer yang khusus dibuat dalam bentuk trojan dan biasanya
dikirim dari luar jaringan oleh seseorang. Program ini biasanya disebarkan
melalui email atau bisa jadi menempelkan dirinya pada communication port
komputer target. Program ini kemudian akan merekam data trafik yang dibuat oleh
komputer target menurut tatacara yang telah diprogramkan oleh hacker yang masuk
tersebut dan mengirimkan kembali
data yang telah direkam tersebut ke hacker pengirim untuk kemudian
dieksploitasi/manipulasi.
Sniffer pada
dasarnya adalah alat yang berguna untuk sysadmin menganalisis kehandalan sesuatu
jaringan.Tapi hal ini telah banyak disalahguenakan oleh orang2 yang mengaku
hacker untuk mencuri data2 dari komputer lain.
Beberapa data yang
dapat direkam oleh program sniffer antara lain username, password, mail message,
dan sebagainya tergantung bagaimana sniffer ini dibuat.
Contoh program
sniffer dalam jaringan yang baik yang penulis ketahui ialah L0pthCrack.
Program ini dibuat berbasiskan platform Windows NT dan akan merekam data
komunikasi antara komputer selama proses login melalui jaringan. Data yang
direkam meliputi semua komputer yang terdapat jaringan dan aktif dalam sahare
resource (drive, printer dsb).Perintah username dan password ini akan direkam
dan disimpan (save) yang kemudiannya akan dicrack secara offline menggunakan
mesin crack yang terdapat dalam program tersebut. Tingkat keakuratan program ini
dalah 85% .
Sniffer dalam
bentuk trojan khususnya dalam PC mudah dikenali melalui program-program seperti MD5,
TripWire, BODetect,
ATP, TAMU
dan sebagainya yergantung jenis OS. Untuk tujuan di jaringan program2 sniffer
seperti Snifftest, Nitwit,
Promisc dan sebagainya dapat dipakai.
Terdapat 2 langkah
utama untuk mengurangi resiko sniffer ini, yaitu melalui bentuk topology
jaringan yang baik dan menggunakan 'encrypted session' sewaktu proses transmisi
data.
- Topology yang
baik dapat dibuat dengan memecah jaringan jadi segmen2 kecil (5-10 buah PC)
melalui switches, routers dan bridges hal ini jelas lebih baik daripada membuat
suatu jaringan yang besar. Sniffer umumnya tidak menyebar seperti virus atau
worm.
- Encrypted
session adalah menukar huruf dan angka biasa (plain text) ke kode2 tertentu yang
hanya bisa diterjemahkan menggunakan program yang sama atau teknik encryption
yang sama.
Salah satu contoh
dari program exploit yang dikeluarkan oleh group security/hacker
"Rhin09" lengkap dengan tools scannernya.
.
Setelah anda
selesai melakukan pengecekan dengan Legion, langkah selanjutnya anda tinggal
menggunakan map drive atau dengan klik drive yang di maksud, dan anda dapat
dengan sesuka hati mengexploitir target anda. Hal ini hanya berlaku bila
sysadmin tersebut ceroboh dan mensetting servernya dengan default/tipikal.