◈ CyberKitLEARNING LAB / ID

DUKUNG PENGEMBANGAN CYBERKIT

Bantu CyberKit tetap gratis.

Bantu kami menyempurnakan materi, mengembangkan lab localhost, dan menyiapkan panduan visual. Dukungan Anda melalui QRIS membantu pengembangan website ini. Donasi sukarela; seluruh materi tetap gratis, termasuk jika Anda belum berdonasi.

Lanjut ke materi gratis ↓

Penerima: BackToYouStore
NMID: ID1026497825467

Lihat QRIS donasi
QRIS donasi pengembangan CyberKit, penerima BackToYouStore, NMID ID1026497825467

Scan dengan aplikasi pembayaran yang mendukung QRIS, atau simpan gambar untuk digunakan di aplikasi Anda. Periksa nama penerima BackToYouStore sebelum mengonfirmasi.

Simpan gambar QRIS ↓Buka gambar ukuran asli ↗

Website ini tidak memproses atau mencatat transaksi dan tidak menampilkan status pembayaran.

PERKAKAS / OPSIONAL SESUAI LATIHAN

Gunakan alat dengan tujuan.

Semua latihan memakai fitur gratis dan tanpa akun wajib. Anda tidak perlu memasang seluruh alat. Browser + Python cukup untuk banyak latihan. Menu, distribusi, lisensi, dan dukungan OS dapat berubah; selalu baca sumber resmi. Latihan desktop dan Termux tidak dianggap identik.

T01

Python

Interpreter untuk lab lokal

Persiapan & instalasi

Desktop: unduh installer sesuai OS dari python.org. Cek python --version, py --version pada Windows, atau python3 --version pada Linux. Lab memakai pustaka standar; tidak memerlukan pip.

Praktik pertama

  1. Buka terminal pada direktori lab.
  2. Jalankan python server_aman.py dengan interpreter yang berhasil.
  3. Buka /health di browser.
  4. Ctrl+C menghentikan server.

Hasil harapan

JSON status ok dan server berhenti setelah Ctrl+C.

Troubleshooting

Jika perintah tidak dikenal, buka terminal baru setelah instal. Jangan menyalin perintah pip dari situs acak.

Tantangan & bukti

Jalankan test_lab.py dan catat jumlah tes beserta error bila ada.

Sumber resmi Python ↗

T02

Git

Riwayat perubahan lokal

Persiapan & instalasi

Instal dari git-scm.com dan cek git --version. Seluruh praktik lokal, tanpa akun GitHub.

Praktik pertama

  1. Buat direktori latihan sendiri dan git init.
  2. Atur user.name dan user.email lokal seperti F09.
  3. Tambah satu file dengan git add, commit, lalu ubah isinya.
  4. Gunakan git diff dan git log --oneline.

Hasil harapan

Satu commit dan diff yang sesuai perubahan.

Troubleshooting

Pastikan bukan direktori seluruh Documents. Jangan commit secret atau data akun.

Tantangan & bukti

Buat .gitignore lalu buktikan file contoh yang diabaikan tidak masuk staging.

Sumber resmi Git ↗

T03

Nmap

Pemeriksaan satu port milik sendiri

Persiapan & instalasi

Instal paket resmi untuk OS desktop. Gunakan TCP connect -sT agar latihan satu port tidak membutuhkan raw packet.

Praktik pertama

  1. Mulai server_aman.py.
  2. Jalankan nmap -sT -p 8000 127.0.0.1.
  3. Hentikan server dan jalankan perintah yang sama.
  4. Bandingkan status port dengan kondisi proses.

Hasil harapan

Biasanya open saat hidup, closed saat mati.

Troubleshooting

Status filtered perlu diagnosis; jangan menonaktifkan firewall atau mengganti target ke jaringan lain.

Tantangan & bukti

Jelaskan batas kesimpulan: port terbuka tidak sama dengan aplikasi rentan.

