Nge-Print Meme di Kantor Orang

Nge-Print Meme di Kantor Orang - Kenapa saya sampai nulis ini? Karena ini pertama kalinya saya benar-benar nge-print sesuatu di kantor orang, dan saya sempat merasa seperti hacker di film-film. Itu aja sudah cukup jadi alasan untuk bikin tulisan.

Jujur, temuan ini hampir tidak masuk write-up karena “exploit”-nya di bagian akhir terasa terlalu sepele. Tapi saya butuh bukti masih hidup, jadi yaudah lah ya.

Ini bukan cerita “haha saya iseng di kantor orang”. Ya, ada sih dikit. Tapi intinya ini ada device di dalam trusted network, tidak pernah di-patch, tidak pernah dimonitor. Printer. Sebenarnya agak aneh sih, tapi justru karena itu “ngehek” printer jadi tulisan yang unik.

Kenapa Printer Jadi Easy Win

Kalau kita coba lihat dari sudut pandang network. Printer harus reachable dari hampir semua workstation, kalau tidak, tidak ada karyawan yang bisa nge-print. Jadi device printer ada di internal LAN, by design.

Sekarang kalau kita lihat dari sudut pandang “apakah device ini diperlakukan seperti server?”, hampir tidak pernah ada audit tentang siapa saja yang boleh berkomunikasi ke portnya. Printer dianggap furniture. Dan bagian paling serunya: payroll, kontrak, memo internal, lainnya yang terkait dokumen penting, semua bisa diprint lewat device itu, sering kali dalam bentuk cleartext.

Port 9100 menggunakan JetDirect/RAW. Buat koneksi TCP, lempar raw bytes (PCL, PostScript, atau file PDF) ke situ, ngeprint. Tidak ada handshake, tidak ada TLS default, tidak ada autentikasi. Kalau port-nya reachable, kita bisa nge-print. Ini bukan vulnerability pada printernya, ini memang cara kerja protokolnya.

Nge-print File di Kantor Orang

Saya diberi akses low-privilege biasa di kantor itu. Gimana cara masuknya, dll, out of scope untuk tulisan ini, jadi tidak perlu dibahas. Yang penting adalah titik awalnya: saya sudah berada di internal network, dan belum tahu apa saja yang hidup di segment tersebut. Dari situ saya mendapat punya akses ke /24.

Siapa saja yang aktif? Sekarang cek apa saja yang hidup di range tersebut. Ada beberapa workstation, beberapa server, dan device standar lainnya. Saya juga menjalankan port scan ke semua IP aktif sekaligus menggunakan Nessus. Satu host menarik perhatian; reverse lookup name-nya mengandung pola .intra.. Host tersebut merespons ping, tapi tidak ada port umum yang terbuka.

Hasil 1 Hasil 2

Saya juga menemukan beberapa IP lain yang menjalankan Xerox Printer Control Panel, dan berhasil masuk ke admin panel-nya menggunakan default credentials. Itu temuan terpisah, tidak terkait dengan tulisan ini.

3

Bagian Nge-print-nya

Dan bagian ini yang sebenarnya terasa biasa aja. JetDirect menerima apapun yang kita kirim, lalu langsung di-print. Itu saja intinya.

Saya membuat satu file PDF, harmless — pentest.pdf, ada watermark besar “Aktivitas Pentest blabla”, jelas bukan dokumen milik siapa-siapa, lalu dikirim ke port lewat raw socket:

4

Masalahnya, ada banyak device printer di lantai tempat saya pentest, hampir di setiap sudut ruangan. Saya tidak tahu IP mana milik printer yang mana. Jadi saya asal pilih satu IP, tembak PDF-nya, lalu jalan keliling untuk mencari printer mana yang saya hit.

5

Tidak perlu credentials. Tidak ada exploit chain. Tidak ada CVE yang bisa dicantumkan di laporan. Cuma koneksi TCP ke port. Biasa saja, sebenarnya.

Supaya tidak dianggap aneh-aneh: saya hanya nge-print file PDF test yang jelas ditandai sebagai aktivitas pentest, tidak ada pernah file penting, dan selalu minta izin ke PIC sebelum mengambil hasil print-nya. Jangan sampai saya dikira nge-print banyak file atau file aneh atau rusuh di kantor orang — takutnya saya tidak akan diajak lagi.

Penutup

Temuan seperti ini sebenarnya biasa saja, cuman sekali lagi, karena ini pertama kali saya merasa seperti heker di film-film, jadi saya dokumentasikan di sini. Kalau internal scope assessment tidak mencakup printer, IoT, dan “miscellaneous appliances” lainnya, berarti kemungkinan akan ada temuan seperti ini. Dan sebenarnya Untung buat saya, hehe.