Tugas Softskill 2

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.


Diberdayakan oleh Blogger.