Sumber resmi Nmap ↗

T04

Firefox DevTools

Observasi request dalam browser

Persiapan & instalasi

Pasang Firefox dari Mozilla jika belum ada; DevTools bawaan, tidak perlu akun atau add-on.

Praktik pertama

  1. Buka /health di Firefox.
  2. Tekan F12 atau menu More tools > Web Developer Tools.
  3. Pilih Network lalu reload.
  4. Pilih request untuk membaca header dan response.

Hasil harapan

GET /health dengan 200 dan JSON.

Troubleshooting

Jika F12 dipakai fungsi perangkat, buka lewat menu browser. Menu dapat berubah antar versi.

Tantangan & bukti

Bandingkan Network dengan DOM Elements/Inspector dan tulis fungsinya.

Sumber resmi Firefox DevTools ↗

T05

Chrome DevTools

Inspeksi halaman dan jaringan

Persiapan & instalasi

Chrome DevTools sudah termasuk Chrome. Gunakan menu More tools > Developer tools; tidak perlu login Google.

Praktik pertama

  1. Buka lab lalu DevTools.
  2. Pilih Network sebelum reload.
  3. Amati Request URL, status dan Response.
  4. Pada CyberKit lihat Application > Local Storage untuk progres.

Hasil harapan

Aset CyberKit lokal dan key progres dapat diamati jika penyimpanan diizinkan.

Troubleshooting

file:// dan mode privat dapat membatasi storage; gunakan HTTP lokal untuk hasil konsisten.

Tantangan & bukti

Ubah DOM sementara lalu reload; jelaskan mengapa file sumber tidak berubah.

Sumber resmi Chrome DevTools ↗

T06

Burp Community

Proxy HTTP manual; fitur Pro tidak diperlukan

Persiapan & instalasi

Unduh Community Edition dari PortSwigger. Pilih proyek sementara dan konfigurasi default bila ditawarkan. Fitur Pro tidak diperlukan.

Praktik pertama

  1. Proxy > Open browser pada browser latihan bawaan.
  2. Pastikan Intercept off.
  3. Buka http://127.0.0.1:8000/health.
  4. HTTP history: kirim request itu ke Repeater, lalu Send.
  5. Ubah path menjadi /tidak-ada dan kirim sekali.

Hasil harapan

200 pada health, 404 pada path tidak ada.

Troubleshooting

Jika halaman tertahan, periksa Intercept. Jangan memasang sertifikat di browser akun pribadi; lab HTTP tidak butuh TLS.

Tantangan & bukti

Bandingkan request baseline dan perubahan satu variabel di Repeater.

Sumber resmi Burp Community ↗

T07

ZAP

Proxy web open source

Persiapan & instalasi

Unduh ZAP dari proyek resmi sesuai OS. Ikuti kebutuhan runtime pada halaman unduhan untuk versi yang dipilih. Gunakan sesi latihan tanpa akun.

Praktik pertama

  1. Jalankan ZAP dan pilih mode Safe untuk observasi.
  2. Gunakan browser yang diluncurkan dari ZAP bila tersedia.
  3. Buka lab loopback /health.
  4. Lihat History dan detail request/response.
  5. Jangan jalankan Automated Scan atau active scan.

Hasil harapan

Request lokal terlihat dalam riwayat.

Troubleshooting

Label menu berbeda antar versi. Bila browser integrasi tidak tersedia gunakan DevTools untuk observasi dan tandai proxy belum diuji.

Tantangan & bukti

Tulis perbedaan passive observation dan active scan tanpa melakukan scan.

Sumber resmi ZAP ↗

T08

Wireshark

Analisis paket pada lingkungan sendiri

Persiapan & instalasi

Unduh dari wireshark.org. Driver capture mungkin memerlukan admin saat instal; lakukan hanya pada komputer sendiri. Opsional, bukan syarat kelulusan.

