Tools Pentest: Cheat-sheet lengkap penggunaan opsi pada WPScan

0



Bagi kalian yang sudah mengerti tentang pentest, pasti kalian pernah mendengar tentang WPScan. Atau mungkin kalian memang sudah tau mengenai tools yang satu ini. WPScan ini sangat populer di kalangan pentester dan bug hunter. Karna WordPress menjadi CMS paling populer dan paling banyak digunakan untuk membuat website, maka tools ini juga paling sering digunakan untuk memerika celah keamanannya. Sebelum menjelaskan cara penggunaan tools ini, lebih baik kita ketahui dulu apa sih itu WPScan?


Apa itu WPScan?


WPScan adalah WordPress Security Scanner, yaitu sebuah alat atau tools yang digunakan untuk memeriksa keamanan pada website WordPress.
Tool ini sangat populer di kalangan pentester, bug hunter, dan administrator web karena bisa menemukan berbagai jenis celah keamanan secara otomatis pada website yang menggunakan CMS WordPress.

Dengan menggunakan WPScan, kalian bisa langsung mendeteksi tema, versi, dan plugin apa yang di pakai oleh suatu website. Jika ada tema atau plugin yang belum di perbarui atau masih menggunakan versi lama, maka akan otomatis terdeteksi oleh tools ini. Selain versi, WPScan juga akan memberitahukan nama tema atau plugin apa yang rentan lengkap dengan kerentanan apa yang pernah terjadi.
Jadi, buat para admin website bisa langsung tau plugin apa saja yang belum di perbarui, sehingga mereka bisa langsung mengupdatenya untuk mengamankan website mereka.



Fungsi Utama WPScan


WPScan digunakan untuk melakukan pemindaian atau scanning terhadap instalasi WordPress dan mencari beberapa hal sebagai berikut:

1. Versi WordPress yang digunakan.

Untuk mendeteksi apakah memakai versi baru atau versi lama. Jika menggunakan versi lama WPScan akan memeriksa apakah versi tersebut memiliki kerentanan atau tidak. Jika rentan, maka akan menampilkan jenis kerentanannya.


2. Plugin dan tema (theme) yang terinstal, termasuk versinya

WPScan juga akan memeriksa, ada plugin apa dan apa versinya? Jika versinya belum update, maka WPScan juga akan memeriksa apakah plugin tersebut punya kerentanan sebelumnya.


3. User enumeration

Yaitu mencari daftar username yang ada di situs (biasanya lewat author archives). WPScan akan menampilkan username yang terdeteksi sebagai admin atau author.


4. Weak password detection

Yaitu mencoba login brute-force menggunakan daftar password umum. Misalnya dengan wordlist rockyou.txt


5. Konfigurasi dan informasi sensitif.

Misalnya seperti file wp-config.php yang bisa diakses publik, lalu direktori listing, atau file backup.



Contoh Penggunaan Dasar


1. Melakukan scan pada situs WordPress.


wpscan --url https://contohwebsite.com

Ini akan memeriksa apakah situsnya menggunakan WordPress atau tidak. Selain ini, kalian juga bisa memeriksanya menggunakan tools whatweb.


2. Menemukan daftar user


wpscan --url https://contohwebsite.com --enumerate u

Seluruh user yang terdeteksi, baik itu admin atau pun author akan di tampilkan.


3. Menemukan plugin dan vulnerability-nya


wpscan --url https://contohwebsite.com --enumerate p

Ini akan memeriksa ada plugin apa saja, versinya, termasuk kerentanannya.


4. Melakukan brute-force login


wpscan --url https://contohwebsite.com --usernames admin --passwords rocyou.txt



Kelebihan WPScan

- Memiliki database vulnerability resmi (WPVulnDB) yang selalu diperbarui.
- Mudah digunakan (CLI-based).
- Bisa digunakan untuk audit keamanan pribadi atau dalam proses penetration testing.



Opsi lengkap yang ada pada WPScan.


WPScan memiliki beberapa opsi, dari opsi dasar, target, dan opsi inti. Berikutan adalah penjelasannya:

1. Opsi dasar


--help # lihat ringkasan
--hh # help (lebih lengkap; lihat di Kali docs)
--version
--update # update local vulnerability DB / metadata


2. Opsi Target atau kontrol scanning


--url <URL>
Target utama ini wajib, karna jika tidak ada url nya, lalu apa harus diperiksa?:v 

--force
Paksa scan walau WPScan ragu itu WordPress atau bukan (non-standard paths).

--ignore-main-redirect
Jangan ikuti redirect utama.

--path <nama_path> atau --wp-content-dir, --wp-plugins-dir, --wp-themes-dir
Untuk menentukan lokasi wp-content/plugins/themes jika non-standar.


3. Enumeration (inti WPScan)


Gunakan --enumerate atau -e. Bisa beberapa nilai dipisah koma atau all.

Nilai umum dan arti:

u = Users (enumerate username).

Contoh : --enumerate u
Untuk memeriksa username


p, ap, vp = Plugins: p (all detected), ap (all plugins), vp (vulnerable plugins).

Contoh : --enumerate p
Untuk memeriksa plugin


t, at, vt — Themes: t (themes), at (all themes), vt (vulnerable themes).

Contoh : --enumerate t
Untuk memeriksa tema


tt = Timthumb files.

m = Media files.

cb = Config/backups (wp-config/backup files).

dbe = Database export files (db exports).

b = Backup files (umum).

