Anda di halaman 1dari 28

PROPOSAL TUGAS AKHIR

Penetration testing pada aplikasi website berbasis WordPress

O l e h:
Ahlanda Putra
1901082024

PROGRAM STUDI D3 TEKNIK KOMPUTER


JURUSAN TEKNOLOGI INFORMASI
POLITEKNIK NEGERI PADANG
2021
IDENTITAS MAHASISWA

NAMA : AHLANDA PUTRA


NO BP : 1901082024
ALAMAT : Jalan Lubuk Lintah No.47 Rumah Tiga Ruang,Padang
...............................................................................................
NO TELEPON : 0895341980859
INDEKS PRESTASI
SEMESTER 1 = 3.60
SEMESTER 2 = 3.46
SEMESTER 3 = 3.30
SEMESTER 4 = ...
SEMESTER 5 = ....

USULAN JUDUL : Penetration testing pada aplikasi website berbasis


TUGAS AKHIR WordPress

LOKASI : Jaringan local,


IMPLEMENTASI
TARGET SELESAI : ....... BULAN

I. LATAR BELAKANG
Keamanan sistem informasi diera sekarang ini merupakan hal yang wajib
untuk diperhatikan oleh semua orang. Dengan meningkatnya pertumbuhan
penggunaan internet di dunia, membuat kurangnya kompleksitas sistem yang telah
dibuat. Dengan pertumbuhan penduduk saja jumlah penggunaan internet di
Indonesia sangat signifikan.

WordPress adalah sistem manajemen konten (CMS) yang menaungi lebih


dari 35% website di dunia, dan persentase ini masih akan terus meningkat. CMS
sendiri merupakan aplikasi berbasis website. Baik pemilik website maupun editor
dan pembuat konten bisa mengelola website dan mempublikasikan konten mereka
melalui aplikasi ini tanpa harus menguasai pemrograman terlebih dulu. Wordpress
merupakan aplikasi Open Source yang sangat popular sebagai builder blog
engine. Namun dengan kelebihan tersebut bukan berarti WordPress tidak
memiliki kelemahan. Salah satu kelemahan dari WordPress sendiri ialah
kerentanan terhadap keamanannya. Ada plugin, tema, nama pengguna, dan kata
sandi,itulah yang membuat CMS ini rentan terhadap peretasan. Setiap bulan,
kerentanan yang baru terungkap di WordPress yang membahayakan pengguna
khususnya(wordfence.com, 2016).

Kerentanan pada aplikasi website yang berbasis WordPress ini dapat


dilakukan pemeriksaan keamanan dengan menggunakan Teknik Penetrtaion
Testing. Teknik ini berguna untuk melakukan pemeriksaan keamanan sehingga
kelemahan yang ada dapat dilakukan pencegahan secara langsung(Banu, 2020).

Hal inilah yang menjadi faktor pendukung untuk membuat Proposal TA


dengan judul “Penetration testing pada aplikasi website berbasis WordPress” .
Dengan adanya rekomendasi untuk mengatasi kerentanan tersebut, diharapkan
dapat digunakan sebagai referensi untuk para pengembang aplikasi website yang
bebasis WordPress khususnya.

II. RUMUSAN MASALAH


Adapun pokok permasalahan dalam pembuatan Penetration testing pada
aplikasi website berbasis WordPress ini adalah :

1. Bagaimana metode yang digunakan dalam melakukan pengujian


keamanan terhadap sebuah Website berbasis WordPress?
2. Bagaimana mengatasi kelemahan yang ada pada Website berbasis
WordPress?
3. Bagaimana memberikan rekomendasi keamanan hasil pengujian pada
kelemahan Website berbasis WordPress?

III. TUJUAN
Tujuan dari pembuatan proposal tugas akhir ini adalah sebagai berikut:

1. Melakukan pengujian pada sebuah aplikasi berbasis web dengan


menggunakan teknik penetration testing.
2. Menganalisis kelemahan yang didapatkan dan memberikan solusi dari
kelemahan yang ada.
3. Merekomendasikan keamanan berdasarkan hasil pengujian yang
didapatkan untuk mengatasi kelemahan.

IV. BATASAN MASALAH


Dalam penulisan tugas akhir ini, dapat dibatasi masalah yang akan dibahas
diantaranya yaitu :

1. Pengujian dan analisis kesebuah aplikasi website yang berbasis


Wordpress.
2. Pengujian terhadap jaringan local.
3. Pengujian dengan menggunakan beberapa tools khusus untuk aplikasi
website berbasis Wordpress.
4. Sistem Operasi yang digunakan untuk melakukan pengujian ialah Kali
linux.

V. LANDASAN TEORI

V.1Jaringan Komputer
Pada Zaman sekarang, Internet dan World Wide Web (WWW) sangat populer
di seluruh dunia. Banyak masyarakat yang memerlukan aplikasi yang berdasarkan
pada Internet, seperti E-Mail dan akses Web. Sehingga makin banyak aplikasi
bisnis yang berkembang berjalan di atas internet. Transmission Control
Protocol/Internet Protocol (TCP/IP) ialah aturan yang melandasi sebuah internet
dan jaringan dunia. Seperti pada software, TCP/IP dibuat dalam beberapa lapisan
(layer). Dengan dibentuk dalam lapisan layer, akan mempermudah dalam
pengembangan dan pelaksanaannya. Pada protocol TCP/IP dibagi menjadi 4 layer
yaitu (Arianto, 2020) :

