Tampilkan postingan dengan label security. Tampilkan semua postingan
Tampilkan postingan dengan label security. Tampilkan semua postingan

Sabtu, 03 Desember 2011

0 Serangan Terhadap Aplikasi Berbasis Web


Catatan:
Tugas kuliah ini cuma untuk pembelajaran, situs tidak dieksploitasi lebih lanjut, hanya untuk mengetahui kelemahannya saja. Mungkin situs ini sekarang sudah di-patch oleh sang admin.

Belakangan ini serangan melalui network mulai berkurang dikarenakan dengan kemajuan teknologi sekarang telah banyak update-update mengenai sekuritas jaringan, maupun semakin banyaknya admin yang memahami mengenai keamanan jaringan.Dikarenakan serangan melalui network mulai berkurang maka para hacker memanfaatkan sisi lain kelemahan dari sistem yaitu :
1. Kelemahan dari sisi manusianya (social engineering);
2. Aplikasi
Masalah social engineering telah dituangkan ke dalam Tugas 1 Mata Kuliah Keamanan Informasi Lanjut, selanjutnya Tugas 2 mata kuliah Keamanan Informasi Lanjut kali ini adalah mencari situs web Indonesia yang rentan terhadap dua serangan yaitu:
1. Input dengan karakter panjang;
2. Memasukan karakter yang biasanya digunakan SQL (SQL Injection).
Pertama-tama yang harus dilakukan adalah mencari target. Biasanya yang menjadi target adalah situs yang memiliki kotak dialog login user yang merupakan akses ke database. Mari kita gunakan mesin pencari, dalam hal ini saya menggunakan google.
Beberapa keyword untukoptimasi pencarian:
"\admin.asp"
"\login.asp"
"\logon.asp"
"\adminlogin.asp"
"\adminlogon.asp"
"\admin_login.asp"
"\admin_logon.asp"
untuk contoh diatas buat server yang menggunakan Active Server Pages (ASP), anda dapat menggantinya dengan PHP Hypertext Processor (PHP).
Sedikit tips untuk anda, biasanya situs yang rentan adalah milik pemerintah dan pilih yang menggunakan server ASP jika ada yang menggunakan PHP biasanya mereka menggunakan CMS (Contents Management System) yang lebih secure.
Untuk membatasi pencarian hanya situs yang memiliki domain Indonesia anda dapat menggunakan keyword tambahan pada pencarian anda dengan site:go.id atau site:web.idatau site:net.id dan lainnya.
Berikut screenshot dari pencariannya.



Gambar 1. Screenshot pencarian target
Setelah mendapatkan target maka kita coba serangan yang pertama yaitu menggunakan jumlah karakter yang banyak/panjang.


Gambar 2. Injeksi menggunakan karakter panjang

Gambar 3. Hasil serangan dengan mengunakan karakter panjang.

Ternyata tidak membawa hasil karena input dialog pada web site ini membatasi jumlah karakter input sejumlah 10 karakter. Sekarang kita coba dengan menginjeksikan karakter yang biasanya dipakai oleh SQL (SQL Injection) karakter yang biasa digunakan di SQL ', %, --

Gambar 4. Injeksi dengan salah satu karakter SQL


Gambar 5. Hasil input character SQL

Dari screenshot diatas dapat kita ketahui bahwa web site www.ekonomi.lipi.go.id menggunakan server ASP (Active Server Pages) dengan database Microsoft Access. Dari pesan error diatas juga dapat diketahui bahwa dalam database Microsoft Access yang digunakan terdapat table bernama user dengan field userid dan nop. Diasumsikan bahwa field nop yang digunakan sebagai password adalah nomor pegawai.
Serangan ini hanya untuk mengecek kelemahan aplikasi web site, tapi bisa dimungkinkan dengan kelemahan ini serangan sql injection dapat ditingkatkan untuk mengintrusi database aplikasi web.


.


3 Mencari Informasi DNS


