PENTESTING FUNDAMENTALS

LEVEL : NEWBIE

introduction
attacking
defending

Sebelum gua ngajarin lu aspek teknis hands-on soal ethical hacking, lu perlu ngerti lebih banyak soal tanggung jawab kerja seorang penetration tester dan proses apa aja yang diikutin pas ngelakuin pentest (nyari kerentanan di aplikasi atau sistem klien). Pentingnya dan relevansi cybersecurity makin lama makin naik dan bisa ada di semua aspek kehidupan. Judul berita penuh di layar kita, ngelaporin lagi ada hack atau kebocoran data.

Cybersecurity itu relevan buat semua orang di dunia modern, termasuk kebijakan password yang kuat buat ngelindungin email lu atau buat bisnis dan organisasi lain yang perlu ngelindungin perangkat dan data dari kerusakan.

Penetration test atau pentest itu upaya yang didorong secara etika buat ngetes dan nganalisa pertahanan keamanan buat ngelindungin aset dan informasi ini. Penetration test ngelibatin pake tools, teknik, dan metodologi yang sama kaya yang bakal dipake sama orang yang punya niat jahat dan mirip sama audit.

Kata Security Magazine, majalah industri cybersecurity, ada lebih dari 2.200 serangan siber tiap hari – 1 serangan tiap 39 detik.

Soal legalitas dan etika di cybersecurity, apalagi penetration testing, emang selalu jadi topik panas. Label “hacking” dan “hacker” sering banget punya konotasi negatif, apalagi di budaya pop, gara-gara ulah segelintir orang. Bayangin aja, dapetin akses ke sistem komputer secara legal itu konsep yang susah dicerna, abisnya, apa sih yang bikin itu jadi legal?

Inget lagi ya, penetration test itu audit resmi keamanan dan pertahanan sistem komputer yang udah disetujuin sama pemilik sistemnya. Dari sisi legalitas, penetration testing itu jelas banget; segala sesuatu di luar kesepakatan ini dianggap ga resmi alias ilegal.

Sebelum penetration test dimulai, ada obrolan formal dulu antara penetration tester dan pemilik sistem. Macem-macem tools, teknik, dan sistem yang mau dites itu disepakati. Obrolan ini ngebentuk lingkup perjanjian penetration testing dan bakal nentuin arah penetration test itu sendiri.

Perusahaan yang nyediain layanan penetration testing itu diatur sama kerangka hukum dan akreditasi industri. Contohnya, National Cyber Security Centre (NCSC) punya skema akreditasi CHECK di Inggris Raya. CHECK ini mastiin kalo cuma “[CHECK] perusahaan yang disetujui yang boleh ngelakuin penetration test resmi sistem dan jaringan sektor publik dan CNI.” (NCSC).

Etika itu debat moral antara bener dan salah; di mana sebuah tindakan mungkin legal, tapi bisa aja bertentangan sama sistem kepercayaan bener dan salah seseorang.

Penetration tester sering banget dihadapin sama keputusan yang secara moral mungkin dipertanyakan selama penetration test. Contohnya, mereka dapetin akses ke database dan disuguhin data yang mungkin sensitif. Atau, mungkin, mereka ngelakuin serangan phishing ke karyawan buat ngetes keamanan manusia di sebuah organisasi. Kalo tindakan itu udah disepakati di tahap awal, itu legal tapi secara etika tetep dipertanyakan.

Hacker dibagi jadi tiga topi, di mana etika dan motivasi di balik tindakan mereka nentuin kategori topi mereka. Yuk, kita bahas tiga kategori ini di tabel di bawah:

Kategori TopiDeskripsiContoh
White HatHacker ini dianggap “orang baik”. Mereka tetep di jalur hukum dan pake keahlian mereka buat ngebantu orang lain.Contohnya, penetration tester yang ngelakuin kerjaan resmi di sebuah perusahaan.
Grey HatOrang-orang ini sering pake keahlian mereka buat ngebantu orang lain; tapi, mereka ga selalu ngehormatin/ngikutin hukum atau standar etika.Contohnya, orang yang nurunin situs scam.
Black HatOrang-orang ini penjahat dan sering nyari cara buat ngerusak organisasi atau dapetin keuntungan finansial dengan ngorbanin orang lain.Contohnya, pembuat ransomware ngeinfeksi perangkat dengan kode jahat dan nyandera data buat tebusan.

Rules of Engagement (ROE)

ROE itu dokumen yang dibikin di tahap awal kerjaan penetration testing. Dokumen ini punya tiga bagian utama (dijelasin di tabel di bawah), yang pada akhirnya bertanggung jawab buat nentuin gimana kerjaan itu dilakuin. SANS Institute punya contoh bagus dokumen ini yang bisa lu liat online di sini.