all = semua mode enumerasi.


Contoh pengunaan:

$wpscan --url https://target.com --enumerate u,ap,vp,vt,tt,cb,dbe

Bisa gunakan 1 opsi atau banyak sekaligus tapi diberika koma agar WPScannya mengerti opsi apa saja yang ingin kalian jalankan.


4. API & Vulnerability DB


--api-token <TOKEN>

Token WPScan API untuk mengambil detail kerentanan (WPVulnDB). Tanpa token kamu masih bisa scan, tapi laporan kerentanan detail terbatas atau bahkan tidak bisa melakukan scanning.

Untuk mendapatkan token api, kalian bisa daftar dulu di website resminya wpscan. Jika sudah berhasil daftar, maka kalian akan diberikan api token yang bisa kalian gunakan untuk melakukan scanning di toolsnya.

Token bisa ditaruh juga di ~/.wpscan/cli_options.yml. 

--update
Update metadata/vuln DB lokal.



5. Brute-force (password testing)


-U, --usernames <user|file>
Username atau jalur file username. Jika tidak ada maka WPScan akan coba enumerate atau mencari user nya terlebih dahulu.


-P, --passwords <file>
File wordlist yang berisi password. Ini akan memeriksa satu password per baris.

Contoh isi wordlist.txt:
Admin
Password
Admin123
Password123
123456
Dan sebagainya..


--password-attack <wpscan|wp-login|xmlrpc>
Metode pengujian password; bisa pakai endpoint wp-login.php atau xmlrpc.php. Pilihan ini tergantung versi dari WPScan.


--exclude-usernames <string|regex>
Gunanya untuk mengecualikan username tertentu dari enumerasi/bruteforce.


--throttle <milliseconds>
Delay antar request. berguna untuk mengurangi beban atau bypass rate limit.


-t, --max-threads <N>
Jumlah thread atau concurrent requests.


--stop-on-success
Hentikan saat menemukan credential yang sukses.



Contoh aman (lambat):

wpscan --url https://target.com -U admin -P /path/rockyou.txt --throttle 2000

Ingat: gunakan hanya pada target yang kamu miliki izin untuk tes. 




6. Jaringan / proxy / evasion / TLS


--proxy <http://host:port>
Lewat Burp/Tor/proxy lain.


--random-user-agent
Pakai user agent acak.


--disable-tls-checks
Nonaktifkan pengecekan sertifikat. Ini berguna saat intercept melalui proxy.


--cookie <cookie-string>
Sertakan cookie pada request session auth atau bypass.


--header <"Header: value">
Tambah header HTTP custom.




7. Throttle, timeout, threads


--throttle <ms> = jeda antar request (ms).

-t, --max-threads <N> = maks concurrent threads. Isi N dengan nilai berupa angka.

--request-timeout <seconds> = timeout tiap request.



8. Output & reporting


--output <file> atau -o <file>
Simpan hasil scanning ke file.

Misalnya: -o output.txt


--format <cli|json|json_extended|xml|html>
Pilih format output (tersedia sesuai versi).


--verbose / -v
Output lebih detail/progres.


--no-banner
Sembunyikan banner atau welcome text.


--disable-color
Nonaktifkan pewarnaan terminal (berguna untuk logging).



Contoh:

wpscan --url https://target.com -e vp,vt --api-token TOKEN -o hasil.json --format json



9. Opsi debugging / forensic


--debug
Tampilkan debug info (request/response).

--trace / --verbose
Informasi lebih rinci (berguna saat troubleshooting).



10. Opsi tambahan & alias berguna


--stealthy
Alias di beberapa cheat-sheet ini adalah kombinasi --random-user-agent + passive detection (Periksa --hh di versimu). 

--ignore-ssl-errors
Mirip seperti --disable-tls-checks.

--skip-frontend
Beberapa versi mendukung skip checks tertentu (varies by version).




Contoh penggunaan praktis


1. Scan cepat & enumerate users:

wpscan --url https://example.com -e u --throttle 500


2. Scan plugin rentan (pakai API token):

wpscan --url https://example.com -e vp --api-token YOUR_TOKEN --plugins-detection mixed --output hasil.json --format json


3. Brute force username admin (slow & logged):

wpscan --url https://example.com -U admin -P /path/rockyou.txt --throttle 2500 --max-threads 1 --stop-on-success


4. Jalankan lewat Burp:

wpscan --url https://example.com --proxy http://127.0.0.1:8080 --disable-tls-checks





Peringatan:


Hanya scan/tes pada domain yang kamu miliki atau ada izin tertulis. Tanpa izin, ini ilegal. WPScan adalah alat audit, bukan alat untuk disalahgunakan. 

Gunakan --throttle, passive detection, dan --max-threads 1 bila menguji server produksi agar tidak memicu downtime.

Simpan token API di file konfigurasi dengan permission yang aman (chmod 600).

Simpan hasil scan dan lakukan tindakan mitigasi: update plugin, hapus plugin tak terpakai, ganti username default, aktifkan 2FA, limit login attempts, dll.



Kesimpulannya:

Dengan memahami dan menggunakan WPScan dengan bijak, kita bukan hanya belajar mencari celah keamanan, tetapi juga belajar bagaimana melindungi website kita sendiri dari serangan yang sama.



Sekian penjelasan dari saya.
Wassalamualaikum.

Post a Comment

0 Comments

Ada pertanyaan? Tulis di kolom komentar atau klik dibawah ini ...

Post a Comment (0)