Tambahan Pertemuan 11 Sekom

advertisement
Secara semantik, web didefinisikan menjadi Data yang
direpresentasikan di world wide web ( Tim Berners-Lee,
James Hendler, Ora Lassila. Scientific American,May
2001).
Adapun hacking didefinisikan menjadi Tindakan di luar
otoritas atau tindakan mematahkan/membobol
mekanisme keamanan sebuah sistem informasi atau
sistem jaringan
(Http://www.tsl.state.tx.us/ld/pubs/compsecurity/glossary.html).
Jadi, singkatnya web hacking dapat diartikan Tindakan
menerobos mekanisme keamanan dari suatu sistem yang
direpresentasikan dalam world wide web.
Menerobos mekanisme keamanan suatu jaringan,
bukanlah tindakan yang gampang untuk dilakukan.
Jadi, siapakah pelaku web hacking tersebut? Seiring
perkembangan internet yang benar-benar pesat dan
diiringi perkembangan security dan underground,
membuat siapa saja dapat menjadi pelaku.
Tidak ada keharusan bahwa pelaku web hacking
adalah orang yang pintar komputer dan internet, atau
lain sebagainya.
Jika semua bisa menjadi pelaku web hacking, tentu Ada
alasan jika sampai melakukannya dan pertanyaan
adalah Mengapa?
Jika pertanyaannya adalah Mengapa, biasanya
jawabannya adalah Karena.
Ada banyak alasan orang melakukan web hacking,
diantaranya adalah:
1. Wanna Be A Hacker ( ingin menjadi seorang hacker
).
2. Mendapatkan popularitas.
3. Ingin mendapat pujian.
Internet merebak harum di Indonesia, bisa dikatakan mulai pada
hitungan tahun 90-an.
Internet yang sebelumnya merupakan sebagai hal yang mustahil
untuk dirasakan oleh rakyat kelas bawah, semakin terjangkau
dengan laris manisnya bermunculan warnet (warung internet).
Ada ujaran yang mengatakan Kejahatan ada karena ada
kesempatan.
Ujaran tersebut mungkin belum dapat ditujukan kepada pelaku
web hacking.
Dengan banyaknya kehadiran warnet bahkan ada yang buka 24
jam, membuat web hacking dapat dilakukan kapan saja dan
dimana saja, tanpa harus menunggu waktu.
secara umum ada empat (4) langkah sederhana yang
biasanya dilakukan, yaitu:
1. Membuka akses ke situs.
2. Hacking root (superuser)
3. Menghilangkan jejak.
4. Membuat backdoor (jalan belakang), untuk masuk di
kemudian hari.
Secara singkat proses hacking dilakukan melalui beberapa
proses terlebih dulu, seperti hal-nya dinas intelejen, yang
dilakukan dalam tiga (3) tahapan besar, yaitu,
1. footprinting
2. port scanning
3. network enumeration
Footprinting untuk mengetahui seberapa besar scope / wilayah
serangan bisa dilihat dari berbagai file HTML perusahaan tsb,
perintah whois, host, dig, nslookup pada Linux untuk melihat
scope host yang perlu di serang / di amankan.
Port Scanning untuk melihat servis apa saja yang ada di
mesin-mesin tersebut, topologi jaringan dsb. bisa dilakukan
menggunakan perintah ping, traceroute, nmap, strobe,
udp_scan, netcat di Linux & terakhir Cheops untuk melakukan
network mapping.
Network Enumeration sistem operasi yang jalan di server
target apakah Windows NT/2000 / Linux / Netware.
Program seperti snmputil, enum, dumpsec, showmount,
rcpinfo, finger menjadi sangat “handy”.
DefaceSitus: melakukan perubahan pada halaman web depan pada situs-situs
tertentu, biasanya aktifitas ini dilakukan oleh para hacker atau cracker dengan
gerakan undergroundnya sebagai sebuah cyber gang fight untuk mengganggu
informasi yang dimunculkan pada halaman situs yang dimaksud.
Beberapa deface yang pernah terjadi adalah ketika pada akhir tahun 2002 seiring
dengan isu warga Indonesia di Australia, sehingga beberapa situs Australia
mengalami serangan ini. Begitu juga ketika perebutan Ambalat antara Indonesia
dengan Malaysia, beberapa situs Malaysia pun mengalaminya, peristiwa
penyerbuan karena kasus Ambalat ini disebut dengan e-ganyang.
Beberapa Alasan Defacing.
1. Dendam atau perasaan gak puas*
2. Kenikmatan tersendiri, 'defacer' merasa tertantang
3. Intrik politik, Sosial dsb
4. Penyampaian pesan tertentu
5. Iseng karena gak ada kerjaan dan pengen ngetop
6. prestice dalam golongan
 full of page
artinya mendeface Satu halaman penuh tampilan depan alias file index atau file
lainnya yang akan diubah (deface) secara utuh, Untuk melakukan ini seorang
'defacer‘ harus berhubungan secara 'langsung' dengan box (mesin) atau usaha
mendapatkan priveleged terhadap mesin, baik itu root account dan lainnya.
umumnya dengan memanfaatkan kelemahan pada services services yang berjalan di
mesin, sehingga dapat melakukan pengaksesan ke mesin.
 Sebagian atau hanya menambahi
artinya, defacer mendeface suatu situs tidak secara penuh, bisa hanya dengan
menampilkan beberapa kata, gambar atau penambahan script script yang
mengganggu, hal ini umumnya hanya akan memperlihatkan tampilan file yang di
deface menjadi kacau dan umumnya cukup mengganggu.
Defacer biasanya mencari celah baik dari kelemahan scripting yang digunakan
dengan XSS injection (bisa merefer ke artikel yang di buat oleh theday at
http://ezine.echo.or.id) , bisa dengan SQL atau database injection dan juga
beberapa vulnerabilities yang seringkali ditemukan pada situs situs yang dibangun
dengan menggunakan CMS (content Manajemen System) contoh XSS dapat dilihat
di http://forum.echo.or.id bagian proof of concept disitu terdapat beberapa
contoh XSS dan metoda lainnya yang ditujukan untuk "pendidikan" saja
1. <internal>
a. Kesalahan konfigurasi
cara menanggulanginya : Ada baiknya berhati hati dalam mengkonfigurasi,
sesuaikan semua kebutuhan dengan peripheral + SDM yang dimiliki untuk
dapat dihasilkan semua policy yang dahsyat!
b. kelalaian admin
Faktor internal kedua adalah manusia yang menggelola server tersebut:
adapun jenis kelalaian yang dapat terjadi adalah :
 install file & folder
webmaster atau admin biasanya lalai dalam menghapus file yang digunakan
untuk menginstallasi portal web model CMS.
Contoh : folder /install,dan file install.php pada phpnuke, postnuke, phpbb, dsb
untuk menanggulanginnya : ada baiknya seorang administrator membaca
manual (kerjaan admin!!) modul CMS yang di gunakan dan melakukan uji
silang (cross check) alias "posisikan anda sebagai attacker"
install file & folder
webmaster atau admin biasanya lalai dalam menghapus file yang
digunakan untuk menginstallasi portal web model CMS.
Contoh : folder /install,dan file install.php pada phpnuke, postnuke,
phpbb, dsb untuk menanggulanginnya : ada baiknya seorang
administrator membaca manual (kerjaan admin!!) modul CMS yang di
gunakan dan melakukan uji silang (cross check) alias "posisikan anda
sebagai attacker"
file konfigurasi & permision
webmaster atau admin lupa mengatur permisi pada file file konfigurasi
yang penting, yang menyangkut administrasi dan konfigurasi file,
khususnya file-file yang mencatat password, baik password database
dsb.
Contoh : file config.txt, config.php, config.inc
untuk menanggulanginya : biasanya di gunakan perintah chmod pada
file dan folder chown dan chattr
run of date
Terlalu lama peng-update-an suatu web atau tidak secara
terus-terusan.
untuk menanggulanginya : anda cuma perlu rajin rajin dan
rutin menggunjungi situs situs yang menyediakan update
dari packet yang digunain.
run of services
terlalu banyak menjalankan layanan yang tidak diperlukan
pada setiap server.
services ===> port
cara menanggulanginya : Audit semua sistem anda
sebelum di 'launch' cek semua services yang berjalan dan
sesuaikan dengan kebutuhan!
run of services
terlalu banyak menjalankan layanan yang tidak diperlukan pada setiap server.
services ===> port
cara menanggulanginya : Audit semua sistem anda sebelum di 'launch' cek
semua services yang berjalan dan sesuaikan dengan kebutuhan!
cannot keep secret
Berkaitan dengan "social engineering", maka kepercayaan adalah hal terpenting,
"TRusT NO BODY" mungkin pilihan yang sangat masuk akal dalam menanggulangi
hal ini.
cara menanggulanginya : keep your own secret alias "inget man!! lo tu admin!
bukan tukang gosip yang EMBERRRR" :P
Kurang berhati-hati saat login ke mesin dsb
Sniffing yang dilakukan dari jaringan lokal sangat berkemungkinan untuk
mendapatkan password yang di pakai oleh r00t, admin, webmaster dsb.
cara menanggulanginya : setting server anda untuk menolak melakukan login
baik remote dan lokal untuk tidak menggunakan, gunakan perintah substitute.
untuk login secara remote upayakan penggunaan SSH dan SSL, beberapa
konfigurasi mungkin dapat berguna untuk menanggulanginya, baik konfigurasi
pc yang boleh akses remote baik berdasar ip, konfigurasi di jaringan, firewall dsb
a. Penghianatan
Beberapa individu yang mungkin terkena :
1) Administrator
2) Second Admin /Staff
3) WebMaster
4) User yang terdapat di mesin Server
cara menanggulanginya : Jaga kerahasiaan dan jangan
mengumbarnya pada siapapun.
2.
<eksternal>
a. sofware vulnerabilities
Software vulnerabilities disini adalah kelemahan, atau kesalahan yang
dimiliki oleh software/program yang dipakai baik secara sengaja atau
tidak sengaja.
cara menanggulanginya : rajin browsing untuk menggunjungi situs
resmi software software yang anda gunakan , baca berita 'security'
buatlah ikatan antara diri anda dengan komunitas opensource yang
kamu pakai secara khusus dan komunitas opensource secara umum.
Sehingga kamu gak merasa di tinggalkan. jangan takut!! bisa jadi
kebocoran itu ditemukan tetapi dlam waktu cepat juga bisa ditemukan
'obatnya'. lakukan semua langkah langkah penting, apakah
menonaktifkan fiture atau fasilitas tertentu yang dijalankan; yang
diketahui 'bolong' dan belum dimiliki atau di temukan patchnya. atau
diskusikan!! you have the community now!
2.
<eksternal>
b. sistem vulnerabilities
cara menanggulanginya :
1) seperti biasa pergi ke situs penyedia sistem operasi (kernel) untuk
info dan patch yang disediakan
2) ke situs-situs 'security , cari kelemahannya usahakan melakukan
penanggulangan semampunya.
3) Diskusikan di komunita
c. run of control
suatu kesulitan untuk melakukan Kontrol terhadap beberapa metoda
serangan tertentu oleh administrator , hal ini bisa dikarenakan
penggunaan beberapa fasilitas atau metode serangan
yang cukup relatif sulit untuk di elakkan.
serangan-serangan ini sangat umum di ketahui, diantaranya:
a. Brute forcing
b. Dictionarry attack
c. DOS attack
d. Sniffing.
1.
Mencari kelemahan pada sistem security, menemukan celah yang dapat dimasuki
untuk melakukan eksplorasi di server target. Dia akan melakukan scanning
tentang sistem operasi, service pack, service yang enable, port yang terbuka, dan
lain sebagainya. Kemudian dianalisa celah mana yang bisa dimasuki.
2. Melakukan penyusupan ke server korban. Teknik ini dia akan menggunakan
beberapa tools, file yang akan disisipkan, file exploit yang dibuat sengaja untuk dicopy-kan. Setelah berhasil masuk , tangan-tangan defacer bisa mengobok-obok isi
server.
Karena itu sebelum situs anda digerayangi seyogyanya melakukan langkah-langkah
preventif sebagai berikut :
Rutin melakukan update, upgrade dan patch pada sistem operasi dan aplikasiaplikasi yang dipakai.
Memeriksa ulang dan memperbaiki konfigurasi pada sistem operasi, web server
dan aplikasi lainnya.
Menganalisa kembali service-service yang aktif, matikan jika tidak perlu.
Mengatur jadwal untuk melakukan backup data penting, file konfigurasi sistem,
database, sehingga jika sewaktu-waktu terjadi deface, anda tinggal
menggunakan data backup.
Melindungi server dengan firewall dan IDS. Kedua tools ini ampuh
untuk mengatasi serangan Denial of service(DoS) attack.
Selalu memperhatikan hal-hal yang mencurigakan pada server,
baca log system operasi, log web server ataupun log aplikasi.
Melakukan vulnerability scanning secara rutin, juga melakukan
private security test.
Netcat merupakan tools yang banyak dipakai para hacker.
Kepopulerannya terlihat dari hasil survey lebih dari 1000 pengguna
Nmap pada tahun 2000 dan 2003 yang menempatkannya pada
urutan 5 besar, yaitu urutan ke 2 pada tahun 2000 dan urutan ke 4
pada tahun 2003.
Tools ini sering disebut sebagai "TCP/IP Swiss Army Knife"-nya para
hacker. Versi orisinalnya ditulis untuk sistem operasi Unix oleh
Hobbit ([email protected]) pada tahun 1995. Versi Windows NT
dikerjakan oleh Weld Pond ([email protected]).
Fitur dari Netcat antara lain adalah:
 Dapat mebangun koneksi Outbound dan inbound dengan TCP atau UDP, di dan