Praktik pertama

  1. Pilih antarmuka loopback yang tersedia.
  2. Mulai capture singkat.
  3. Akses server aman sekali.
  4. Hentikan capture segera lalu pakai display filter tcp.port == 8000.
  5. Amati alur tanpa membagikan capture mentah.

Hasil harapan

Paket loopback terkait port 8000 bila driver mendukungnya.

Troubleshooting

Windows dapat memerlukan Npcap loopback; Linux bisa membatasi hak capture. Jangan menjalankan seluruh alat sebagai root hanya untuk melewati masalah.

Tantangan & bukti

Jelaskan perbedaan paket jaringan dan request HTTP; tandai jika capture tidak tersedia.

Sumber resmi Wireshark ↗

T09

curl

Klien HTTP terminal

Persiapan & instalasi

Cek curl --version; PowerShell gunakan curl.exe --version untuk memastikan executable. Jika tidak tersedia, DevTools adalah alternatif.

Praktik pertama

  1. Mulai server aman.
  2. Jalankan curl.exe -i "http://127.0.0.1:8000/health" pada Windows atau curl -i di Linux.
  3. Bandingkan header dan body.
  4. Ulangi setelah Ctrl+C.

Hasil harapan

Respons 200 ketika hidup dan error koneksi ketika mati.

Troubleshooting

Tanda kutip shell penting untuk URL dengan &. Jangan menaruh token atau password nyata pada perintah.

Tantangan & bukti

Gunakan --get --data-urlencode untuk q=dua kata pada /search fixed.

Sumber resmi curl ↗

T10

PowerShell

Terminal Windows

Persiapan & instalasi

Tersedia di Windows; versi baru opsional dari Microsoft. Praktik dasar tidak butuh Run as administrator.

Praktik pertama

  1. Get-Location untuk memeriksa folder.
  2. Get-ChildItem untuk daftar file.
  3. Get-Content input/catatan.txt untuk membaca.
  4. Gunakan tanda kutip pada path berspasi.
  5. Buka Get-Help Get-Content untuk bantuan lokal.

Hasil harapan

Folder dan isi file latihan ditampilkan.

Troubleshooting

Jangan menyamakan alias dengan executable curl; gunakan curl.exe. Jangan mengubah execution policy untuk menjalankan lab Python.

Tantangan & bukti

Navigasikan ke direktori lab dan jalankan Python dengan path yang benar.

Sumber resmi PowerShell ↗

T11

Bash

Shell Linux

Persiapan & instalasi

Gunakan terminal distribusi Linux yang sudah tersedia. Tidak perlu memasang Linux hanya untuk membaca kursus; Windows memakai jalur PowerShell.

Praktik pertama

  1. pwd lalu ls.
  2. cd ke folder latihan.
  3. cat input/catatan.txt.
  4. Gunakan tanda kutip untuk path berspasi.
  5. Baca bantuan command --help untuk alat yang mendukung.

Hasil harapan

Folder dan file sesuai latihan.

Troubleshooting

Perintah Windows dan Bash berbeda. Jangan memakai sudo untuk masalah path atau nama file.

Tantangan & bukti

Tulis tiga pasangan perintah observasi PowerShell dan Bash yang setara secara tujuan.

Sumber resmi Bash ↗

T12

Termux

Lingkungan terminal Android; kompatibilitas belum diuji

Persiapan & instalasi

Gunakan petunjuk distribusi resmi termux.dev. Sumber instalasi dapat berubah; baca petunjuk terbaru. Dukungan Android dan paket berbeda dari Linux desktop.

Praktik pertama

  1. Pada instalasi yang didukung jalankan pkg update.
  2. Pasang Python dengan pkg install python sesuai repositori Termux.
  3. Buat folder latihan di home aplikasi.
  4. Jalankan server aman lalu akses loopback dari browser perangkat yang sama.
  5. Hentikan dengan Ctrl+C.

Hasil harapan

Jika kompatibel, /health mengembalikan status ok.

Troubleshooting

Android dapat menghentikan proses latar dan membatasi storage. Burp/ZAP desktop tidak dianggap kompatibel. Alur ini belum diuji pada perangkat nyata.

Tantangan & bukti

Catat versi Android, Termux, Python serta hasil aktual; jangan mengklaim kompatibilitas umum.

Sumber resmi Termux ↗

T13

VSCodium

Editor kode

Persiapan & instalasi

Unduh VSCodium dari proyek resmi sesuai OS. Editor teks lain juga cukup; akun dan ekstensi tidak diperlukan.

Praktik pertama

  1. Open Folder hanya direktori CyberKit latihan.
  2. Buka server_aman.py tanpa mengubah.
  3. Cari string 127.0.0.1.
  4. Buka template laporan dan simpan salinan.
  5. Gunakan terminal eksternal jika belum memahami terminal editor.

Hasil harapan

Sumber bisa dibaca dan laporan disimpan tanpa mengubah lab.

Troubleshooting

Ekstensi dapat mengeksekusi kode. Jangan memasang ekstensi tidak dikenal atau membuka workspace tak tepercaya.

Tantangan & bukti

Bandingkan fungsi rentan dan fixed dalam lab_web.py menggunakan fitur pencarian.

Sumber resmi VSCodium ↗

T14

7-Zip

Arsip berkas

Persiapan & instalasi

Pasang 7-Zip dari situs resmi jika memakai Windows. Ekstraksi bawaan OS juga boleh.

Praktik pertama

  1. Buka daftar isi CyberKit-public_html-v2.zip.
  2. Pastikan index.html berada pada akar arsip.
  3. Ekstrak ke folder kosong.
  4. Buka index.html.
  5. Ekstrak ZIP lab ke folder berbeda di luar public_html.

Hasil harapan

Website dan lab terpisah; tidak ada folder lab di ZIP upload.

Troubleshooting

Jika hasil bertingkat, pindahkan hanya isi folder publik ke public_html setelah memeriksa backup.

Tantangan & bukti

Jelaskan ZIP mana untuk hosting dan mana yang dilarang dihosting.

Sumber resmi 7-Zip ↗

T15

CyberChef

Transformasi data lokal; jangan masukkan rahasia

Persiapan & instalasi

Gunakan source resmi untuk versi lokal/offline bila diperlukan. Tidak wajib untuk kursus. Jangan masukkan data rahasia ke layanan pihak ketiga.

Praktik pertama

  1. Gunakan teks fiktif Halo CyberKit.
  2. Pilih operasi To Base64.
  3. Simpan hasil contoh lalu decode dengan From Base64.
  4. Bandingkan teks awal dan akhir.
  5. Catat bahwa encoding tidak memberi kerahasiaan.

Hasil harapan

Teks fiktif pulih setelah decode.

Troubleshooting

Nama operasi dan paket lokal dapat berubah; ikuti README proyek. Internet tidak diperlukan jika versi lokal sudah tersedia.

Tantangan & bukti

Bandingkan base64 biasa dan base64url secara konsep, tanpa memproses token nyata.

Sumber resmi CyberChef ↗

T16

jq

Membaca JSON di terminal

Persiapan & instalasi

Unduh jq dari jqlang.org atau paket resmi OS. Opsional; Python json.tool dapat dipakai sebagai alternatif.

Praktik pertama

  1. Buat profile.json berisi {"id":1,"name":"Alice Demo"}.
  2. Jalankan jq . profile.json.
  3. Jalankan jq .name profile.json.
  4. Ubah JSON menjadi tidak valid lalu amati parse error.
  5. Pulihkan file.

Hasil harapan

Nama Alice Demo ditampilkan, JSON malformed menghasilkan error.

Troubleshooting

Shell quoting berbeda antar OS; contoh ini membaca file untuk mengurangi kerumitan escape.

Tantangan & bukti