BagianDeskripsi
PermissionBagian dokumen ini ngasih izin eksplisit buat kerjaan itu dilakuin. Izin ini penting buat ngelindungin individu dan organisasi secara hukum atas aktivitas yang mereka lakuin.
Test ScopeBagian dokumen ini bakal nulis target spesifik yang jadi sasaran kerjaan. Contohnya, penetration test mungkin cuma berlaku buat server atau aplikasi tertentu tapi ga buat seluruh jaringan.
RulesBagian rules bakal ngejelasin secara pasti teknik apa aja yang diizinin selama kerjaan. Contohnya, rules mungkin secara spesifik nyebutin kalo teknik kaya serangan phishing dilarang, tapi serangan MITM (Man-in-the-Middle) boleh.

Penetration test itu bisa punya banyak banget tujuan dan target yang beda-beda di lingkupnya. Karena ini, ga ada penetration test yang sama, dan ga ada satu cara yang pas buat semua gimana penetration tester harus ngedeketinnya.

Langkah-langkah yang diambil penetration tester selama kerjaan itu dikenal sebagai metodologi. Metodologi yang praktis itu yang smart, di mana langkah-langkah yang diambil relevan sama situasi yang lagi dihadepin. Contohnya, punya metodologi yang biasa lu pake buat ngetes keamanan aplikasi web itu ga praktis kalo lu harus ngetes keamanan jaringan.

Sebelum ngebahas beberapa metodologi standar industri yang beda-beda, kita harus inget kalo semuanya punya tema umum tahapan kaya gini:

TahapDeskripsi
Information GatheringTahap ini ngelibatin ngumpulin sebanyak mungkin informasi yang bisa diakses publik soal target/organisasi, contohnya, OSINT dan research. Catatan: Ini ga ngelibatin scan sistem apapun.
Enumeration/ScanningTahap ini ngelibatin nemuin aplikasi dan layanan yang jalan di sistem. Contohnya, nyari web server yang mungkin punya potensi kerentanan.
ExploitationTahap ini ngelibatin manfaatin kerentanan yang ditemuin di sistem atau aplikasi. Tahap ini bisa ngelibatin pake exploit publik atau nge-exploit logika aplikasi.
Privilege EscalationBegitu lu udah berhasil nge-exploit sistem atau aplikasi (dikenal sebagai foothold), tahap ini adalah upaya buat perluas akses lu ke sistem. Lu bisa escalate secara horizontal dan vertikal, di mana horizontal itu ngakses akun lain dari grup izin yang sama (misalnya, pengguna lain), sedangkan vertikal itu dari grup izin lain (misalnya, administrator).
Post-exploitationTahap ini ngelibatin beberapa sub-tahap: 1. Host lain apa aja yang bisa dijadiin target (pivoting) 2. Informasi tambahan apa yang bisa kita dapetin dari host sekarang gua udah jadi pengguna yang punya hak akses lebih 3. Nutupin jejak 4. Bikin laporan.

OSSTMM

The Open Source Security Testing Methodology Manual nyediain kerangka kerja yang detail soal strategi testing buat sistem, software, aplikasi, komunikasi dan aspek manusia dari cybersecurity.

Metodologi ini fokus utamanya ke gimana sistem, aplikasi ini berkomunikasi, jadi dia include metodologi buat:

  • Telekomunikasi (telepon, VoIP, dll.)
  • Jaringan Kabel
  • Komunikasi Nirkabel
KelebihanKekurangan
Ngasih cover berbagai strategi testing secara mendalam.Kerangka kerjanya susah dipahamin, detail banget, dan cenderung pake definisi yang unik.
Include strategi testing buat target spesifik (Contohnya Telekomunikasi dan Jaringan)
Kerangka kerjanya fleksibel tergantung kebutuhan organisasi.
Kerangka kerja ini tujuannya buat set standar buat sistem dan aplikasi, berarti metodologi universal bisa dipake dalam skenario penetration testing.

OWASP

Kerangka kerja “Open Web Application Security Project” itu kerangka kerja yang didorong komunitas dan sering di-update yang dipake cuma buat ngetes keamanan aplikasi dan layanan web.

Yayasan ini rutin nulis report yang nyebutin sepuluh kerentanan keamanan teratas yang mungkin dipunyai aplikasi web, pendekatan testing, dan remediasi.

KelebihanKekurangan
Gampang dipelajari dan dipahamin.Mungkin ga jelas jenis kerentanan apa yang dipunyai aplikasi web (sering tumpang tindih).
Aktif dipelihara dan sering di-update.OWASP ga ngasih saran buat siklus hidup pengembangan perangkat lunak spesifik manapun.
Cover semua tahap kerjaan: dari testing sampe laporan dan remediasi.Kerangka kerja ini ga punya akreditasi kaya CHECK.
Spesialisasi di aplikasi dan layanan web.

NIST Cybersecurity Framework 1.1