1. Layer Aplikasi

Layer aplikasi digunakan untuk berkomunikasi menggunakan TCP/IP.


Contoh aplikasi seperti File Transfer Protocol (FTP) dan Telnet . Interface yang
digunakan dalam berkomunikasi ialah nomor socket dan port.

2. Layer Transport

Layer transport mempunyai fungsi pengiriman data secara end-to-end ke


bagian sisi remote. Protokol pada layer transport yang sering digunakan ialah
Transmission Control Protocol (TCP), dimana memberikan fungsi pengiriman
data secara connectionoriented, pencegahan duplikasi data, congestion control dan
flow control. Protokol lainnya adalah User Datagram Protocol (UDP), dimana
memberikan fungsi pengiriman connectionless, jalur yang tidak reliabel. UDP
banyak digunakan pada aplikasi yang membutuhkan kecepatan tinggi dan dapat
metoleransi terhadap kerusakan data.

3. Layer Internetwork

Layer Internetwork biasa disebut juga layer internet atau layer network,
dimana memberikan “vitual network” pada internet. Internet Protocol (IP) adalah
protokol yang paling penting. IP memberikan fungsi routing pada jaringan dalam
pengiriman data. Protokol lainnya antara lain : IP, ICMP, IGMP, ARP, RARP.

4. Network Interface dan Hardware

Layer network interface disebut juga layer link atau layer datalink, yang
merupakan perangkat keras pada jaringan. Contoh : IEEE802.2, X.25, ATM,
FDDI, dan SNA.

V.2Keamanan Jaringan Komputer

Keamanan Jaringan adalah perlindungan system informasi dari pencurian


atau pengrusakan Hardware, Software dan informasi penting yang ada di
dalamnya, serta dari gangguan yang mungkin muncul dari dalam computer .Jika
berbicara mengenai keamanan computer, pastilah tidak akan terlepas dari
pembahasan mengenai serangan cyber, atau ada yang mengatakannya sebagai
perang cyber. Karena pada dasarnya membuat sebuah benteng pertahanan yang
kuat untuk menangkal berbagai serangan yang mungkin terjadi terhadap jaringan
ataupun server. Beberapa jenis serangan cyber yang umumnya bisa terjadi,
diantaranya.

1. Virus

Jenis serangan ini cukup popular karena kemampuannya yang bisa


menduplikasi diri dan menyebar dalam jaringan Internet. Program Virus juga
dimanfaatkan untuk propaganda dan hal – hal lainnya. Program virus ini juga
dapat memboroskan memori komputer yang berakibat komputer menjadi tidak
stabil, system crash dan juga kehilangan data.

2. SPAM, SPIM dan SPIT

SPAM adalah email sampah. Jumlah spam kini telah mencapai 90 miliar
pesan per hari. Alamat email dikumpulkan dari situs web, chat room, newsgroup
dan oleh Trojan yang pengguna bisa menambahkan buku alamat. SPIM adalah
spam yang dikirim melalui system pesan instan seperti Yahoo Messenger atau
MSN Messenger. SPIT adalah Spam over Internet Telephony. Ini adalah yang
tidak diinginkan, secara otomatis-keluar, pra-rekaman panggilan telepon
menggunakan Voice over Internet Protocol (VoIP).

3. Spoofing

Spoofing adalah serangan dimana sebuah program disamarkan seperti


program yang lain. Yang paling umum adalah meng-clone URL atau situs web.

4. Sniffing

Sniffing adalah serangan keamanan jaringan melalui sebuah program atau


perangkat informasi dimana tujuan utama nya yaitu mencuri kata sandi, file dan
berbagai informasi pribadi.

5. Phising

Phising adalah bentuk umum dari spoofing dimana halaman web palsu
dibikin seolah – olah terlihat seperti halaman web yang benar. Halaman palsu
diletakkan di server yang berada di bawah kendali sang penjahat.

6. Pharming

Pharming adalah sebuah serangan dimana seorang peretas mencoba untuk

mengarahkan sebuah situs web ke situs yang palsu dengan cara mengubah host
file di komputer korban atau dengan eksploitasi kerentanan dalam perangkat lunak
DNS server.

7. Spyware

Spyware adalah perangkat lunak yang di install secara diam – diam pada
komputer user tanpa persetujuan user. Program ini akan memonitor aktivitas user
atau mengganggu jalannya komputer.

8. Keystroke Logger (KeyLogger)


Keylogger adalah program perangkat lunak yang diinstall pada komputer,
biasanya bersama – sama dengan Trojan Horse atau virus. Keylogger menangkap
dan merekam setiap keystrokes /tombol yang ditekan oleh user pada
keyboard.Kemudian data yang di record akan dikirim ke komputer remote.

9. Botnet (DDoS)

Botnet adalah kumpulan robot perangkat lunak, atau biasa disebut Bots,
yang menjalankan serangkaian instruksi otomatis melalui internet. Botnet sering
digunakan untuk meluncurkan serangan Distributed Deniel-of-Service (DDoS)
terhadap sebuah situs yang secara otomatis dapat membuat server tersebut down.

10. Worm

Worm adalah program perangkat lunak berbahaya yang mampu


mereplikasi diri. Berbeda dengan virus program ini tidak perlu memasukkan
dirinya ke program yang sudah ada atau membutuhkan bantuan manual untuk
menyebar. Worm menggunakan jaringan untuk mengirim salinan dirinya ke
komputer lain pada jaringan yang sama.

11. Trojan Horse

Trojan adalah Sebuah program yang bersembunyi di dalam program


lainnya. Dimana Trojan disisipkan seperti didalam Games dan nantiknya
programnya jalan maka akan memberikan dampak pada PC atau Laptop.

V.2.1 Aturan Dasar Keamanan Jaringan

Dalam banyak kasus sebagai audit IT atau pentester, harus mengetahui kriteria
atau aspek – aspek yang harus tetap terjaga. Yang biasanya disebut CIA triad,
yaitu (Team, 2021) :

1. Confidentiality

Menjamin data, informasi, objek dan sumberdaya terbatas dari subjek


yang tidak ter – otorisasi. Tidak benar jika semua informasi boleh diakses oleh
semua orang. Kecuali informasi tersebut sifatnya umum setiap orang boleh tau
atau diakses.

2. Integrity

Mencegah pihak manapun yang tidak berwenang untuk memodifikasi dan


juga memelihara konsistensi suatu objek agar data pada objek tersebut benar dan
merefleksikan keadaan sebenarnya dan setiap hubungan dengan objek lainnya
menjadi valid, konsisten dan dapat diverivikasi.

3. Avaibility

Menjamin setiap pihak yang berwenang dapat mengakses data, objek dan
sumber daya. Kontrol yang diperlukan dalam menjaga prinsip ini adalah untuk
menjamin penanganan cepat ketika terjadi kegagalan system, menyediakan
redundancy, memelihara backup, mencegah data hilang atau rusak.

V.2.2 Langkah Pengamanan Jaringan Komputer

Dalam proses pengamanan jaringan komputer, ada beberapa tahap yang perlu
dilakukan, diantaranya (ELLIS, 2021).

1. Persiapan (Preparation)

Persiapan menjadi awal dari semua kegiatan sebelum memulainya.


Persiapan yang dilakukan diantaranya adalah:

a. Persiapan Personal

Persiapan personal disini diberatan pada orang yang bertugas


mengamankan atau tim pengamanan. Tim pengamanan yang baik adalah sumber
daya yang berharga dalam proses penanganan masalah yang akan terjadi.

b. Persiapan Alat

Persiapan alat merupakan kegiatan dalam penanganan sebelum dan


sesudah terjadinya serangan pada jaringan komputer.
c. Persiapan Dokumentasi

Beberapa dokumnetasi yang perlu dipersiapkan ialah seperti daftar ip


address, system operasi yang digunakan dan berbagai hal yang berkaitan dengan
informasi dimana informasi tersebut nantiknya digunakan untuk melakukan
pentest.

d. Persiapan Komponen Keamanan Jaringan

Komponen yang digunakan dalam menjaga keamanan pada jaringan


komputer, seperti anti malware, firewall, VPN.

2. Tahap Identifikasi

Menyelidiki dan memahami sifat terhadap suatu serangan dan target dari
serangan tersebut adalah hal yang wajib dilakukan untuk proses lebih lanjut
terhadap tahap pengamanan.

3. Tahap Penahanan

Rencana penahanan yang telah ditentukan sebelum terjadinya


penyerangan. Dimana strategi penahanan akan berbeda – beda tergantung pada
system yang akan dikelola.

4. Tahap Eradiction

Tahap ini adalah tahap analisis yang lebih dalam. Dimana pada tahap ini
akan melakukan analisis dari berbagai informasi yang telah didapatkan. Kualitas
dari analisis akan semakin baik apabila kualitas dan kuantitas dari barang bukti
semakin banyak dan akurat.

5. Tahap recovery

Pada tahap ini, dilakukan proses pemulihan system setelah dilakukannya


proses penahanan dan proses eradiction. Tahapan recovery akan semakin cepat
apabila yang melakukan perbaikan memahami karakteristik serangan dengan baik.
6. Tahap Follow Up

Pada tahap ini berlangsung proses pelaporan atas serangan yang telah
terjadi serta penanganannya dan tahapan dari penanganan tersebut, pembelajaran
atas apa yang telah terjadi, peningkatan terhadap system untuk mencegah hal yang
sama tidak terulang kembali

V.2.3 Aspek – Aspek Ancaman Keamanan Jaringan

Penyerangan dapat terjadi setiap saat tanpa diketahui. Serangan yang


terjadi banyak menimbulkan banyak berbagai dampak seperti kehilangan data
hingga kerusakan data. Berikut aspek – aspek ancaman keamanan jaringan
adalah :

1. Interruption

Merupakan suatu ancaman terhadap avaibility. Informasi dan data


yang ada dalam system komputer dirusak dan dihapus sehingga jika
dibutuhkan, data atau informasi tersebut tidak ada lagi.

2. Interception

Merupakan ancaman terhadap kerahasiaan . Informasi yang ada


disadap atau orang yang tidak berhak mendapatkan akses ke komputer dimana
informasi tersebut disimpan.

3. Modification

Merupakan ancaman terhadap integritas. Orang yang tidak berhak


berhasil menyadap lalu lintas informasi yang sedang dikirim dan diubah sesuai
keinginan orang tersebut.