Bandingkan key JSON API vulnerable/fixed menggunakan file hasil yang Anda simpan sendiri.

Sumber resmi jq ↗

T17

OpenSSL

Mempelajari TLS dan sertifikat

Persiapan & instalasi

Gunakan distribusi resmi OS atau sumber yang ditunjuk proyek OpenSSL. Tidak perlu untuk menjalankan website atau lab HTTP ini.

Praktik pertama

  1. Cek openssl version.
  2. Buat file catatan fiktif.
  3. Jalankan openssl dgst -sha256 catatan.txt.
  4. Ubah satu karakter dan ulangi.
  5. Jelaskan hash bukan enkripsi dan bukan bukti asal tanpa mekanisme tambahan.

Hasil harapan

Digest berubah ketika isi file berubah.

Troubleshooting

Jika executable tidak tersedia, gunakan Python hashlib; jangan mengunduh binary dari sumber tak jelas.

Tantangan & bukti

Catat hash arsip untuk pemeriksaan integritas saat transfer; jangan menyamakannya dengan tanda tangan.

Sumber resmi OpenSSL ↗

T18

SQLite

Belajar basis data lokal; tidak dibutuhkan website ini

Persiapan & instalasi

Tidak perlu memasang CLI untuk lab: modul sqlite3 termasuk Python umum. CLI opsional tersedia di sqlite.org. Database publik tidak digunakan.

Praktik pertama

  1. Baca fungsi search di lab_web.py.
  2. Temukan sqlite3.connect(":memory:").
  3. Jalankan python test_lab.py untuk kasus query.
  4. Bandingkan konkatenasi dengan placeholder ?.
  5. Restart proses untuk memastikan tidak ada database persisten.

Hasil harapan

Tiga produk dibuat di memori tiap pencarian; tidak ada file database yang dibutuhkan.

Troubleshooting

Jika Python build tidak menyertakan sqlite3, gunakan distribusi Python resmi; jangan menambahkan database pada hosting sebagai pengganti.

Tantangan & bukti

Tulis query parameterisasi sederhana pada file latihan terpisah.

Sumber resmi SQLite ↗

T19

OWASP WSTG

Panduan pengujian keamanan

Persiapan & instalasi

Panduan daring gratis dari OWASP, bukan alat yang perlu instal atau akun. Versi dokumen dapat berbeda; catat URL dan tanggal baca.

Praktik pertama

  1. Buka halaman proyek WSTG.
  2. Pilih topik input validation atau authorization.
  3. Tuliskan tujuan pengujiannya dengan kata sendiri.
  4. Petakan satu kasus ke lab lokal.
  5. Tandai topik yang belum dicakup lab ini.

Hasil harapan

Satu kasus uji tertaut ke referensi dan scope lokal.

Troubleshooting

Jangan menganggap seluruh WSTG sudah tercakup oleh 40 pelajaran. Panduan tidak memberi izin menguji target.

Tantangan & bukti

Susun rencana audit lima kasus dengan referensi dan hasil aktual.

Sumber resmi OWASP WSTG ↗

T20

CVE

Katalog identitas kerentanan

Persiapan & instalasi

Katalog resmi cve.org dapat dibaca tanpa akun. Tidak perlu memasang scanner atau menjalankan exploit.

Praktik pertama

  1. Cari satu identitas CVE publik.
  2. Baca deskripsi, status dan referensi vendor.
  3. Catat produk serta versi yang disebut.
  4. Pisahkan fakta dari asumsi dampak pada lingkungan sendiri.
  5. Catat tanggal baca dan URL advisory.

Hasil harapan

Ringkasan bersumber tanpa klaim kerentanan yang belum diverifikasi.

Troubleshooting

Entri dapat diperbarui atau ditolak; periksa status dan advisory vendor terbaru.

Tantangan & bukti

Bedakan CVE, CWE, advisory vendor, dan prioritas perbaikan lokal.

Sumber resmi CVE ↗