NIST Cybersecurity Framework itu kerangka kerja yang populer dipake buat ningkatin standar keamanan siber organisasi dan ngatur risiko ancaman siber. Kerangka kerja ini mirip banget kaya sebutan kehormatan gara-gara kepopuleran dan detailnya.

Kerangka kerja ini nyediain panduan soal kontrol keamanan & benchmark buat kesuksesan organisasi dari infrastruktur kritikal (pembangkit listrik, dll.) sampe komersial. Cuma ada bagian terbatas soal panduan standar buat metodologi yang penetration tester harus pake.

KelebihanKekurangan
Kerangka Kerja NIST diperkirain dipake sama 50% organisasi Amerika di 2020.NIST punya banyak iterasi kerangka kerja, jadi mungkin susah buat mutusin mana yang pas buat organisasi lu.
Kerangka kerjanya detail banget dalam set standar buat ngebantu organisasi mitigasi ancaman yang ditimbulin sama ancaman siber.Kerangka kerja NIST punya kebijakan auditing yang lemah, bikin susah buat nentuin gimana breach bisa kejadian.
Kerangka kerjanya sering banget di-update.Kerangka kerja ini ga consider cloud computing, yang makin lama makin populer banget buat organisasi.
NIST nyediain akreditasi buat organisasi yang pake kerangka kerja ini.
Kerangka kerja NIST didesain buat diimplementasi bareng kerangka kerja lain.

NCSC CAF

Cyber Assessment Framework (CAF) itu kerangka kerja luas yang punya empat belas prinsip yang dipake buat nilai risiko berbagai ancaman siber dan pertahanan organisasi ngelawan ancaman ini.

Kerangka kerja ini berlaku buat organisasi yang dianggap ngelakuin “layanan dan aktivitas yang penting banget” kaya infrastruktur kritikal, perbankan, dan yang mirip-mirip gitu. Kerangka kerja ini fokus utamanya ke dan nilai topik-topik kaya:

  • Keamanan data
  • Keamanan sistem
  • Kontrol identitas dan akses
  • Resiliensi
  • Monitoring
  • Perencanaan respons dan pemulihan

KelebihanKekurangan
Kerangka kerja ini didukung sama badan keamanan siber pemerintah.Kerangka kerja ini masih baru di industri, berarti organisasi belom punya banyak waktu buat ngelakuin perubahan yang dibutuhin biar pas sama dia.
Kerangka kerja ini nyediain akreditasi.Kerangka kerja ini based on prinsip dan ide dan ga sedirek punya rules kaya beberapa kerangka kerja lain.
Kerangka kerja ini cover empat belas prinsip yang range dari keamanan sampe respons.

Ada tiga primary scope pas ngetes aplikasi atau layanan. Pemahaman lu soal target lu bakal nentuin level testing yang lu lakuin di kerjaan penetration testing lu.

Black-Box Testing

Proses testing ini proses level tinggi di mana tester ga dikasih informasi apapun soal inner workings aplikasi atau layanan.

Tester bertindak kaya pengguna biasa yang ngetes fungsi dan interaksi aplikasi atau piece software. Testing ini bisa ngelibatin interaksi sama interface, contohnya tombol, dan ngetes buat liat apakah hasil yang dimaksud balik. Ga butuh pengetahuan soal programming atau pemahaman soal program buat jenis testing ini.

Black-Box testing naikin banget jumlah waktu yang dihabisin selama tahap information gathering dan enumeration buat ngeti attack surface target.

Grey-Box Testing

Proses testing ini yang paling populer buat hal-hal kaya penetration testing. Ini kombinasi dari proses testing black-box dan white-box. Tester bakal punya beberapa pengetahuan terbatas soal komponen internal aplikasi atau piece software. Tapi, tetep bakal interaksi sama aplikasi kaya seolah-olah itu skenario black-box dan baru deh pake pengetahuan mereka soal aplikasi buat nyoba resolve masalah pas mereka nemuin masalah itu.

Dengan Grey-Box testing, pengetahuan terbatas yang dikasih hemat waktu, dan sering dipilih buat attack surface yang udah diperkuat banget.

White-Box Testing

Proses testing ini proses level rendah yang biasanya dilakuin sama software developer yang tau programming dan logika aplikasi. Tester bakal ngetes komponen internal aplikasi atau piece software dan, contohnya, mastiin kalo fungsi spesifik jalan dengan bener dan dalam jumlah waktu yang wajar.

Tester bakal punya pengetahuan penuh soal aplikasi dan behaviour yang diharapkan dan jauh lebih makan waktu dibanding black-box testing. Pengetahuan penuh dalam skenario White-Box testing nyediain pendekatan testing yang ngejamin seluruh attack surface bisa divalidasi.

root@yournickname~: $ _
{fUn_w1th_cyb3r53cur1ty}
To top

Verify Your Identity

The verification code expires in -

Please enable one or more of the options below: