Selasa, 29 November 2016

Pengujian Serangan Jaringan pada Website Pemerintah

PENDAHULUAN
Keamanan jaringan computer pada zaman sekarang adalah sesuatu hal yang sangat penting karena proses-proses menjadi lebih mudah untuk dikerjakan dengan adanya internet dan komputasi. Hampir seluruh pekerjaan saat ini dikerjakan dengan komputasi dan internet seperti pendaftaran, mengobrol, mencari data, menyimpan data pada cloud dan database, dan berbagai hal lain. Karena proses menggunakan internet ini memudahkan pekerjaan, pemerintah Indonesia kerap kali mengimplementasikan aplikasi jaringan computer untuk urusan pemerintahan. Salah satunya adalah dengan pembuatan website pemerintah.
Kami melakukan survei terhadap website-website pemerintah dan setelah kami melakukan pencarian mendalam kami menemukan bahwa website-website pemerintahan sering kali vulnerable terhadap serangan akibat dari sistem passing parameter web sehingga dapat diserang dengan menggunakan local file inclusion. Local file inclusion adalah serangan dimana pihak penyerang dapat mengambil data yang tidak seharusnya dapat diambil akibat kesalahan pada sistem. Kesalahan dapat berupa menggunakan parameter get pada di URL pada saat download file. Contohnya www.aaa.com/download.php?file=namafile untuk mendownload file public bernama namafile.Apabila nama file diubah menjadi nama-nama file penting seperti /../../etc/passwd atau data-data lainnya maka pihak-pihak yang tidak seharusnya dapat mengambil file tersebut dengan mudah. Apalagi ini adalah situs pemerintahan yang mungkin saja dapat berpengaruh pada keuangan ataupun kebocoran kebijakan pemerintah.
Pada tugas ini kami mencoba melakukan penyerangan dengan mencoba melakukan download file password dan user pada server pemerintah kabupaten jembrana dengan menggunakan teknik local file inclusion.



SKENARIO PENGUJIAN

Pada awalnya kami berusaha melakukan eksplorasi dan menemukan sebuah site http://www.jembranakab.go.id/
tampilan awal situs

Situs tersebut adalah situs resmi Pemerintah Daerah Kabupaten Jembrana. Setelah mengeksplorasi situs tersebut, kami menemukan celah untuk melakukan attack dengan local file inclusion. Berikut adalah skenario pengujian usaha penyerangan kami:
Secara umum:
·         Mencari celah dari situs tersebut lewat local file inclusion dengan mendownload sembarang file.
·         Mengedit link download sedemikian hingga dapat membuktikan bahwa situs tersebut tidak melindungi berkas yang seharusnya tidak boleh diakses / diunduh oleh orang awam.
·         Mencoba run link tersebut
·         Melihat hasil run. Bila hasil run membuktikan bahwa berkas dapat diakses, mencari celah lain untuk akses berkas lain (dalam hasil pengujian kami mendapatkan nama – nama administrator dari situs). Bila belum berhasil, mencari celah lain atau situs lain untuk melakukan usaha local file inclusion. Ada kemungkinan mencari celah untuk melakukan attack jenis lain.




HASIL PENGUJIAN
Berdasarkan skenario pengujian umum:
Skenario
Hasil
Mencari celah dari situs tersebut lewat local file inclusion
Menemukan adanya celah untuk download file dengan link mengandung
“files = download.php?...”


Mengedit link sedemikian rupa
Mencoba menghapus semua keterangan setelah “files = download.php?”
Link awal:






Link edit:
Mencoba run link tersebut
Link berhasil di run tanpa munculnya pemberitahuan tertentu

Melihat hasil run.

Link tersebut memungkinkan kami mengunduh berkas “download.php” dari situs tersebut:

 
Mengedit link sedemikian rupa
Link edit:
http://www.jembranakab.go.id/download.php?files=../../../../../../../../../../../../../../../etc/passwd
Mencoba run link tersebut
Link berhasil di run tanpa munculnya pemberitahuan tertentu
Melihat hasil run.
Link tersebut memungkinkan kami mengunduh berkas “passwd” dari situs tersebut:

Dari hasil pengujian pertama, berkas “download.php” dapat diunduh karena source code dari berkas yang digunakan untuk mengunduh file tertentu (tergantung parameter dari file = )
header('Content-Disposition: attachment; filename='.basename($filename));
Source code hanya mengecek basename saja. Sebenarnya ada session, namun session tersebut telah terset saat sebelumnya kami melakukan unduh file.
Untuk passwd, kami  melakukan upaya mundur ke root dengan “/../../../..” dan shadow dengan “/etc/passwd”. Upaya ini ternyata berhasil, kelompok kami dapat menemukan user – user dari situs ini.




SIMPULAN

Website jembranakab.go.id dapat diserang dengan local file inclusion. Hal ini dikarenakan metode download yang digunakan pada web adalah implementasi sederhana download menggunakan php (panggil download.php dan memanfaatkan URL parameter sebagai input file yang akan didownload). Seharusnya file-file di-encrypt misalnya diberi hash key dan untuk mendownload file yang bersangkutan sehingga pihak-pihak yang tidak berwenang kesulitan dan tidak bisa menemukan file-file untuk didownload. Cara tambahan untuk mencegah serangan adalah menghandle kemungkinan masukan aneh dari pengguna seperti shadow /../../../ dengan tidak menerima input dengan karakter-karakter seperti itu. Penggunaan statement database yang prepared juga membantu pencegahan local file inclusion.