Tugas Mencari Informasi DNS
1. Mencari pemilik domain situs www.detik.com dan www.itb.ac.id
Untuk mencari pemilik sebuah domain atau atas nama siapa suatu domain terdaftar dapat dilakukan dengan sebuah tools yang bernama whois. Aplikasi whois ini ada bermacam-macam bentuk seperti command line, GUI ataupun ditanamkan pada aplikasi lain. Saya lebih suka menggunakan aplikasi yang commad line karena cepat dan ringan sangat cocok dengan netbook saya yang spesifikasinya pas-pasan.
Setelah download dari internet aplikasi ini tidak perlu peringatan alias langsung dipakai.
Syntax : [drive]:\whois [domainname] [whois.server]
Jika tidak memasukkan whois server maka aplikasi buatan Mark Russinovich ini menggunakan whois server default.
Pertama saya akan melakukan whois terhadap domain www.detik.com



Dari hasil whois untuk domain detik.com nama pemiliknya tidak ketahui secara langsung tapi untuk administrative contactnya dapat diketahui bahwa yang bertanggungjawab adalah wiwi dengan alamat email : wiwi@detik.com. Mungkin pemiliknya adalah sama dengan pemilik Siberkom.




Untuk name server ns.detik.net.id sebagai Administrative contact dan Registrantnya adalah Rahman Alfianto dengan perusahaan yang sama (PT Agranet Multicitra Siberkom.



Begitupun untuk name server ns1.detik.net.id terdaftar dan kontak administrasinya kepada Rahmat Alfianto. Mungkin bisa disimpulkan bahwa pemilik domain tersebut adalah Rahmat Alfianto.
Whois untuk domain www.itb.ac.id




Untuk jenis perguruan tinggi tidak ada nama pemilik domain, karena didaftarkan atas nama badan atau yayasan perguruan tinggi. Dari hasil whois kita bisa melihat nama administrative contactnya yaitu Basuki Suhardiman yang mungkin saja merangkap sebagai si pemilik domain.
2. Membuat Daftar Name Server
Sebenarnya dengan aplikasi whois kita juga bisa mendapatkan name server dari kedua situs diatas dengan format bercampur dengan keterangan whois. Untuk lebih spesifik lagi dalam mencari name server kita bisa menggunakan aplikas nslookup. Caranya sebagai berikut:
[drive]:\nslookup [enter]
> set type=ns
> detik.com


Berikut daftar yang diperoleh:
ns.detik.net.id
ns1.detik.net.id
Untuk situs itb.ac.id



Berikut daftarnya:
ns1.itb.ac.id
ns3.itb.ac.id
sns-pb.isc.org
ns1.ai3.net
ns2.itb.ac.id
3. Pengujian zone transfer
Pengujian zone transfer masih dilakukan dengan nslookup. Untuk www.detik.com tidak dapat melakukan zone transfer, karena dns aktif merefuse permintaan zone transfer dari server yang kita gunakan.

Untuk www.itb.ac.id masih dapat melakukan zone transfer walaupun terbatas di jaringan internal itb.



4. Daftar subdomain level 4 pada www,itb.ac.id
Untuk mendapatkan daftar seluruh subdomain dibawah itb.ac.id kita bisa menyimpan output dari zone transfer ke file txt ataupun csv. File csv lebih mudah ditransfer ke excel untuk melakukan sorting dan eliminasi nama subdomain ganda ataupun subdomain level 5 keatas.
Dari 1319 rekord atau sekitar 119 canonical name setelah divalidasi (menggunakan excel) hanya tinggal 63 subdomain level 4.
Berikut daftarnya:

1ai3.itb.ac.id
2antivirus.itb.ac.id
3berkala.itb.ac.id
4blogs.itb.ac.id
5cache3.itb.ac.id
6cache-ien.itb.ac.id
7cdsed.itb.ac.id
8compscience.itb.ac.id
9crep.itb.ac.id
10e-club.itb.ac.id
11ejournal.itb.ac.id
12el92.itb.ac.id
13ganesha.itb.ac.id
14ganeshatv.itb.ac.id
15gcca.itb.ac.id
16geothermal.itb.ac.id
17ghs.google.com
18grid.itb.ac.id
19hayati.itb.ac.id
20hosting.itb.ac.id
21ic-design.itb.ac.id
22im.itb.ac.id
23indonesia-itb-ether.itb.ac.id
24iom.itb.ac.id
25isnet.itb.ac.id
26it.itb.ac.id
27jaktri.itb.ac.id
28km.itb.ac.id
29kppwk.itb.ac.id
30logger.itb.ac.id
31logistik.itb.ac.id
32m.itb.ac.id
33mba.itb.ac.id
34monitoring.itb.ac.id
35monitoringv2.itb.ac.id
36ninja-hattori.itb.ac.id
37oceanography.itb.ac.id
38old-students.itb.ac.id
39order.itb.ac.id
40packetscanner.itb.ac.id
41pmb.itb.ac.id
42poss.itb.ac.id
43pps.itb.ac.id
44prohil.itb.ac.id
45psdi.itb.ac.id
46puslog.itb.ac.id
47sappk.itb.ac.id
48sdm.itb.ac.id
49spe.itb.ac.id
50sps.itb.ac.id
51students.itb.ac.id
52sysapp.itb.ac.id
53thinclient.itb.ac.id
54unit.itb.ac.id
55usm.itb.ac.id
56vpn.itb.ac.id
57waveLAN-ITB-RadNet.itb.ac.id
58waveLAN-RadNet-ITB.itb.ac.id
59web.itb.ac.id
60www.fttm.itb.ac.id
61www.itb.ac.id
62www.lppm.itb.ac.id
63www.ylti.or.id

Demikian, lebih kurangnya mohon ma'af.


0 Mendeteksi Port Scanning


Tugas Keamanan Informasi lanjut kali ini adalah bagaimana caranya kita mendeteksi dan mengetahui bahwa port komputer kita sedang diserang atau discanning oleh mesin lain.

Port scanning merupakan salah satu langkah awal dari penetrasi. Dengan mengetahui port-port yang terbuka pada suatu mesin maka kita dapat mengetahui service apa yang dijalankan pada suatu mesin.

Sebelum memposisikan diri kita sebagai yang diserang, kita mencoba dulu posisi sebagai penyerang (yang melakukan port scanning). Dari yang berbentuk
command line sampai yang GUI. Tetapi tugas disini kita disuruh menggunakan Nmap. Nmap atau kependekkan dari Network Mapper adalah sebuah tools yang simple dan ampuh dalam pemetaan jaringan.

Karena ini adalah simulasi maka ip target sudah dikompromikan dengan teman. Kali ini saya sebagai si penyerang yang melakukan port scanning sedangkan teman saya menjadi target.

Saya menggunakan Nmap dengan parameter -sS untuk mengirimkan paket SYN, mengenai parameter yang lain dapat diketahui dengan membaca bantuan dari Nmap, dengan mengetikan : Nmap -help


Hasilnya bisa dilihat dari screenshot, port TCP yang terbuka sejumlah 12 port yang 4 merupakan port yang well-known dipakai oleh service window sedangkan 8 merupakan Registered Port (digunakan oleh program yang dijalankan oleh pengguna pada system).



135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
554/tcp open rtsp
2869/tcp open unknown
10243/tcp open unknown
49152/tcp open unknown
49153/tcp open unknown
49154/tcp open unknown
49155/tcp open unknown
49159/tcp open unknown
49160/tcp open unknown


Port pada komputer terbagi dalam 3 kategori yaitu :
1. Well-Known port : 0 - 1023
2. Registered port : 1024 - 49151
3. Dynamic, private or ephemeral ports: 49152–65535

Keterangan port hasil scanning:
135/msrpc merupakan port untuk menggunakan Remote Procedure Call (RPC) protocol dan menyediakan DCOM (Distributed Component Object Model, atau biasa disebut RPC/DCOM.

139/netbios-ssn merupakan port untuk NetBios Session Service terutama digunakan untuk menyediakan file sharing dan printer sharing.

445/microsoft-ds adalah SMB over IP (File Sharing) atau untuk Active Directory.

554/rtsp adalah port yang digunakan oleh real time streaming protocol. Setelah melakukan port scanning, sekarang ganti saya yang menangkap capture dari port scanning teman dengan menggunakan wireshark. Berikut hasil capturenya:


Ternyata hasil capturenya masih bercampur antara ip teman saya dan ip yang lain. Untuk membatasi hanya ip address yang berasal dari teman saja maka dilakukan filtering, dengan menambahkan syntaks alamat ip pada kotak dialog whireshark yang diinginkan [ip.addr==xxx.xxx.xxx.xxx].



Dari image capture yang ditangkap bisa dilihat bahwa ip teman [167.205.67.87] melakukan pengiriman paket SYN ke port netbios-ssn komputer korban. Akan tetapi berulang kali koneksi mengalami reset [RST] setelah menerima pesan balasan. Karena merasa curiga saya melakukan port scanning komputer saya sendiri. Hasilnya adalah :

PORT STATE SERVICE
1/tcp unknown tcpmux
3/tcp unknown compressnet
4/tcp unknown unknown
6/tcp unknown unknown
7/tcp unknown echo
9/tcp unknown discard
13/tcp unknown daytime
17/tcp unknown qotd
19/tcp unknown chargen
20/tcp unknown ftp-data
21/tcp unknown ftp
22/tcp unknown ssh
23/tcp unknown telnet
24/tcp unknown priv-mail
25/tcp unknown smtp
26/tcp unknown rsftp
30/tcp unknown unknown
32/tcp unknown unknown
33/tcp unknown dsp
37/tcp unknown time
42/tcp unknown nameserver
43/tcp unknown whois
49/tcp unknown tacacs
53/tcp unknown domain
70/tcp unknown gopher
79/tcp unknown finger
80/tcp unknown http
81/tcp unknown hosts2-ns
82/tcp unknown xfer
83/tcp unknown mit-ml-dev
84/tcp unknown ctf
85/tcp unknown mit-ml-dev
88/tcp unknown kerberos-sec
89/tcp unknown su-mit-tg
90/tcp unknown dnsix
99/tcp unknown metagram
100/tcp unknown newacct
106/tcp unknown pop3pw
109/tcp unknown pop2
110/tcp unknown pop3
111/tcp unknown rpcbind
113/tcp unknown auth
119/tcp unknown nntp
125/tcp unknown locus-map
135/tcp unknown msrpc
139/tcp unknown netbios-ssn
143/tcp unknown imap
144/tcp unknown news
146/tcp unknown iso-tp0
161/tcp unknown snmp
163/tcp unknown cmip-man
179/tcp unknown bgp
199/tcp unknown smux
211/tcp unknown 914c-g
212/tcp unknown anet
222/tcp unknown rsh-spx
254/tcp unknown unknown
255/tcp unknown unknown
256/tcp unknown fw1-secureremote
259/tcp unknown esro-gen
264/tcp unknown bgmp
280/tcp unknown http-mgmt
301/tcp unknown unknown
306/tcp unknown unknown
311/tcp unknown asip-webadmin
340/tcp unknown unknown
366/tcp unknown odmr
389/tcp unknown ldap
406/tcp unknown imsp
407/tcp unknown timbuktu
416/tcp unknown silverplatter
417/tcp unknown onmux
425/tcp unknown icad-el
427/tcp unknown svrloc
443/tcp unknown https
444/tcp unknown snpp
445/tcp unknown microsoft-ds
----dilanjutkan---------------
62078/tcp unknown iphone-sync
63331/tcp unknown unknown
64623/tcp unknown unknown
64680/tcp unknown unknown
65000/tcp unknown unknown
65129/tcp unknown unknown
65389/tcp unknown unknown

Dari hasil scanning localhost diketahui bahwa port pada komputer target semuanya memiliki STATE UNKNOWN tidak seperti waktu sebelumnya ada beberapa port yang memiliki STATE OPEN.

Sejatinya Nmap melakukan scanning port secara random kecuali port yang well-known (0-1023) akan discan secara sequens (berurutan), dengan melakukan paket capture dengan wireshark bisa dianalisa bahwa bila ada capture yang terlihat pada port 0-1023 secara berurutan, ada kemungkinan bahwa seseorang sedang melakukan port scanning pada komputer kita.

Sedikit tambahan, bahwa Nmap dapat melakukan port scanning tidak berurutan untuk port well-known sesuai dengan kemauan kita. Bisa dengan cara melakukan kustomisasi perintah ataupun membuat batch file untuk melakukan perintah scanning.
Misalnya : Nmap -p U:137,53,111,T:80,21-25,8080,139 [IP Target]
Keterangan :
-p untuk melakukan scanning port dengan ip-range
U: scan port UDP
T: scan port TCP

Demikian, lebih kurangnya terima kasih.

0 Program Enkripsi XOR


Tugas Mata Kuliah Keamanan Informasi Lanjut kali adalah membuat program enkripsi sederhana dengan menggunakan algoritma XOR (Exclusive OR). Pada dasarnya algoritma XOR ini menggunakan sebuah kunci untuk meng-XOR-kan teks yang nanti hasil enkripsinya disimpan dalam bentuk biner.


Setelah membaca-membaca referensi dari RAD yang saya sedikit kuasai, pada Visual Foxpro terdapat fungsi yang dapat meng-XOR-kan bit data dari dua variable numeric. Nama Fungsi tersebut adalah BITXOR().
Syntaksnya : BITXOR(var1,var2)
Contohnya adalah:
Var1=5(binary: 00000101)
Var2=6(binary: 00000110)
Hasil=BITXOR(Var1,Var2)
?Hasil
maka hasilnya adalah : 3 (binary:00000011)
Jika dibuatkan table maka proses XOR (8 bit) seperti berikut:



Decimal
Binary
5
0
0
0
0
0
1
0
1
6
0
0
0
0
0
1
1
0
XOR=3
0
0
0
0
0
0
1
1




Untuk data yang bersifat numeric implementasi XOR sangat sederhana, akan tetapi bagaimana jika data yang akan di XOR adalah text atau karakter kita harus mengubah dulu ke ASCII. Setelah bentuknya menjadi ASCII maka dapat dijalankan proses eXclusive OR nya.
Setelah cari-cari referensi di internet akhirnya dapat listing program yang perlu dimodikasi sedikit dan diterapkan ke dalam OOP (Object Oriented Programming).
Berikut listing program hasil modifikasi, dengan membuang listing yang tidak perlu. Listing ini saya taruh di procedure tombol encypt.


--------------------------mulai disini----------------------------------------
lcPesan= ALLTRIM(“Mari Demo ke Rektorat”&& variable pesan
lcKosong=""&& untuk menampung hasil
lcKunci = ALLTRIM(upper(bdg))
lslen = Len(lcPesan) && menghitung panjang character pesan
lklen = Len(lcKunci) && menghitung panjang character kunci
j = 1 && sebagai awal pengambilan character kunci
For i = 1 To lslen && loop dari 1 sampai dengan panjang karakter pesan
If j > lklen THEN && Jika j lebih panjang dari char kunci maka kembali ke 1
j = 1
endif
lpbyte = Asc(Substr(lcKunci, j, 1)) && ambil huruf jadikan ascii
lsbyte = Asc(Substr(lcPesan, i, 1)) && ambil huruf jadikan ascii
labyte = BitXor(lsbyte, lpbyte)&&Hasil BitXor
lcKosong=lcKosong + CHR(ABS(labyte)) && Tempat penampungan Hasil XOR
j = j + 1
Endfor
?ALLTRIM(lcKosong)
---------------------------------------selesai---------------------------------------------------
Dari hasil modifikasi listing tersebut diterakan ke dalam procedure tombol encrypt pada desain form. Proses pembuatan dan pengaturan objek tidak saya ceritakan secara mendetil karena akan memakan waktu, berikut saya tampilkan screenshot desain formnya.


Berikut hasil penerapan listing algoritma enkripsi XOR pada pemrogramman berorientasi objek visual foxpro. Program ini mengenkripsi plain text “Mari kita mulai berdemo” dengan kata kunci “bdg”. Sebagai tambahan untuk kata kunci saya batasi hanya sampai 4 karakter panjangnya.


Kelemahan dari algoritma XOR adalah pada saat dienkripsi untuk kedua kalinya, maka pesan awal akan tertayang kembali. Berikut screenshot untuk enkripsi yang kedua kali.





 

Blog CIO Indonesia Copyright © 2011 - |- Template created by O Pregador - |- Powered by Blogger Templates