4. Fabrication
Merupakan ancaman terhadap integritas. Orang yang tidak berhak
berhasil meniru (memalsukan) suatu informasi yang ada sehingga orang yang
menerima informasi tersebut menyangka informasi tersebut berasal dari orang
yang dikehendaki oleh si penerima informasi tersebut

V.2.4 Beberapa Cara Dalam Penanganan Sistem

Dalam menjaga system yang dibuat tetap terjaga aman, seorang


administrator dapat melakukan beberapa cara dalam sistemnya diantaranya
adalah.

1. Autentikasi

Adalah proses identifikasi pemakai saat melakukan suatu login didasarkna


pada tiga cara, yaitu yang diketahui pemakai, dimana pemakai memilih suatu kata
kode, mengingatnya dan mengetikkannya saat akan mengakses sistem computer.

2. Account Locking

Seorang user yang melakukan login beberapa kali melebihi dengan apa
yang sudah ditentukan, maka server secara langsung akan melakukan locking
terhadap account tersebut. Administrator akan menentukan jumlah dari batas
percobaan kesalahan dalam melakukan login, dan lamanya account akan di-
locking. Tetapi, administrator juga dapat melakukan locking terhadap account
tertentu secara langsung.

3. Password Aging & Expiration

Seorang administrator dapat menentukan waktu berlakunya dari


penggunaan password. Dan bila waktu berlaku password nya telah melewati dari
batas waktu yang telah ditentukan maka user tersebut tidak lagi dapat melakukan
login kembali. Bilapassword nya belum juga diganti hingga watu yang telah
ditentukan maka akun tersebut tidak dapat dipakai kembali.
4. Password Complexity Verification

Password ini dimaksudkan untuk memberikan identitas yang lebih unik


kepada tiap user agar password yang dibuat tidak mudah ditebak oleh pihak lain.
Namun kebanyakan user memilih password yang lebih simple sehingga membuat
password dari akun yang telah dibuat mudah ditebak oleh user lainnya.

5. Otorisasi

Otorasi adalah pemberian hak akses kepada sebuah resource kepada


seseorang. Dengan adanya Otorisasi ini hak akses dari sebuah resource dapat
dibatasi sesuai dengan hak aksesnya yang telah ditentukan.

6. Enkripsi

Enkripsi adalah sebuah proses yang melakukan pengamanan sebuah data


dari yang berbentuk plaintext menjadi sebuah data chippertext. Dan untuk
mengubah informasi yang sudah terenkripsi atau data chippertext maka
diperlukannya sebuah key yang dapat melakukan proses decrypt agar data yang
telah di enkripsi tersebut dapat dibaca kembali.

7. Firewall

Firewall adalah kumpulan komponen yang membatasi sebuah akses pada


sebuah jaringan berupa hardware maupun software. Dengan menggunakan
firewall maka dapat melakukan proteksi dan mempelajari setiap paket data yang
lewat agar menyeleksi paket mana yang bias lewat ataupun harus di blok.

V.3Kali Linux

Kali linux adalah platform pengujian penetrasi paling popular di dunia


yang digunakan oleh keamanan professional di berbagai spesialisasi, termasuk
pengujian penetrasi, forensics, reverse engineering dan vulnerability assessment.
Kali linux berkembang mulai dari platform WHoppiX, WHAX, BackTrack dan
sekarang sudah banyak memanfaatkan banyak fitur dari Debian GNU/Linux dan
komunitas open source yang ada di seluruh dunia.
V.4Penetration Testing

Penetration testing merupakan teknik yang digunakan untuk mendapatkan


akses ke system organisasi atau melanggar system jaringan layaknya aktivitas
illegal yang dilakukan oleh blackhat hacker. Namun dalam aktivitas penetration
testing sedikit berbeda dari aktivitas blachat hacker. Motivasi dalam penetration
testing adalah untuk mengamankan system, bukan merusak atau mencuri data.
Dalam melakukan penetration testing pada suatu organisasi, harus mendapatkan
izin dari organisasi tersebut agar aktivitas yang dilakukan tidak dianggap illegal .

V.4.1 Tahapan Penetration Testing

Jika melihat banyak referensi, terdapat langkah atau cara yang berbeda –
beda dalam penetration testing. Dari masalah ini muncul sebuah website The
Penetration Testing Execution Standard (PTES) yang memberikan informasi
tentang standar dalam penetration testing dan tools yang berada pada Kali Linux
sudah sesuai dengan standar PTES. PTES terbagi dalam 7 kategori mencakup
semua hal yang berhubungan dengan penetration testing. Dimulai dari
pengumpulan informasi hingga proses eksploitasi pada system. Berikut adalah 7
kategori PTES sebagai berikut(pentest-standard.org, 2014):

1. Pre – engagement Interactions

Merupakan tahapan pertama dalam penetration testing. Pada tahapan ini,


seorang penetration tester melakukan diskusi dengan client terkait ruang lingkup
dan tujuan penetration testing. Dan juga harus menjelaskan se detail mungkin
kegiatan apa saja yang akan dilakukan dari awal hingga membuat laporan pentest.
Hal ini dimaksudkan agar tidak terjadinya kesalahpahaman antara client dan
penetration tester.

2. Intelligence Gathering

Intelligence Gathering merupakan tahapan dimana mengumpulkan


informasi penting dari target yang nantiknya akan digunakan selama proses
pentest. Selama dalam proses ini, seorang pentester mencoba mengidentifikasi
mekanisme

