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
- Buka terminal pada direktori lab.
- Jalankan python server_aman.py dengan interpreter yang berhasil.
- Buka /health di browser.
- 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
- Buat direktori latihan sendiri dan git init.
- Atur user.name dan user.email lokal seperti F09.
- Tambah satu file dengan git add, commit, lalu ubah isinya.
- 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
- Mulai server_aman.py.
- Jalankan nmap -sT -p 8000 127.0.0.1.
- Hentikan server dan jalankan perintah yang sama.
- 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
- Buka /health di Firefox.
- Tekan F12 atau menu More tools > Web Developer Tools.
- Pilih Network lalu reload.
- 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
- Buka lab lalu DevTools.
- Pilih Network sebelum reload.
- Amati Request URL, status dan Response.
- 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
- Proxy > Open browser pada browser latihan bawaan.
- Pastikan Intercept off.
- Buka http://127.0.0.1:8000/health.
- HTTP history: kirim request itu ke Repeater, lalu Send.
- 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
- Jalankan ZAP dan pilih mode Safe untuk observasi.
- Gunakan browser yang diluncurkan dari ZAP bila tersedia.
- Buka lab loopback /health.
- Lihat History dan detail request/response.
- 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
- Pilih antarmuka loopback yang tersedia.
- Mulai capture singkat.
- Akses server aman sekali.
- Hentikan capture segera lalu pakai display filter tcp.port == 8000.
- 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
- Mulai server aman.
- Jalankan curl.exe -i "http://127.0.0.1:8000/health" pada Windows atau curl -i di Linux.
- Bandingkan header dan body.
- 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
- Get-Location untuk memeriksa folder.
- Get-ChildItem untuk daftar file.
- Get-Content input/catatan.txt untuk membaca.
- Gunakan tanda kutip pada path berspasi.
- 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
- pwd lalu ls.
- cd ke folder latihan.
- cat input/catatan.txt.
- Gunakan tanda kutip untuk path berspasi.
- 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
- Pada instalasi yang didukung jalankan pkg update.
- Pasang Python dengan pkg install python sesuai repositori Termux.
- Buat folder latihan di home aplikasi.
- Jalankan server aman lalu akses loopback dari browser perangkat yang sama.
- 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
- Open Folder hanya direktori CyberKit latihan.
- Buka server_aman.py tanpa mengubah.
- Cari string 127.0.0.1.
- Buka template laporan dan simpan salinan.
- 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
- Buka daftar isi CyberKit-public_html-v2.zip.
- Pastikan index.html berada pada akar arsip.
- Ekstrak ke folder kosong.
- Buka index.html.
- 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
- Gunakan teks fiktif Halo CyberKit.
- Pilih operasi To Base64.
- Simpan hasil contoh lalu decode dengan From Base64.
- Bandingkan teks awal dan akhir.
- 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
- Buat profile.json berisi {"id":1,"name":"Alice Demo"}.
- Jalankan jq . profile.json.
- Jalankan jq .name profile.json.
- Ubah JSON menjadi tidak valid lalu amati parse error.
- 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
- Cek openssl version.
- Buat file catatan fiktif.
- Jalankan openssl dgst -sha256 catatan.txt.
- Ubah satu karakter dan ulangi.
- 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
- Baca fungsi search di lab_web.py.
- Temukan sqlite3.connect(":memory:").
- Jalankan python test_lab.py untuk kasus query.
- Bandingkan konkatenasi dengan placeholder ?.
- 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
- Buka halaman proyek WSTG.
- Pilih topik input validation atau authorization.
- Tuliskan tujuan pengujiannya dengan kata sendiri.
- Petakan satu kasus ke lab lokal.
- 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
- Cari satu identitas CVE publik.
- Baca deskripsi, status dan referensi vendor.
- Catat produk serta versi yang disebut.
- Pisahkan fakta dari asumsi dampak pada lingkungan sendiri.
- 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 ↗