dari port mana saja.
 Dapat membaca argumen pada command line dari standar input
 Full DNS forwarding/reverse checking
 Kemampuan untuk menggunakan any local source port
 Kemampuan menggunakan any locally-configured network source address
 Tersedia port scanning secara built-in
 Dan lain-lain
Dengan fitur di atas, banyak para hacker dan pengelola sistem memanfaatkan
untuk melakukan hal-hal sebagai berikut:
Scanning port dan menginventori service-service yang terpasang pada server
File transfer
Pengujian dan simulasi terhadap server
Pengujian terhadap firewall, proxy dan gateway
Pengujian performance network
Pengujian address spoofing
Banner grabbing
 server harus secara berkala di-update dengan sercvice pack dan hotfix
terbaru.
 Lebih baik lagi kalau situs e-commerce itu juga dilindungi oleh firewall dan
IDS ( intrusion detection system ).
 SQL injection adalah sebuah aksi hacking yang dilakukan di aplikasi client
dengan cara memodifikasi perintah SQL yang ada di memori aplikasi client.
 SQL Injection merupakan teknik mengeksploitasi web aplikasi yang
didalamnya menggunakan database untuk penyimpanan data.
 Sebab terjadinya SQL Injection adalah tidak adanya penanganan terhadap
karakter – karakter tanda petik satu ’ dan juga karakter double minus — yang
menyebabkan suatu aplikasi dapat disisipi dengan perintah SQL. Sehingga
seorang Hacker menyisipkan perintah SQL kedalam suatu parameter maupun
suatu form. Peran logika sangat diperlukan disini.
SQL Injection juga bisa di sisipkan dalam parameter URL. Seperti kasus situs KPU
yang di hack dan nama partai nya diubah menjadi nama-nama yang lucu. Pelaku
penyerangan menyusupkan perintah SQL:
“UPDATE nama_table SET nama_partai bla..bla..” lewat URL browsernya.
• Batasi panjang input box (jika memungkinkan), dengan
cara membatasinya di kode program, jadi si cracker
pemula akan bingung sejenak melihat input box nya yang
tidak bisa diinject dengan perintah yang panjang.
• Filter input yang dimasukkan oleh user, terutama
penggunaan tanda kutip tunggal (Input Validation).
• Matikan atau sembunyikan pesan-pesan error yang
keluar dari SQL Server yang berjalan.
• Matikan fasilitas-fasilitas standar seperti Stored
Procedures, Extended Stored Procedures jika
memungkinkan.
• Ubah “Startup and run SQL Server” menggunakan low
privilege user di SQL Server Security tab.
Adapun scripting language di sisi server
 ASP (Active Server Pages)
Suatu program yang mengolah script program dalam lingkungan
server yang selanjutnya diserahkan ke client. ASP ini digunakan
untuk membagun suatu halaman web secara dinamis atau untuk
membangun suatu sistem berbasis web.
 JSP (Java Server Pages)
Java Server Pages (JSP) merupakan sebuah tenologi servlet-based yang
digunakan pada web tier untuk menghadirkan dynamic dan static content.
JSP merupakan text-based dan kebanyakan berisi template text HTML
yang digabungkan dengan spesifik tags dynamic content.

PHP (Personal Home Page)
PHP adalah suatu bahasa server-side yang didesain khusus dengan
aplikasi web.coding PHP dapat disisipkan diantara bahasa HTML dan
karna bahasa server side, maka bahasa PHP akan dieksekusi oleh
server, sehingga yang dikirimkan kebrowser adalah “hasil jadi” dalam
bentuk HTML sehingga kode PHP tidak akan dapat anda lihat.
Berikut ini adalah kode HTML dari suatu login form :
username: input name=user type=text width=20>
password: input name=pass type=password width=20>
Download