perlindungan apa yang terdapat pada target dengan perlahan – lahan dan berhati –
hati dalam menyelidiki system tersebut.

3. Threat Modeling

Threat Modeling menggunakan informasi yang didapatkan dari


Intelligence Gathering yang digunakan untuk menentukan metode serangan apa
yang paling efektif. Hasil dari modelling ini nantinya akan menentukan
bagaimana sebuah system bisa diserang.

4. Vulnerability Analysis

Selama tahap Vulnerability Analysis dengan menggabungkan informasi –


informasi yang didapatkan dari tahapan – tahapan sebelumnya dan memahaminya
agar dapat mengetahui serangan apa yang layak digunakan.

5. Exploitation

Exploitation merupakan tahap yang menentukan apakah sebuah system


bisa diserang. Tahapan ini sering dilakukan dengan serangan yang bersifat
mengganggu system, karena dalam proses exploitation harus mengerti system apa
yang seharusnya diserang dan harus memahami bahwa system tersebut memiliki
kerentanan.

6. Post Exploitation

Tujuan dari tahapan ini untuk medapatkan informasi lebih lanjut tentang
systemyang berhasil di exploit. Dari hasil ini bisa mencari cara untuk
mendapatkan akses ke internal. Dan dalam Post Exploitation ini bisa menilai
seberapa amankah system yang telah dilakukan pentets ini.

7. Reporting
Reporting merupakan tahapan terakhir dalam melakukan Penetration
Testing. Pada tahapan ini akan melakukan pembuatan laporan untuk semua
aktivitas yang telah dilakukan selama Penetration Testing berlangsung.

V.4.2 Alat – Alat Penetration Testing

Dalam melakukan penetration testing bisa melakukan nya secara manual.


Tetapi, karena keterbatasan pengetahuan terkadang ada beberapa celah yang
belum diketahui sehingga diperlukannya cara yang lebih cepat dan efisien agar
dapat membantu mencari suatu kelemahan pada sebuah system. Oleh karena itu
berikut beberapa alat yang dapat membantu selama proses penetration testing.

1. Sparta

SPARTA adalah sebuah aplikasi berbasis GUI yang dibuat dengan bahasa
pemograman python yang berfungsi untuk membantu dalam proses penetration
testing dalam fase scanning dan enumeration. Dengan menggunakan aplikasi ini
seorang pentester akan lebih menghemat waktu nya dalam pencarian sebuah
kelemahan yang ada pada sebuah server yang dituju dan juga aplikasi ini akan
menampilkan semua output yang lebih mudah dipahami oleh seorang pentester

2. NMAP (Network Mapper)

Nmap adalah salah satu tools open source yang digunakan oleh seorang
audit keamanan jaringan. Nmap berfungsi untuk melakukan scanning seperti
pencarian port yang terbuka, tipe OS yang dipakai oleh server, pencarian service
yang dipakai dan lain sebagainya. Nmap memiliki 2 versi yaitu dalam tampilan
GUI yaitu bernama Zenmap dan yang bertampilan dalam bentuk command line
yaitu Nmap. Nmap berjalan pada semua jenis sitem operasi seperti Linux,
windows dan Mac OS.

3. Metasploit

Metasploit adalah proyek keamanan computer yang menyediakan


informasi kerentanan keamanan dan bantuan dalam melakukan pengujian pentest.
Metasploit adalah tool yang sangat popular di kalangan audit keamanan dan juga
Metasploit open source bisa di gunakan oleh berbagai pihak. Metasploit
merupakan tool yang berguna untuk mengeksekusi kode exploit pada jarak dekat
maupun jauh dengan begitu bisa dilakukan proses remote control melalui
meterpreter, shell dan vnc.

4. Metaspoitable 2

Metasploitable adalah sebuah mesin virtual yang menggunakan sistem


operasi Ubuntu Linux yang dirancang untuk menguji sebuah keamanan dan
kelemahan yang ada. Versi 2 dari mesin virtual ini bisa dijalankan di berbagai
sistem virtualisasi seperti VMWare, VirtualBox dan platform virtualisasi lainnya.
Dengan adanya Metasploitable ini akan mudah mempelajari bagaimana cara
melakukan pentest tanpa mengganggu server milik user lain.

5. DVWA (Damn Vulnerable Web Aplication)

Damn Vulnerable Web Aplication (DVWA) adalah sebuah aplikasi web


PHP / MySQL yang sangat rentan. Fungsi dari DVWA ini sendiri ialah untuk
menjadi bahan bagi para audit keamanan untuk menguji dan mempelajari contoh
dari kelemahan pada sebuah website.

6. Virtual Box

VirtualBox adalah aplikasi virtualisasi yang dapat diinstall di berbagai


macam sistem operasi seperti Windows, Mac, Linux atau Solaris. Virtual Box
sangat banyak di pakai oleh orang di seluruh dunia dikarenakan kemudahan nya
dan juga open source. Virtual box tidak memiliki batasan dalam membuat
virtualisasi, hanya saja tergantung dari ruang hardisk dan RAM yang diberikan
oleh PC

7. Wireshark

Wireshark adalah aplikasi yang berguna untuk melakukan analisis paket


jaringan dan berbagai macam permasalahan dalam jaringan baik dari segi
software maupun hardware nya. Aplikasi ini bisa digunakan di segala macam
sistem operasi dan bisa di download secara gratis. Wireshark memiliki dua buah
versi yaitu versi GUI yaitu Wireshark dan versi non – gui bernama Tshark

