Defensive Research

Penelitian Ancaman Defensif: Mengunjungi URL Mencurigakan Melalui Isolasi Proxy

3 min read Published Updated 654 words

Mengunjungi URL mencurigakan langsung dari workstation riset Anda adalah tindakan ceroboh — lebih dari 70% halaman arahan berbahaya melakukan sidik jari terhadap IP yang terhubung dan kemudian menyajikan halaman yang tidak berbahaya atau memblokir permintaan sepenuhnya. Isolasi proksi bukanlah opsi; ini adalah dasar dari setiap pengumpulan intelijen ancaman yang kredibel. Tanpanya, Anda menyerahkan netblock infrastruktur Anda kepada musuh yang akan beralih untuk menargetkan layanan internal Anda dalam hitungan menit.

Mengapa Penjelajahan Langsung Gagal untuk Intelijen Ancaman

Kit eksploitasi modern dan kit phishing memeriksa REMOTE_ADDR terhadap daftar blokir intelijen ancaman, basis data geolokasi, dan bahkan pencarian DNS terbalik. Koneksi langsung dari ASN riset yang dikenal akan memicu pengalihan ke halaman bersih atau 404. Lebih buruk lagi, banyak kit menggunakan JavaScript untuk menghitung IP lokal klien melalui kebocoran WebRTC (RFC 8834) — mengekspos jaringan asli Anda bahkan di balik VPN. Isolasi proksi memutus rantai ini dengan mengakhiri koneksi di perantara jarak jauh yang tidak berbagi reputasi infrastruktur Anda. Proksi itu sendiri harus bersifat sekali pakai: instance cloud sekali pakai atau kumpulan proksi residensial bergilir. Proksi statis dari satu penyedia akan terbakar dalam hitungan hari.

Isolasi Berlapis: Proksi + VM atau Kontainer

Proksi saja tidak cukup jika browser membocorkan data melalui DNS, saluran samping berbasis waktu, atau sidik jari browser. Gabungkan proksi dengan VM atau kontainer yang dirancang khusus tanpa penyimpanan persisten, tanpa pemasangan sistem file host, dan profil browser yang ramping. Gunakan iptables pada kontainer untuk memaksa semua lalu lintas keluar melalui proksi dan menjatuhkan semua lalu lintas ke alamat RFC 1918. Misalnya, kontainer Docker dengan --network none dan terowongan SOCKS5 melalui ssh -D 1080 ke dalam jump box sekali pakai. Ini mencegah browser melewati proksi melalui WebSocket atau WebRTC — mode kegagalan umum saat hanya menggunakan pengaturan proksi tingkat browser. VM atau kontainer harus dihancurkan setelah setiap sesi; snapshot hanya dapat diterima jika Anda membersihkan semua cookie, cache, dan localStorage.

Peralatan: Burp Suite dengan Rantai Proksi dan Browser Tanpa Kepala

Untuk analisis manual, rantai Burp Suite melalui proksi SOCKS5 (RFC 1928) dengan mengonfigurasi User options > Connections > SOCKS Proxy ke 127.0.0.1:1080 dan mengaktifkan Do DNS resolution via SOCKS proxy. Ini memaksa semua pencarian DNS melalui proksi, menghindari kebocoran DNS. Untuk pengumpulan otomatis, farm browser tanpa kepala menggunakan Puppeteer atau Playwright adalah standar. Di bawah ini adalah skrip Puppeteer minimal yang merutekan semua lalu lintas melalui proksi SOCKS5 dan menonaktifkan WebRTC:

const puppeteer = require('puppeteer');
const proxy = 'socks5://127.0.0.1:1080';

const browser = await puppeteer.launch({
  args: [
    `--proxy-server=${proxy}`,
    '--disable-webrtc',
    '--no-sandbox',
    '--disable-setuid-sandbox'
  ]
});
const page = await browser.newPage();
await page.authenticate({ username: 'user', password: 'pass' });
await page.goto('http://malicious.example', { waitUntil: 'networkidle0' });
// Capture screenshot, HAR, DOM snapshot
await page.screenshot({ path: 'screenshot.png' });
await browser.close();

Pendekatan ini berfungsi, tetapi waspadalah: banyak browser tanpa kepala dapat dideteksi melalui navigator.webdriver dan tidak adanya chrome.runtime. Gunakan puppeteer-extra-plugin-stealth atau patch siluman bawaan Playwright untuk mengurangi sidik jari. Meskipun demikian, kit canggih mendeteksi Chrome tanpa kepala dengan memeriksa properti window.chrome yang hilang atau panjang navigator.plugins yang tidak normal. Satu-satunya tindakan pencegahan yang andal adalah menjalankan browser penuh (bukan tanpa kepala) di VM dengan driver tampilan nyata — tetapi itu tidak berskala dengan baik.

Alternatif untuk urlscan.io untuk Analisis yang Di-host Sendiri

urlscan.io memang nyaman tetapi membagikan metadata pemindaian Anda dengan komunitasnya dan mencatat IP Anda. Untuk investigasi sensitif, host sendiri platform penangkapan. PhantomJS sudah mati; gunakan Playwright dengan pencatat HAR kustom dan instance mitmproxy lokal. mitmproxy (--mode socks5 --listen-port 8080) mencatat semua pasangan permintaan/respons dan memungkinkan modifikasi langsung header atau respons. Padukan dengan wireshark untuk analisis PCAP. Opsi lain adalah ThreatPinch Lookup — ekstensi Chrome yang meminta umpan intelijen ancaman lokal — tetapi ini bukan solusi isolasi penuh. Untuk pemindaian massal, gunakan PhishingKitTracker atau skrip Python kustom menggunakan requests dengan daftar proksi bergilir dari proxybroker. Pertukarannya: sistem yang di-host sendiri memerlukan pemeliharaan kumpulan proksi dan profil browser, tetapi memberi Anda kendali penuh atas penyimpanan data dan menghindari kebocoran target investigasi Anda ke pihak ketiga.