Di dunia hosting dan administrasi server, cPanel dan WHM adalah nama yang pasti akrab di telinga. Kedua platform ini menyediakan antarmuka yang memudahkan pengelolaan server web. Namun, seperti perangkat lunak lainnya, mereka juga bisa memiliki celah keamanan. Salah satu yang cukup menarik perhatian adalah kerentanan otentikasi bypass yang dilacak dengan kode CVE-2026-41940. Nah, untuk mendeteksi kerentanan ini secara efisien, hadir sebuah alat bernama cpanel2shell-scanner.
Mengapa alat ini penting? Banyak scanner publik yang beredar ternyata memiliki masalah. Mereka sering menghasilkan false-negative, alias melaporkan sistem aman padahal sebenarnya rentan. Selain itu, ada juga mekanisme keamanan bawaan cPanel seperti penguncian akun (cphulkd) dan daftar putih IP untuk root (authorized_whm_root_ips) yang bisa mengganggu proses scanning naif. cpanel2shell-scanner dirancang khusus untuk mengatasi ketiga masalah ini.
Menyelami Cara Kerja cpanel2shell-scanner
Alat ini tidak hanya memeriksa port manajemen standar seperti 2082, 2083, 2086, atau 2087. Ia juga secara cerdik memeriksa jalur proxy yang dikonfigurasi di Apache oleh cPanel. Jalur seperti /___proxy_subdomain_whm dan /___proxy_subdomain_cpanel dapat mengarahkan lalu lintas ke backend yang sama, meskipun port manajemen utamanya diblokir firewall. Jadi, scanner ini memeriksa port-port umum PLUS jalur proxy di port 443.
Selanjutnya, bagaimana ia menghindari blokir dari cphulkd atau authorized_whm_root_ips? Untuk WHM, scanner ini menyuntikkan payload expired=1 ke dalam data sesi dengan menggunakan username acak. Verifikasinya dilakukan dengan mengunjungi URL sesi yang dihasilkan dan mencari kode msg_code:[expired_session] dalam respons. Karena tidak ada akun nyata yang ditargetkan dan tidak ada upaya login root yang dilakukan, mekanisme keamanan tersebut tidak terpicu.
Untuk sisi cPanel, yang mengharuskan username terdaftar di disk, scanner ini menggunakan daftar kata kunci (wordlist) username umum. Jika di sisi WHM menggunakan username acak, di sisi cPanel ia akan mencoba username dari wordlist. Jika salah satu upaya berhasil, ia akan tahu bahwa server tersebut rentan.
Proses deteksinya secara umum meliputi:
- Mengirim permintaan GET ke
/logindan membaca headerSet-Cookieuntuk mendapatkan nama sesi (WHM atau cPanel). - Mengirim permintaan GET ke
/dengan headerAuthorization: Basicyang berisi<user>:\xff\nexpired=1. Bagian\nexpired=1ini adalah kunci penyuntikan sesi. - Membaca header
Locationdari respons untuk mengekstrak tokencpsessXXXX. - Mengirim permintaan GET ke
/<cpsessXXXX>/dengan cookie asli dan memeriksa apakah respons body berisimsg_code:[expired_session]. Jika ya, berarti penyuntikan berhasil dan host terdeteksi rentan.
Instalasi dan Penggunaan yang Mudah
Bagi Anda yang tertarik untuk mencoba, instalasi cpanel2shell-scanner cukup mudah. Anda memerlukan Python versi 3.8 atau lebih baru.
Instalasi
bashpip install -r requirements.txt
Penggunaan Dasar
Untuk memindai satu target:
bashpython scanner.py example.com
Memindai beberapa target sekaligus:
bashpython scanner.py host-a.example.com host-b.example.com:2083
Menggunakan daftar target dari file:
bashpython scanner.py -f targets.txt
Atau membaca target dari input standar:
bashcat targets.txt | python scanner.py
Beberapa opsi umum yang bisa Anda gunakan antara lain:
-uatau--users: Menentukan daftar username cPanel kustom.-Uatau--users-file: Menggunakan file berisi daftar username cPanel.-patau--ports: Menentukan port yang akan dipindai jika tidak ada port spesifik di target.-tatau--threads: Jumlah thread per target untuk memindai username.-catau--concurrency: Jumlah target yang dipindai secara paralel.-Tatau--timeout: Batas waktu per permintaan.-oatau--output: Menyimpan target yang rentan ke file.--json: Menghasilkan output dalam format JSON Lines.-qatau--quiet: Hanya menampilkan target yang rentan di stdout.
Catatan Keamanan
Penting untuk dicatat bahwa cpanel2shell-scanner dirancang dengan aman. Ia tidak login sebagai pengguna nyata, tidak mencoba eskalasi ke shell, dan tidak menargetkan akun root. Semua yang dilakukan scanner adalah untuk mengkonfirmasi keberhasilan penyuntikan sesi yang ditandai dengan msg_code:[expired_session], yang merupakan indikator standar dari sesi yang kedaluwarsa.
Kesimpulan
Bagi para administrator sistem dan profesional keamanan, cpanel2shell-scanner adalah alat yang sangat berguna untuk melakukan audit keamanan terhadap server cPanel/WHM. Kemampuannya untuk mendeteksi kerentanan CVE-2026-41940 secara akurat tanpa memicu mekanisme pertahanan server menjadikannya pilihan yang solid.
