AUDIT
TEKNOLOGI SISTEM INFORMASI
DISUSUN OLEH :
1. DANIEL (1D114129)
2. ARIE ARDINI ROSADA (11114554)
3. MEYDI ANNISA (16114610)
4. M. RIDWAN I.D. (17114497)
5. NITHA TIARA PUTRI (17114992)
KELAS 4KA34
JURUSAN SISTEM
INFORMASI
FAKULTAS ILMU
KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS GUNADARMA
PTA
2017/2018
AUDIT
TEKNOLOGI SISTEM INFORMASI
1. Objek yang akan di audit : Bukalapak.com
Bukalapak merupakan salah satu pasar daring (online marketplace) terkemuka di Indonesia (biasa dikenal
juga dengan jaringan toko daring ) yang dimiliki dan
dijalankan oleh PT. Bukalapak.
Seperti halnya situs layanan jual - beli daring (online) dengan model bisnis customer-to-customer (C2C), Bukalapak
menyediakan sarana penjualan dari konsumen-ke-konsumen di mana pun. Siapa pun
bisa membuka toko daring untuk kemudian melayani calon pembeli dari seluruh
Indonesia baik satuan ataupun dalam jumlah banyak. Pengguna perorangan ataupun
perusahaan dapat membeli dan menjual produk, baik baru maupun bekas, seperti
sepeda, ponsel, perlengkapan bayi, gawai (gadget),
aksesori gawai, komputer, sabak (tablet),
perlengkapan rumah tangga, busana, elektronik, dan lain-lain.
Bukalapak awal mulanya terkenal dari para penghobi sepeda. Hadir secara
bersamaan dengan trend sepeda lipat dan fixed gear yang berlangsung dari kota
besar seperti Jakarta, Bogor, Bandung yang kemudian menyebar ke berbagai kota
lainnya di Indonesia. Kedekatan dengan komunitas sepeda tidak bisa dimungkiri
karena Bukalapak besar karena adanya komunitas sepeda yang waktu itu tahun 2011
sedang meledak.
Menurut pernyataan Zaky yang dirilis startupbisnis kedekatan
dengan dunia sepeda ini terjadi tanpa disengaja. Bukalapak juga dianggap oleh
komunitas sepeda khususnya para pedagang sepeda yang menghancurkan harga pasar.
Banyak toko sepeda yang memprotes keberadaan Bukalapak karena menawarkan harga
terlalu miring, inilah salah satu yang memicu pertumbuhan pengguna di
bukalapak.com.
Dalam satu hari, Bukalapak dikunjungi lebih dari 2 juta kunjungan.
Hingga saat ini, Bukalapak memiliki 7 juta yang dijual oleh para pengguna (per
Desember 2015) dan berada pada posisi 11situs besar di Indonesia berdasarkan
Alexa.
2. Perencanaan Audit
Pastikan Aplikasi Web Terlindungi dari Serangan
Injeksi
Serangan injeksi memungkinkan klien web melewatkan data melalui server web dan
keluar sistem lain. Sebagai contoh, dalam serangan injeksi SQL, kode SQL
dilewatkan melalui antarmuka web, dan database diminta untuk melakukan fungsi
di luar batas otorisasi. Beberapa situs telah membekap kartu kredit dan kartu
Jaminan Sosial informasi kepada hacker yang telah memanfaatkan serangan
injeksi. Gagal menyadari kekuatan serangan injeksi dan untuk meninjau ulang
sistem Anda kemungkinan dieksploitasi sehingga dapat mengakibatkan hilangnya
informasi kritis dan sensitif.
Tinjaulah situs web untuk kerentanan
cross-site-scripting.
Cross-site scripting (XSS)
memungkinkan aplikasi web untuk mengangkut serangan dari satu pengguna ke
browser pengguna akhir lainnya. Serangan yang berhasil bisa mengungkapkan ujung
kedua token sesi pengguna, menyerang mesin lokal, atau konten spoof untuk
menipu pengguna. Serangan meliputi pengungkapan file pengguna akhir, menginstal
program kuda Trojan, mengalihkan pengguna ke beberapa halaman atau situs lain,
dan memodifikasi presentasi konten.
Tinjau Ulang Aplikasi untuk Otentikasi dan
Sesi yang Rusak karena Kerentanan Manajemen
Kredensial akun dan token sesi harus dilindungi. Penyerang yang bisa
berkompromi kata sandi, kunci, cookie sesi, atau token lainnya dapat
mengalahkan batasan otentikasi dan menganggap identitas pengguna lain dan
tingkat akses yang diotorisasi.
Verifikasi Referensi dan Otorisasi Objek yang
Tepat Kontrol
Aplikasi web dapat menggunakan nama sebenarnya atau kunci database
sebagai referensi ke objek dalam aplikasi web atau database yang mengandung
informasi sensitif atau akses. Praktiknya adalah menggunakan referensi tidak
langsung ke objek. Setelah pengguna diautentikasi ke web server, server web
menentukan jenis akses yang harus dimiliki pengguna dan untuk apa bagian dari
situs web pengguna harus memiliki akses. Gagal menerapkan kontrol akses
(otorisasi) untuk setiap referensi objek langsung memungkinkan penyerang untuk
keluar dari batas yang berwenang, mengakses data pengguna lain atau
administrasi yang tidak berwenang. Secara khusus, penyerang tidak boleh
mengubah parameter yang digunakan selama ini sesi pengguna resmi untuk
mengakses data pengguna lain. Klien proxy dan alat lainnya memungkinkan
penyerang untuk melihat dan mengubah data selama sesi berlangsung.
Verifikasi bahwa kontrol tersedia untuk
mencegah Permintaan Lintas Situs Forgery (CSRF atau XSRF).
Permintaan penggelapan, permintaan penganiayaan, mengeksploitasi
kepercayaan yang dimiliki situs web untuk diautentikasi oleh pengguna.
Penyerang mengeksploitasi kepercayaan ini dengan mengirimkan gambar yang
tertanam, skrip, elemen iframe, atau metode lain untuk memanggil perintah yang
dijalankan di server web saat Anda login dengan kredensial anda. Membuat keadaan
menjadi lebih buruk bagi pengguna, jenis serangan ini berasal dari alamat IP
pengguna, dan semua data log akan muncul seolah-olah pengguna memasukkannya.
Server web harus memvalidasi sumber permintaan web untuk memperkecil risikonya.
Penyerang mencoba membuat permintaan web jahat yang otentik yang berasal dari
sumber di luar kendali aplikasi web. Berikut adalah contoh bagaimana tipe ini
serangan mungkin terlihat sebagai permintaan gambar:
<img src =
"http://mybank.com/transfer?acct=mine&amt=100&to=attacker">
Tinjau Kembali Kontrol Seputar Konfigurasi
yang Aman
Ini menangkap semua yang membahas manajemen konfigurasi, konsep
menyeluruh tentang menjaga konfigurasi aman dari server web. Subjek konfigurasi
server web mengalami penyimpangan dalam teknologi atau proses yang mempengaruhi
keamanan platform web dan aplikasi web.
Pastikan Mekanisme Penyimpanan Kriptografi
Aman Digunakan dengan Benar
Aplikasi web sering ingin mengaburkan atau mengenkripsi data untuk
melindungi data sensitif dan kredensial. Tantangannya adalah bahwa ada dua
bagian untuk skema enkripsi yaitu hitam kotak yang melakukan sihir dan
penerapan kotak hitam ke web anda aplikasi. Komponen ini sulit untuk kode
dengan benar, sering mengakibatkan kelemahan pada perlindungan
Verifikasi bahwa Kontrol yang Tepat tersedia
untuk Membatasi Pemfilteran URL
Kontrol ini menerapkan akses berbasis peran ke area yang dilindungi dan
sensitif di web aplikasi Anda. Pembatasan yang hilang atau tidak dikonfigurasi
dengan benar ke URL memungkinkan penyerang untuk mengubah URL untuk mengakses
halaman pribadi atau hak istimewa. Penyaringan yang tepat memastikan bahwa
hanya pengguna terotentikasi yang memiliki akses ke setiap halaman yang
dibatasi penggunaannya. Seorang penyerang, yang mungkin pengguna sistem yang
berwenang, seharusnya tidak dapat mengubah URL untuk melihat informasi di luar
perannya.
Evaluasi Mekanisme Perlindungan Lapisan
Transport (jaringan enkripsi lalu lintas) untuk Melindungi Informasi Sensitif.
Percakapan pribadi bersifat pribadi hanya jika tidak ada orang lain yang
bisa mendengarkannya. Sampai dienkripsi jaringan menjadi standar, protokol teks
jernih harus dihilangkan jika memungkinkan. Meskipun peralatan yang lebih baru
dan administrator jaringan yang cerdas dapat membantu mengurangi risiko
penyadapan lalu lintas jaringan, risiko nyata untuk menangkap lalu lintas itu
masih ada, terutama pada domain VLAN atau broadcast yang sama. Protokol
tertentu seperti HTTP, FTP, dan Telnet mentransmisikan semua informasi dalam
teks mentah, termasuk ID pengguna dan kata sandi yang diminta. Ini bisa
memungkinkan seseorang untuk melakukannya dapatkan informasi ini dengan
menguping jaringan. Komunikasi teks jelas. Secara umum harus diminimalisir jika
memungkinkan dan hanya protokol yang aman saja diizinkan untuk halaman pribadi.
Tinjau Pengalihan Aplikasi Web dan
Memverifikasi itu hanya URL yang valid yang dapat Diakses
Dengan menggunakan redirect yang tidak terkontrol, penyerang mungkin
bisa mengarahkan pengguna ke penyerang situs web menggunakan URL yang terlihat
seolah-olah berasal dari domain Anda. Ini lebih diutamakan metode untuk
penipuan phishing agar permintaan muncul sah dengan menggunakan organisasi yang
diserang alamat di bagian pertama URL yang dibuat. Ini terkadang digunakan
bersama dengan layanan pemendek URL untuk situs target untuk mengaburkan yang
jahat. Maksud dari URL
http://www.mydomain.com/redirect.asp?url=badsite.com
Dalam beberapa kasus, forward yang tidak terkendali dapat mengirim pengguna ke
halaman istimewa itu jika tidak bisa diakses jika kontrol otorisasi tambahan
diterapkan salah.
http://www.mydomain.com/somepage.asp?fwd=adminsite.jsp
Pastikan Semua Masukan sudah Divalidasi
sebelum Digunakan oleh Server Web
Informasi harus divalidasi sebelum digunakan oleh aplikasi web. Gagal
memvalidasi permintaan web mengarahkan server web untuk meningkatkan risiko
dari penyerang yang berusaha melakukannya memanipulasi data masukan untuk
menghasilkan hasil yang berbahaya.
Evaluasi Penggunaan Penanganan Kesalahan yang
Tepat
Kondisi kesalahan yang tidak terkontrol dengan benar memungkinkan
penyerang mendapatkan informasi sistem terperinci, menolak layanan, menyebabkan
mekanisme keamanan gagal, atau merusak server.
3. Susunan Instrument Audit
Metasploit merupakan perangkat lunak yang dapat membantu
keamanan dan sifat profesionalisme
teknologi informasi
seperti melakukan identifikasi masalah keamanan, verifikasi kerentanan, dapat
melakukan scanning aplikasi website, dan rekayasa sosial.
Terminologi
a.
Exploit
Mengeksploitasi
merupakan salah satu metode yang digunakan seorang penyerang maupun pentester.
Dalam metode ini,kita mengambil keuntungan dari kecatatan sistem, aplikasi,
atau layanan. Penyerang mengeksploitasi untuk menyerang sistem dengan cara yang
bisa memberikan hasil yang diinginkan. Eksploitasu yang umum mencangkup butter
overflows, kerentanan aplikasi web (seperti SQL injection), dan kesalahan
konfigurasi.
b.
Payload
Payload
merupakan sebuah kode, dimana penyerang sangat ingin sistem target
mengeksekusinya. Misalnya, reverse shell merupakan payload yang menciptakan
koneksi dari sistem target ke penyerang sebagai command prompt (CMD) windows.
Sedangkan bind shell merupakan payload yang mengikat command prompt ke
listening port pada sistem target. Yang kemudian penyerang dapat terhubung
dengan sistem target. Sebuah payload juga bisa menjadi sesuatu yang sederhana.
Seperti beberapa perintah yang akan dijalankan pada sistem opersi target.
c.
Shellcode
Shellcode
merupakan satu set intruksi yang digunakan payload ketika eksploitasi terjadi.
Shellcode biasanya ditulis dalam bahasa assembly. Dalam beberapa kasus,
perintah shell atau meterpreter shell akan diberikan setelah serangkaian
instruksi sudah dilakukan oleh mesin target.
d.
Module
Module
merupakan bagian dari software yang dapat digunakan oleh Metasploit Framework.
Pada beberapa waktu, kamu mungkin memerlukan penggunaan exploid module. Dan
mungkin module tambahan diperlukan juga untuk melakukan beberapa tindakan.
Seperti pemindaian atau sistem enumerate. Modul-modul ini juga merupakan inti
dari apa yang bisa membuat Framework menjadi powerful.
e.
Listener
Listener
merupakan komponen dalam Metasploit yang tugasnya menunggu sebuah koneksi masuk
atau sejenisnya. Misal, setelah mesin target dieksploitasi, koneksi antara
penyerang dan target melalui internet. Listener berperan untuk menangani
koneksi tersebut.
Metasploit Interfaces
Metasploid menawarkan
lebih dari satu antarmuka atas fungsi yang mendasarinya. Termasuk konsol, beris
perintah, dan interface grafis. Selain interface ini, utilitas menyediakan
akses langsung ke fungsi yang normal internal untuk Metasploid Framework.
Utilitas ini dapat sangat membantu untuk perkembangan eksploitasi.
a. MSFconsole
MSFconsole merupakan
bagian paling populer dari Metasploid Framework. Fleksibel, kaya fitur, dan
supported tools dalam Framework. MSFconsole menyediakan interface praktis all-in-one
untuk setiap opsi dan pengaturan yang ada dalam Framework. Kamu dapat menggunakan
MSFconsole untuk melakukan sgala perintah. Termasuk meluncurkan eksploitasi,
memuat modul tambahan, melakukan enumerate, menciptakan listener, atau
menjalankan eksploitasi terhadap seluruh jaringan.
Meskipun Metasploid
Framework terus diperbarui, bagian dari perintah tetap relatif konstan. Dengan
menguasai dasar-dasar MSFconsole, akan dapat mengikuti perubahan apapun.
Mengeksploitasi
merupakan salah satu metode yang digunakan seorang penyerang maupun pentester.
Dalam metode ini,kita mengambil keuntungan dari kecatatan sistem, aplikasi,
atau layanan. Penyerang mengeksploitasi untuk menyerang sistem dengan cara yang
bisa memberikan hasil yang diinginkan. Eksploitasu yang umum mencangkup butter
overflows, kerentanan aplikasi web (seperti SQL injection), dan kesalahan
konfigurasi.
Starting
MSFconsole, untuk memulai MSFconsole, cukup masukkan perintah msfconsole pada
command line :
Untuk menakses file banuan MSFconsole,
cukup memasukkan help diikuti perintah yang akan digunakan. Pada contoh berikut
ini akan mencari bantuan untuk perintah connect, yang memungkinkan kita
berkomunikasi dengan host.
b. Armitage
Sebuah komponen yang berhubungan dengan Metasploit, armitage
menyajikan interface grafis interaktif sepenuhnya yang dibuat oleh Raphael
Mudge. Interface yang mengesankan, kaya fitur, dan tersedia secara gratis.
Untuk memulai Armitage, cukup jalankan perintah Armitage, pilih Start MSF, yang
akan memungkinkan Armitage untuk terhubung ke instance Metasploid.
Metasploit Utilitie
Utilitas
metasploit merupakan antarmuka langsung ke fitur tertentu dari framework yang
dapat berguna dalam situasi tertentu, terutama dalam eksploitasu development.
a. MSFvenom
MSFvenom
merupakan perintah yang menggantikan kombinasi msfpayload dan msfencode untuk
merampingkan proses pengkodean ulang sebuah payload Metasploit.
·
Metasploid Payload,
memungkinkan untuk membuat shellcode, executable, dan masih banyak lagi yang
dapat digunakan untuk eksploitasi diluar Framework. Shellcode apat dihasilkan
dalam berbagai format. Termasuk C, Ruby, JavaScript, dan bahkan Visual Basic
for Applications.
· Metasploit Ecode,
shellcode yang dihasilkan dari metasploit payload sepenuhnya sudah berfungsi,
tetapi masih mengandung beberapa karakter null. Dimana ketika dijalankan
pogram, akan menandakan akhir dari string. Hal ini menyebabkan proses berakhir
sebelum selesai. Disini shellcode akan melintasi jaringan dalam clartext, lalu
akan diambil oleh intrusion detection system (IDS) dan software antivirus.
Untuk mengatasi masalah ini Metasploit menarkan komponen encode. Yang akan
membantu untuk menghindari bad character, menghindari anti-virus dan
menghindari IDS dengan pengkodean payload. Metasploit menawarkan sejumlah
encoders berbeda untuk situasi tertentu. Beberapa diantaranya akan berguna ketika
harus menggunakan karakter alfanumerik sebagai muatannya. Seperti halnya dengan
mengeksploitasu menggunakan format file atau aplikasi lain. Dimana hanya
menerima karakter printable sebagai masukan. Untuk melihat opsi
msfvenom, cukup mengetikkan ms
b. Nams Shell
Utilitas
nasm_shell.rb dapat berguna ketika mencba untuk memahami kode assembly.
Terutama jika selama eksploitasi development, perlu mengidentifikasi opcodes
(petunjuk assembly) untuk perintah assembly yang diberikkan. Contohnya,
menjalankan tool dan menerima opcode untuk jmp esp command, lalu nams_shell
memberitahu FFE4.
Tools yang termasuk dalam paket kerangka kerja metasploit
a. msfconsole
- Antarmuka utama Metasploit Framework
root@kali:~# msfconsole -h
Usage: msfconsole [options]
Common options
-E, --environment ENVIRONMENT The Rails
environment. Will use RAIL_ENV environment variable if that is set.
Defaults to production if neither option not RAILS_ENV environment
variable is set.
Database options
-M, --migration-path DIRECTORY Specify a directory
containing additional DB migrations
-n, --no-database
Disable database support
-y, --yaml PATH
Specify a YAML file containing database settings
Framework options
-c FILE
Load the specified configuration file
-v, --version
Show version
Module options
--defer-module-loads
Defer module loading unless explicitly asked.
-m, --module-path DIRECTORY An additional
module path
Console options:
-a, --ask
Ask before exiting Metasploit or accept
'exit -y'
-H, --history-file FILE Save
command history to the specified file
-L, --real-readline
Use the system Readline library instead of RbReadline
-o, --output FILE
Output to the specified file
-p, --plugin PLUGIN
Load a plugin on startup
-q, --quiet
Do not print the banner on startup
-r, --resource FILE
Execute the specified resource file (- for stdin)
-x, --execute-command COMMAND Execute the
specified string as console commands (use ; for multiples)
-h, --help
Show this message
|
msfd – Provides an instance of msfconsole that remote
clients can connect to (Menyediakan sebuah instance dari msfconsole yang dapat
dihubungkan oleh klien jarak jauh)
root@kali:~# msfd -h
Usage: msfd <options>
OPTIONS:
-A <opt> Specify list of hosts allowed to connect
-D <opt> Specify list of hosts not allowed to
connect
-a <opt> Bind to this IP address instead of
loopback
-f Run the daemon in the foreground
-h Help banner
-p <opt> Bind to this port instead of 55554
-q Do not print the banner on
startup
-s Use SSL
|
msfdb – Manages the Metasploit Framework database (Mengatur
database Metasploit Framework)
root@kali:~# msfdb
Manage a metasploit framework database
msfdb init # initialize the database
msfdb reinit # delete and reinitialize the database
msfdb delete # delete database and stop using it
msfdb start # start the database
msfdb stop # stop the database
|
msfrpc – Connects to an RPC instance of Metasploit (msfrpc
- Menyambungkan ke contoh RPC Metasploit)
root@kali:~# msfrpc -h
Usage: msfrpc <options>
OPTIONS:
-P <opt> Specify the password to access msfrpcd
-S Disable SSL on the RPC socket
-U <opt> Specify the username to access msfrpcd
-a <opt> Connect to this IP address
-h Help banner
-p <opt> Connect to the specified port instead of
55553
|
msfrpcd – Provides an RPC interface to Metasploit (Menyediakan
antarmuka RPC untuk Metasploit)
root@kali:~# msfrpcd -h
Usage: msfrpcd <options>
OPTIONS:
-P <opt> Specify the password to access msfrpcd
-S Disable SSL on the RPC socket
-U <opt> Specify the username to access msfrpcd
-a <opt> Bind to this IP address
-f Run the daemon in the foreground
-h Help banner
-n Disable database
-p <opt> Bind to this port instead of 55553
-t <opt> Token Timeout (default 300 seconds
-u <opt> URI for Web server
|
msfvenom – Standalone Metasploit payload generator (Generator
muatan muatan standalone Metasploit)
root@kali:~# msfvenom -h
MsfVenom - a Metasploit standalone payload generator.
Also a replacement for msfpayload and msfencode.
Usage: /usr/bin/msfvenom [options] <var=val>
Options:
-p, --payload <payload>
Payload to use. Specify a '-' or stdin to use custom payloads
--payload-options
List the payload's standard options
-l, --list [type]
List a module type. Options are: payloads, encoders, nops, all
-n, --nopsled <length>
Prepend a nopsled of [length] size on to the payload
-f, --format <format>
Output format (use --help-formats for a list)
--help-formats
List available formats
-e, --encoder <encoder>
The encoder to use
-a, --arch <arch>
The architecture to use
--platform <platform>
The platform of the payload
--help-platforms
List available platforms
-s, --space <length>
The maximum size of the resulting payload
--encoder-space <length> The
maximum size of the encoded payload (defaults to the -s value)
-b, --bad-chars <list>
The list of characters to avoid example: '\x00\xff'
-i, --iterations <count>
The number of times to encode the payload
-c, --add-code <path>
Specify an additional win32 shellcode file to include
-x, --template <path>
Specify a custom executable file to use as a template
-k, --keep
Preserve the template behavior and inject the
payload as a new thread
-o, --out <path>
Save the payload
-v, --var-name <name>
Specify a custom variable name to use for certain output formats
--smallest
Generate the smallest possible payload
-h, --help
Show this message
|
4. Petunjuk Penggunaan
Langkah-langkah
dasar untuk exploit system menggunakan Framework meliputi:
·
Memilih dan mengkonfigurasi exploit (kode yang memasuki
sistem target dengan mengambil keuntungan dari salah satu bug tersebut; sekitar
900 eksploitasi yang berbeda untuk Windows, Unix / Linux dan Mac OS X ).
·
Opsional memeriksa apakah sistem target yang dimaksud
rentan terhadap eksploitasi
·
Memilih dan mengkonfigurasi payload (kode yang akan dieksekusi
pada sistem target jika berhasil masuk, misalnya, remote shell atau server VNC).
·
Memilih teknik pengkodean sehingga sistem intrusi
pencegahan (IPS) mengabaikan payload dikodekan.
·
Mengeksekusi exploit.
·
Pendekatan modular ini memungkinkan kombinasi dari setiap
yang exploit dengan payloads apapun -adalah keuntungan utama dari Framework.
Hal ini memfasilitasi tugas penyerang, exploit writers dan payload writers.
Metasploit berjalan pada Unix (termasuk Linux dan
Mac OS X) dan pada Windows. Metasploit Framework dapat diperpanjang untuk
menggunakan add-ons dalam berbagai bahasa.
Untuk memilih exploit dan payload, beberapa
informasi tentang sistem target diperlukan, seperti versi sistem operasi dan
layanan jaringan yang terpasang. Informasi ini dapat diperoleh dengan port
scanning dan OS fingerprinting tools seperti Nmap. Kerentanan scanner seperti
NeXpose, Nessus, dan OpenVAS dapat mendeteksi kerentanan sistem target.
Metasploit dapat mengimpor kerentanan data scanner dan membandingkan kerentanan
yang diidentifikasi exploit modul untuk exploit yang akurat.