8. Hydra

Hydra adalah tool yang digunakan untuk melakukan cracker sebuah login
yang mendukung banyak protocol untuk melakukan penyerangan. Tool ini dalam
melakukan penyerangan sangat cepat dan mudah untuk digunakan. Oleh karna itu
para audit keamanan akan mendapatkan akses dengan mudah ke sistem maupun
dari jarak yang jauh.

9. Brup Suite

Burpsuite adalah aplikasi yang memungkinkan pengujian keamanan pada


aplikasi website. Aplikasi ini akan bekerja baik secara otomatis maupun manual
dalam pengujian, menganalisis maupun menyerang aplikasi website tersebut.
Aplikasi ini banyak digunakan dikalangan para pentestter karna di akuinya dalam
kinerja nya

10. SQLMap

SQLMap adalah aplikasi open source yang digunakan untuk mendeteksi


dan mengeksploitasi kerentanan sebuah basis data. Aplikasi ini bisa melakukan
inject pada sebuah kode untuk melakukan serangan dan menyebabkan
menampilkan isi dari database server yang dijadikan sebuah target. SQLMap salah
satu tool yang sangat popular baik dikalangan pentester maupun hacker
dikarenakan tool ini sangat powerfull bukan hanya bisa melihat isi database target
tetapi bisa digunakan untuk melakukan upload sebuah backdoor.

11. Weevely
Weevely adalah sebuah tool yang dapat membuat sebuah web shell
layaknya seperti backdoor. Tool ini digunakan sebagai akses pintu belakang jika
pintu utama tidak bisa di akses kembali. Dengan adanya tool ini maka masih tetap
bisa mengakses server dan melakukan perubahan pada isi server tanpa
sepengetahuan administrator server nya.

V.5OWASP (Open Web Application Security Project)

OWASP atau Open Web Application Security Project adalah sebuah


komunitas yang besar yang melakukan pengembangan dan peningkatan yang
berfokus pada keamanan perangkat lunak. Semua alat yang ada di OWASP dalam
bentuk dokumen, video, presentasi dan beberapa e-book gratis bisa dipakai oleh
berbagai pihak yang tertarik dalam meningkatkan keamanan aplikasi nya.

V.5.1 OWASP Top 10

OWASP Top 10 adalah dokumen yang dibuat oleh OWASP tentang risiko
keamanan sebuah aplikasi web. Dalam pembuatan project ini diikutsertakan
berbagai pakar keamanan dari seluruh dunia untuk menghasilkan daftar dari
OWASP Top 10 ini. OWASP Top 10 ini bisa dijadikan sebagai langkah awal
yang paling efektif dalam memastikan bahwasanya aplikasi yang dibuat tersebut
aman. Berikut daftar Top 10 OWASP yang bersumber dari (owasp.org, 2017).

1. Injection

Kelemahan pada Injection, seperti SQL, NoSQL, OS dan injeksi LDAP


terjadi pada saat data yang tidak dapat dipercaya dikirim ke sebuah penerjemah
sebagai bagian dari sebuah perintah atau permintaan. Sehingga dengan begitu
penyerang bisa mengakses data target tanpa otorisasi yang tepat.

Cara mengatasi :

 Batasi panjang dari input box dengan cara membatasinya pada kode
program. Dengan begitu para cracker akan kebingungan dalam melakukan
inject dengan perintah yang panjang dikarenakan sudah dibatasi oleh pihak
developer.
 Dan cara selain dari diatas yaitu dengan menggunakan fungsi di PHP yaitu
mysql_real_escape_string(). Dengan menggunakan fungsi ini maka akan
memberikan perlindungan \ (Back Slash) pada setiap string yang diberikan
oleh seorang attacker dalam melakukan pengujian sql injection.

2. Broken Authentication

Broken Authentication merupakan sebuah fungsi aplikasi yang terkait


dengan otentikasi dan manajemen sesi yang diterapkan secara tidak benar. Dengan
adanya Broken Authentication ini akan memungkinkan penyerang untuk
mendapatkan kata sandi atau sebuah session tokens untuk melakukan eksploitasi
kelemahan yang ada.

Cara mengatasi :

 Lakukan penerapan otentikasi secara multi-faktor untuk mencegah isian


secara otomatis, kredensial dan brute force.
 Jangan menggunakan sebuah kredensial secara default terutama pada
halaman login admin dikarenakan akan mempermudah seorang attacker
menemukan username dan password seorang admin dengan menggunakan
teknik brute force.
 Menerapkan pemeriksaan kata sandi yang lemah sehingga akan membuat
seorang user untuk membuat kombinasi password yang lebih sulit.

3. Sensitive Data Exposure

Banyak nya sebuah aplikasi web yang tidak melindungi data sensitive
dengan benar seperti data keuangan, layanan kesehatan dan lain-lain. Penyerang
dapat melakukan pencurian sebuah dan melakukan perubahan sebuah data yang
disebabkan lemahnya perlindungan pada sebuah data.

Cara mengatasi :
 Jangan menyimpan data yang sensitive agar tidak dapat dicuri oleh
seseorang penyerang.
 Jangan lakukan penyimpanan data yang sensitive di cookies agar tidak
