WHATWEB LAB
SIMULATOR WEB FINGERPRINTING KALI LINUX - 7 TARGET VIRTUAL LAB - 100% OFFLINE
FINGERPRINT TERMINAL
PANEL MISI
LANGKAH DICEK OTOMATIS SAAT KAMU MENGETIK
DAFTAR TARGET
7 SITUS VIRTUAL LAB - IDENTITAS SEJATI TERUNGKAP SAAT BERHASIL KAMU PEKSA
DAFTAR MISI
8 MISI - TOTAL 480 XP. ALUR: SCAN DASAR -> VERBOSE -> CMS -> AGRESI 3 -> AUDIT PENUH.
KUIS WHATWEB
10 SOAL ACAK - 15 DETIK PER SOAL - TOMBOL 1-4 UNTUK MENJAWAB
MATERI WEB FINGERPRINTING
8 MODUL - DARI KONSEP RECON SAMPAI ETIKA. KLIK UNTUK MEMBUKA.
WhatWeb adalah alat web fingerprinting open-source (Andrew Horton) yang mengidentifikasi teknologi yang menjalankan sebuah situs: CMS (WordPress, Joomla, Drupal), web server (nginx, Apache, IIS), bahasa (PHP, ASP.NET), framework, library JavaScript, CDN, sampai alamat email yang tertulis di halaman.
Posisinya dalam fase pengujian: setelah kamu tahu HOST hidup (nmap/ping), WhatWeb menjawab apa yang menjalankan situsnya - data ini menentukan vektor audit berikutnya. Situs WordPress diaudit beda dari Joomla; server nginx punya set kelemahan berbeda dari IIS.
| ALAT | DOMEN | PERTANYAAN YANG DIJAWAB |
|---|---|---|
| nmap | Jaringan / port | Host hidup? Port apa terbuka? |
| whatweb | Aplikasi web | Teknologi apa di balik situs ini? |
| wireshark | Paket | Apakah persis yang dikirim/diterima? |
Kenapa ringan: WhatWeb pada agresi 1 hanya mengirim SATU request HTTP GET biasa seperti browser - lalu MENGANALISIS responsnya (header, body HTML, meta tag). Tidak brute force, tidak exploit. Pada agresi lebih tinggi ia menambah probe ke path umum (mis. /wp-content) - tetap membaca, bukan menyerang.
Etika: karena tetap mengirim request ke server orang lain, aturan yang sama berlaku: situs sendiri atau berizin. Simulator ini memeriksa situs virtual - nol request ke dunia nyata.
Situs web "berbicara" tentang dirinya di banyak tempat. WhatWeb membaca semua sumber ini dari SATU respons:
| SUMBER | CONTOH | MENGUNGKAP |
|---|---|---|
| Header Server | Server: nginx/1.18.0 | Web server + versi |
| Header X-Powered-By | X-Powered-By: PHP/8.1 | Bahasa + versi |
| Header Set-Cookie | Set-Cookie: wp-settings-1 | WordPress |
| Meta generator | <meta name="generator" content="Joomla! 5"> | CMS + versi |
| Path aset | /wp-content/themes/... | WordPress + tema |
| Tag & struktur | <script src="jquery.min.js"> | jQuery, framework JS |
| Title & teks | <title>HP LaserJet</title> | Perangkat/aplikasi |
| mailto di body | mailto:admin@lab.id | Email kontak (osint) |
Pelajaran penting: mayoritas informasi ini DIKIRIM SECARA SUKARELA oleh server ke SEMUA pengunjung - termasuk penyerang. Karena itu "security by obscurity" (sembunyikan versi) hanya lapisan tipis: mengganti banner Server mudah, tapi jejak wp-content, cookie, dan struktur HTML jauh lebih sulit disembunyikan tanpa merusak fungsionalitas.
Implikasi defensif: jalankan whatweb ke situsmu sendiri - hasilnya adalah "kata-kata yang situsmu ucapkan ke penyerang". Setiap versi terlihat = CVE yang bisa dicari. Itu target perbaikan: update, atau minimalkan pemaparan.
Format baris default WhatWeb:
http://srv-web.lab [200 OK] Country[INDONESIA][ID], HTTPServer[nginx/1.18.0], IP[192.168.10.10], JQuery[3.7.1], Open-Graph[website], PHP[8.1.2], Title[TKJ Portal], WordPress, X-Frame-Options[SAMEORIGIN]
Anatomi: URL -> [status HTTP] -> daftar plugin ditemukan, diurut abjad, masing-masing dengan nilai dalam kurung siku bila ada.
- Plugin tanpa nilai (mis.
WordPress) = kehadiran terdeteksi, tanpa versi - Plugin dengan nilai (mis.
PHP[8.1.2]) = detail: versi, string, lokasi - Status bukan 200 = [301 Moved Permanently], [404 Not Found] - tetap ber informasi (redirect menunjuk domain asli, 404 bisa berarti path salah)
Dengan -v (verbose), output berubah menjadi laporan per situs: judul situs, IP, ringkasan plugin, lalu satu blok detail per plugin - termasuk buktinya ("String: ...", lokasi di header/body). Ini yang kamu lampirkan di laporan audit karena menunjukkan DASAR kesimpulan.
Kolom yang paling bernilai bagi auditor:
- HTTPServer + PHP/versi -> cari CVE versi lama
- WordPress/Joomla/Drupal -> audit plugin & tema CMS
- Email -> osint kontak, rawan phishing
- Plugin keamanan header (X-Frame-Options, X-XSS-Protection) -> ada/tidaknya = status hardening
-a N mengatur SEBERAPA JAUH WhatWeb menyelidiki:
| LEVEL | NAMA | AKSI | RISIKO |
|---|---|---|---|
| -a 1 (default) | Stealth | Satu GET biasa - hanya dari respons halaman utama | Setara satu kunjungan browser |
| -a 2 | Unused | Dicadangkan (belum dipakai) | - |
| -a 3 | Aggressive | + Probe path umum per-plugin: /wp-content, /administrator, /robots.txt | Beberapa request tambahan - pola mulai terlihat di log |
| -a 4 | Heavy | + Semua probe agresif semua plugin | Puluhan request - jelas terlihat IDS/log |
Trade-off intinya: agresi 1 = senyap tapi info terbatas (headers/title saja); agresi 3+ = jauh lebih lengkap (menemukan CMS yang tidak mengumumkan diri di halaman depan) tapi meninggalkan jejak lebih banyak.
Contoh nyata di lab: whatweb http://srv-web.lab level 1 menemukan nginx + title. Tambahkan -a 3 -> WhatWeb mem-probe /wp-content -> ternyata ada WordPress di dalamnya: CMS tersembunyi terbuka.
Prinsip memilih level: mulai selalu dari 1. Naik ke 3 hanya bila: target milikmu/berizin DAN info dari level 1 belum cukup. Level 4 hanya untuk lab uji milik sendiri. Naikkan agresi = naikkan jejak = naikkan tanggung jawab.
WhatWeb punya 1800+ plugin. Yang paling sering muncul (dan keluar di ujian):
| KATEGORI | CONTOH | ARTI BAGI AUDITOR |
|---|---|---|
| Web server | nginx, Apache, IIS, LiteSpeed, cloudflare | Config hardening, CVE server |
| Bahasa | PHP, ASP.NET, Java | CVE runtime, kualitas kode |
| CMS | WordPress, Joomla, Drupal | Plugin/tema = permukaan serangan terbesar |
| Framework JS | jQuery, React, Vue, Bootstrap | Versi jQuery lama = XSS berantai |
| Panel & perangkat | Synology DSM, MikroTik WebFig, HP Jetdirect | Perangkat default = target favorit |
| CDN/WAF | CloudFlare, Sucuri | IP asli mungkin tersembunyi - waf aktif |
| Keamanan header | X-Frame-Options, HSTS, CSP | Ada = hardening; tidak ada = temuan |
| OSINT | Email, Google-Analytics, Open-Graph | Kontak untuk phishing (defensif: kelola pemaparan) |
Cara membaca stack secara cerdas: satu situs WordPress + PHP 7.4 + jQuery 1.12 + tanpa HSTS = cerita lengkap: CMS populer, runtime tua (EOL), library berumur dengan XSS diketahui, tanpa header keamanan modern. Empat fakta -> prioritas perbaikan jelas.
Perangkat jaringan di web: menemukan Synology DSM atau WebFig MikroTik ter-expose ke internet adalah temuan tersendiri - panel manajemen seharusnya tidak mencapai WAN (ingat pelajaran MikroTik: batasi winbox/webfig via address list).
Setiap teknologi yang dikenali WhatWeb adalah sebuah plugin - skrip Ruby berisi pola pencocokan:
- matches: teks/hash di body, header tertentu, meta tag, cookie, path yang harus diprobe
- versi: regex penangkap nomor versi (mis. dari "PHP/8.1.2" ambil 8.1.2)
- aggressive path: URL yang diprobe hanya di -a 3+ (mis. WordPress mem-probe /wp-content/)
Perintah pengelolaan plugin:
whatweb --list-plugins- daftar semua plugin terpasangwhatweb --info-plugins- detail + deskripsi tiap pluginwhatweb -p WordPress,PHP target- jalankan HANYA plugin tertentu (cepat, fokus)whatweb -p +plugins-less target- semua kecuali tertentu
Kenapa -p berguna: scan 1800 plugin ke ratusan situs = lambat. Saat audit massal hanya butuh satu pertanyaan ("siapa saja yang pakai PHP 7?"), seleksi plugin mempercepat ribuan kali.
Menulis plugin sendiri adalah langkah lanjutan yang bagus: cari string unik di aplikasi internal sekolah (mis. "SIAKAD TKJ v2") -> buat plugin -> sekarang seluruh instance aplikasi internal bisa ditemukan di jaringan. Itu kontribusi nyata ke proyek open-source.
Kekuatan terbesar WhatWeb bagi murid TKJ: melihat situs sendiri dengan mata penyerang. Checklist pengurangan paparan:
- Sembunyikan versi detail: nginx:
server_tokens off;| Apache:ServerTokens Prod| PHP:expose_php = Off. Hasil: HTTPServer[nginx] tanpa angka versi. - Buang meta generator: tema WordPress/Joomla sering menuliskan versi CMS di <head>. Hapus via theme/function - satu baris, satu informasi lebih sedikit untuk penyerang.
- Kelola header keamanan: targetkan WhatWeb menunjukkan X-Frame-Options, HSTS, CSP - tanda hardening, bukan ketiadaan.
- Sembunyikan panel perangkat: WebFig/DSM/Jetdirect tidak boleh ter-expose ke WAN - batasi IP (pelajaran MikroTik) atau VPN.
- Email di halaman publik: pertimbangkan form kontak atau alias - mengurangi panen email untuk phishing.
Ritual audit berkala: whatweb situs sendiri (1x bulan) -> bandingkan dengan sebelumnya -> setiap informasi BARU yang muncul (versi, plugin, path) masuk daftar evaluasi. Situs yang "berbicara" makin sedikit = permukaan serangan makin kecil.
Batas jujur: menyembunyikan versi bukan perbaikan kerentanan - hanya menurunkan kebisingan. Update tetap raja; obscurity adalah bonus.
Seberapa "berat" WhatWeb bagi hukum? Agresi 1 setara satu kunjungan browser - informasinya memang publik bagi siapa pun yang membuka situs. TETAPI: otomatisasi pemindaian + menyimpan hasil + niat pengujian keamanan membuatnya masuk wilayah "pengujian tanpa izin" bila ditujukan ke situs orang lain. Aturannya sama dengan semua tool di seri ini: situse sendiri atau izin tertulis.
Tiga tingkat target yang sah:
- Situs/VM milikmu (lab VirtualBox, hosting pribadi) - bebas semua level agresi
- Situs lab sekolah - izin guru, jadwal yang disetujui, level pelan
- Target pihak ketiga - hanya dalam kontrak audit dengan Rules of Engagement
Praktik terukur saat audit resmi:
- 1. Kumpulkan URL dalam file list:
whatweb -i daftar.txt(input batch) - 2. Jalankan level 1 dulu ke semua -> ringkasan cepat
- 3. Pilih target menarik -> naikkan ke -a 3 -> verbose untuk bukti
- 4. Simpan output:
--log-brief hasil.txtdan--log-verbose detail.txt - 5. Laporkan: temuan + bukti (-v) + rekomendasi perbaikan
Jalan carier: web fingerprinting adalah langkah pertama setiap web pentest. Skill + disiplin dokumentasi di sini = fondasi eJPT/OSCP dan peran junior pentester/SOC.
TIPS RECON
10 TIPS BERJENJANG: BASIC -> INTER -> PRO.
FAQ WHATWEB
10 PERTANYAAN YANG PALING SERING MUNCUL DI KELAS & LAB TKJ.
nmap bekerja di lapisan jaringan/port: host hidup, port terbuka, versi layanan. WhatWeb bekerja di lapisan aplikasi web: CMS, framework, library, header HTTP, isi HTML. Saling melengkapi - nmap menemukan port 80 terbuka, whatweb mengungkap situsnya dijalankan WordPress 6 + PHP 8.1 di belakang nginx.
Karena banyak CMS tidak mengumumkan diri di halaman depan: meta generator dihapus tema, cookie khas tidak muncul untuk tamu. Identitasnya bocor lewat PATH (wp-content, /administrator) - dan path baru di-probe di aggression 3. Itulah kenapa hasil level 1 "bersih" belum berarti CMS tidak ada; naikkan agresi pada target berizin.
Karena versi + nama teknologi = kunci pencarian CVE. "nginx 1.18.0" bisa dicari di database kerentanan publik dalam 10 detik. Versi lama/EOL dengan celah diketahui adalah pintu masuk favorit. Bagi pemilik situs: versi yang terlihat = daftar tugas update; bagi auditor: versi tua = temuan terdokumentasi.
301 = Moved Permanently - situs pindah alamat (ikutkan ke URL baru untuk hasil lengkap). 404 = Not Found - path salah atau konten dihapus, tapi servernya tetap hidup dan identitasnya kadang tetap terbaca dari header. 403 = dilarang - sering menandakan ada sesuatu yang dilindungi di situ (menarik untuk dicatat, bukan dipaksa).
Cloudflare adalah CDN/proxy: request-mu diterima server Cloudflare, bukan server asli. IP yang terlihat adalah IP Cloudflare - IP asli origin disembunyikan (itulah salah satu manfaatnya bagi pemilik situs). Bagi auditor: waf/CDN aktif berarti pengujian harus memperhitungkan proteksi itu; pemindaian agresi bisa memicu blokir.
Tidak - itu hanya mengurangi kenyamanan penyerang mencari CVE. Kerentanan tetap ada meski versinya disembunyikan; penyerang tetap bisa memicunya dengan payload khas versi. Urutan yang benar: UPDATE dulu (menghilangkan kerentanan), sembunyikan versi sebagai bonus (menghilangkan petunjuk). Security by obscurity adalah lapisan tipis, bukan tembok.
WhatWeb membaca pola mailto: dan format email di body HTML - sering ada di halaman kontak/impressum. Risiko: daftar email adalah bahan utama kampanye phishing yang terarah. Bagi pemilik situs: pertimbangkan form kontak atau alias (info@), dan edukasi pengguna. Bagi auditor: catat sebagai pemaparan OSINT.
Level 1: hanya dari satu respons halaman utama - header (HTTPServer, X-Powered-By), title, cookie, meta, string di body. Level 3: ditambah probe path khas per plugin (/wp-content, /administrator, /misc/drupal.js, /robots.txt) - mengungkap CMS yang senyap, direktori yang ada, dan file khas. Naik dari 1 ke 3 sering menambah 3-10 plugin baru.
1) Situs latihan milikmu: pasang WordPress/Joomla di VM lalu whatweb -a 3 localhost; 2) situs pribadimu di hosting; 3) situs lab sekolah dengan izin guru; 4) aplikasi uji publik yang memang disediakan untuk latihan. Jangan memindai massal domain orang lain - volume + otomatisasi + niat audit membuatnya pelanggaran meski tiap request "ringan".
Ya - misi selesai, XP, jumlah situs yang pernah kamu periksa, dan skor kuis tersimpan di localStorage perangkat ini (prefix abr_wwb_). Tidak ada data yang dikirim ke mana pun - semua target, plugin, dan output adalah simulasi lokal di browser.