diambil oleh seorang penyerang untuk dilakukan analisis sehingga data
tersebut bisa diambil oleh seorang penyerang. Dan jika pun ingin
menyimpan data di cookie harus pastikan data tersebut terenkripsi dengan
baik.
 Matikan fitur autocomplete pada sebuah browser agar data dari username
dan password tidak bisa diambil oleh seorang penyerang.

4. XML External Entities (XXE)

XML adalah singkatan dari Extensible Markup Language dimana fungsi


dari XML itu digunakan untuk melakukan aktivitas penyajian sebuah data
(output) dan juga sebagai penerima penerima data (input). Dan untuk mengenai
XML External Entities atau XXE yaitu dapat diketahui bahwasanya dokumen
XML yang dapat diakses dari luar. Dengan adanya XXE ini maka seorang
penyerang dapat membaca file yang sangat penting yang ada di server dengan
hanya melakukan eksekusi sebuah kode yang akan menampilkan sebuah file
penting yang ada di server.

Cara mengatasi :

 Menerapkan validasi, penyaringan atau input dari sisi server untuk


mencegah data yang tampil dalam bentuk dokumen, header atau node
XML.
 Menggunakan bantuan alat yang bernama SAST (Source Code Analysis
Tools) yang dapat melakukan analisis baik kelemahan yang ada di aplikasi
web maupun mendeteksi kelemahan XXE.

5. Broken Access Control

Pembatasan tentang apa yang diizinkan oleh pengguna yang terotentikasi


seringkali tidak dilakukan dengan benar. Penyerang dapat melakukan exploitasi
pada sebuah kelemahan untuk mengakses fungsionalitas atau sebuah data yang
penting, seperti mengakses akun pengguna lain, melihat isi dari file sensitive,
melakukan. perubahan data pengguna, mengubah hak akses dan lain sebagainya.

Cara mengatasinya :

 Seorang admin harus memantau melalui Log kegagalan kontrol akses


untuk mengetahui adanya kegiatan yang di luar akses seorang admin.
 Menonaktifkan menampilkan daftar direktori web server yang ada di sisi
server.

6. Security Misconfiguration

Security Misconfiguration adalah masalah yang paling umum terlihat. Ini


merupakan hasil dari melakukan konfigurasi secara default, penyimpanan cloud
terbuka, konfigurasi yang tidak lengkap dan kesalahan dalam menampilkan yang
berisi informasi yang sensitive.

Cara mengatasinya :

 Usahakan dalam membuat sebuah web minimalisirkan tanpa adanya fitur,


komponen tambahan, dokumentasi dan sampel yang tidak perlu. Hapus
ataujangan install fitur yang tidak digunakan.
 Lakukan proses otomatisasi untuk memverifikas efektifitas konfigurasi
dan pengaturan di semua sisi baik dari segi software maupun hardware.

7. Cross-Site Scripting (XSS)

Cross-Site Scripting adalah jenis serangan dengan cara melakukan injeksi


dengan menggunakan sebuah kode HTML atau script code lainnya ke web yang
diinginkan. Dengan melakukan serangan XSS ini maka penyerang bisa
mendapatkan informasi yang sensitive, mem-bypass sebuah keamanan atau
mengirimkan sebuah malware ke target yang dituju. Kelemahan ini mudah
didapatkan tapi susah untuk diatasi dan ditemukan sekitar dua pertiga dari semua
aplikasi yang ada.

Cara mengatasinya :

 Menggunakan Open Source Libraries mengenai pencegahan XSS attack


seperti PHP AntiXSS dan HTML Purifier.
 Alat otomatis yang sudah banyak beredar di internet dapat melakukan
pencarian kelemahan XSS sekaligus melakukan exploitasi nya dan oleh
karena itu dengan bantuan alat otomatis tersebut dapat membantu pihak
developer dalam mencari kelemahan XSS pada aplikasi nya seperti tool
Acunetix, OWASP ZAP, Vega, Open VAS dan lain sebagainya.

8. Insecure Deserialization

Deserialisasi merupakan menconvert sebuah data yang sudah diserialisasi


kembali object yang dipakai oleh aplikasinya. Dan serialisasi merupakan proses
dimana object diambil dari kode aplikasi lalu di convert sehingga dapat digunakan
untuk keperluan lainnya. Dari pernyataan tersebut dapat disimpulkan bahwa
seorang penyerang dapat memanfaatkan data dari sumber yang tidak dapat
dipercaya. Ini dapat menyebabkan serangan DDoS dari seorang penyerang.
Kelemahan ini bisa dimanfaatkan oleh seorang penyerang dalam melakukan
eksekusi sebuah kode dengan melakukan remote ke target menyebabkan hak
akses admin bisa diambil oleh penyerang.

Cara mengatasinya :

 Salah satu cara yang paling efektif yaitu tidak menerima data dari sumber
yang tidak dikenal dengan cara memasang seperti WAF (Web Application
Firewall) dan IDS/IPS agar data akan di filter sebelum dieksekusi ke web
server.

9. Using Components With Known Vulnerabilities


Komponen seperti libraries, frameworks dan modul software lainnya
dijalankan dengan hak istimewa yang sama dengan aplikasi. Jika komponen
tersebut memiliki kelemahan maka akan bisa menyebabkan kehilangan data atau
pengambilalihan server. Bukan hanya dari sisi aplikasi tetapi dari sisi server juga
harus diperhatikan komponen yang digunakannya.

Cara mengatasinya :

 Lakukan penghapusan sesuatu yang tidak perlu seperti komponen, file dan
dokumen.
 Lakukan pengecekan secara berkelanjutan baik dari sisi aplikasi maupun
dari sisi server untuk melakukan pathcing ke versi yang terbaru untuk
menghindari adanya bug baru dari versi yang lama. Atau bisa juga
melakukan pengecekan bug baru di CVE (Common Vulnerabilities and
Exposures) dan NVD (National Vulnerability Database).

10. Insufficient Logging and Monitoring

Logging dan Monitoring yang tidak memadai, ditambah dengan integrasi


yang hilang atau tidak efektif dengan respon kejadian, akan memungkinkan
penyerang untuk melakukan menyerang sistem lebih lanjut , merusak atau
menghancurkan data.

Cara mengatasinya :

 Salah satu strategi untuk menentukan apakah memiliki pemantauan yang


cukup ialah dengan cara memeriksa log file secara berkala.
 Lakukan pembuatan pemantauan dan peringatan yang efektif sehingga
kegiatan yang mencurigakan terdeteksi dan ditanggapi tepat waktu.
VI. METODOLOGI PELAKSANAAN TUGAS AKHIR
Sebagai bentuk dalam efektifitas kinerja dalam menyelesaikan tugas akhir,
dibutuhkan beberapa metodologi sebagai petunjuk berhasilnya pengujian dari
tugas akhir ini. Berikut metodologi yang akan digunakan pada tugas akhir ini :

1. Studi Litelatur

Mencari informasi mengenai penetration testing dari berbagai


sumber yang berkaitan dengan keamanan jaringan komputer, khususnya
pada penelitian tentang aplikasi web. Informasi juga didapat dari tugas
akhir mahasiswa Jurusan Teknologi Informasi di ruangan referensi
Perpustakaan Politeknik Negeri Padang.

2. Observasi

Mencari informasi mengenai target yang akan diuji yaitu web dan
server dari taget yang telah ditentukan. Informasi yang nantiknya
diperoleh adalah mengenai spesifikasi dan perangkat lunak yang
digunakan. Dengan menemukan berbagai kelemahan, diharapkan dapat
memberikan hasil yang lebih baik untuk mengurangi celah dari keamanan
aplikasi web yang dituju.

3. Analisis Sistem

Mengamati dan menganalisis berbagai kerentanan dari informasi


yang didapatkan baik dari segi service maupun scripting. Bug-bug yang
terdapat dalam sistem merupakan kelemahan yang akan diperbaiki dalam
pengujian ini. Setelah dilakukan pengujian, hasilnya akan berupa laporan
kepada administrator jaringan dan pihak pengembang web mengenai
kelemahan yang nantiknya rentan terhadap penyerangan dari berbagai
pihak.

4. Perencanaan Uji Kelemahan


Dalam melakukan proses uji kelemahan aplikasi web
menggunakan sistem operasi kali linux, dimana didalamnya terdapat
berbagai tools yang dapat digunakan untuk menguji sejauh mana tingkat
keamanan dari aplikasi web yang dituju.

5. Implementasi

Pada tahapan ini merupakan tahapan akhir dari pengujian aplikasi


web. Terdapat beberapa langkah yang akan dilakukan nantinya untuk
melakukan analisis kelemahan dari suatu system, guna untuk
mengevaluasi celah keamanan agar data yang terdapat pada web server
dapat terlindungi dari serangan. Pengujian dilakukan secara terstruktur
mulai dari pencarian data hingga melakukan exsploitasi suatu kerentanan.
VII. JADWAL PELAKSANAAN
Tabel 2. Contoh Jadwal Penelitian

Kegiatan Bulan ke
1 2 3 4
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Studi Literatur
Observasi
Analisis Sistem
Perencanaan Uji
Kelemahan
Implementasi
VIII. DAFTAR PUSTAKA
Arianto. (2020). Memahami Pengertian,Fungsi Dan Cara Kerja TCP/IP.
Www.Tembolok.Id. https://www.tembolok.id/pengertian-tcp-
ip/#:~:text=Berdasar standar TCP%2FIP dibagi menjadi 4 Layer
utama,Application Layer%2CTransport Layer%2CInternet Layer
%2FNetwork layer%2CNetwork interface Layer%2Fpsical layer.

Banu, S. (2020). 12 WordPress Security Issues (Vulnerabilities) & Tips To Fix


Them. Malcare.Com. https://www.malcare.com/blog/wordpress-security-
issues/

ELLIS, D. (2021). 6 Phases in the Incident Response Plan.


Www.Securitymetrics.Com. https://www.securitymetrics.com/blog/6-phases-
incident-response-plan

owasp.org. (2017). Top 10 Web Application Security Risks. Owasp.Org.


https://owasp.org/www-project-top-ten/

pentest-standard.org. (2014). High Level Organization of the Standard.


Http://Www.Pentest-Standard.Org/. http://www.pentest-
standard.org/index.php/Main_Page

Team, D. (2021). Pentingnya CIA Triad dalam Pengembangan Web App.


Www.Dewaweb.Com. https://www.dewaweb.com/blog/web-app-security-
cia-triad/

wordfence.com. (2016). Penetration Testing Your WordPress Website.


Www.Wordfence.Com. https://www.wordfence.com/learn/penetration-
testing-your-wordpress-website/

Anda mungkin juga menyukai