Melawat URL yang mencurigakan secara langsung dari stesen kerja penyelidikan anda adalah melulu — lebih 70% halaman pendaratan berniat jahat mengecap IP yang menyambung dan sama ada menyajikan halaman yang tidak berbahaya atau menyekat permintaan sepenuhnya. Pengasingan proksi bukan pilihan; ia adalah asas untuk sebarang pengumpulan risikan ancaman yang boleh dipercayai. Tanpanya, anda menyerahkan netblock infrastruktur anda kepada musuh yang akan beralih untuk menyasarkan perkhidmatan dalaman anda dalam masa beberapa minit.
Mengapa Pelayaran Terus Gagal untuk Risikan Ancaman
Kit eksploitasi dan kit pancingan data moden menyemak REMOTE_ADDR terhadap senarai blok risikan ancaman, pangkalan data geolokasi, dan juga carian DNS terbalik. Sambungan terus dari ASN penyelidikan yang diketahui mencetuskan pengalihan ke halaman bersih atau 404. Lebih teruk, banyak kit menggunakan JavaScript untuk menghitung IP tempatan klien melalui kebocoran WebRTC (RFC 8834) — mendedahkan rangkaian sebenar anda walaupun di belakang VPN. Pengasingan proksi memutuskan rantai ini dengan menamatkan sambungan di perantara jauh yang tidak berkongsi reputasi infrastruktur anda. Proksi itu sendiri mesti boleh guna pakai: satu contoh awan sekali guna atau kolam proksi kediaman berputar. Proksi statik dari satu pembekal akan terbakar dalam beberapa hari.
Pengasingan Berlapis: Proksi + VM atau Kontena
Proksi sahaja tidak mencukupi jika pelayar membocorkan data melalui DNS, saluran sisi berasaskan masa, atau cap jari pelayar. Gabungkan proksi dengan VM atau kontena yang dibina khas tanpa storan kekal, tanpa pemasangan sistem fail hos, dan profil pelayar yang diringkaskan. Gunakan iptables pada kontena untuk memaksa semua laluan keluar melalui proksi dan menggugurkan semua trafik ke alamat RFC 1918. Contohnya, kontena Docker dengan --network none dan terowong SOCKS5 melalui ssh -D 1080 ke kotak lompat pakai buang. Ini menghalang pelayar daripada memintas proksi melalui WebSocket atau WebRTC — mod kegagalan biasa apabila hanya menggunakan tetapan proksi peringkat pelayar. VM atau kontena harus dimusnahkan selepas setiap sesi; syot kilat hanya boleh diterima jika anda membersihkan semua kuki, cache, dan localStorage.
Alatan: Burp Suite dengan Rantaian Proksi dan Pelayar Tanpa Kepala
Untuk analisis manual, rantaikan Burp Suite melalui proksi SOCKS5 (RFC 1928) dengan mengkonfigurasi User options > Connections > SOCKS Proxy kepada 127.0.0.1:1080 dan mendayakan Do DNS resolution via SOCKS proxy. Ini memaksa semua carian DNS melalui proksi, mengelakkan kebocoran DNS. Untuk pengumpulan automatik, ladang pelayar tanpa kepala menggunakan Puppeteer atau Playwright adalah standard. Di bawah adalah skrip Puppeteer minimum yang menghalakan semua trafik melalui proksi SOCKS5 dan melumpuhkan 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 berhati-hati: banyak pelayar tanpa kepala dapat dikesan melalui navigator.webdriver dan ketiadaan chrome.runtime. Gunakan puppeteer-extra-plugin-stealth atau tampalan senyap terbina dalam Playwright untuk mengurangkan cap jari. Walaupun begitu, kit canggih mengesan Chrome tanpa kepala dengan memeriksa ketiadaan sifat window.chrome atau panjang navigator.plugins yang tidak normal. Satu-satunya langkah balas yang boleh dipercayai adalah menjalankan pelayar penuh (bukan tanpa kepala) dalam VM dengan pemacu paparan sebenar — tetapi itu tidak berskala dengan baik.
Alternatif kepada urlscan.io untuk Analisis Dihoskan Sendiri
urlscan.io adalah mudah tetapi berkongsi metadata imbasan anda dengan komunitinya dan mencatat IP anda. Untuk penyiasatan sensitif, hoskan sendiri platform tangkapan. PhantomJS sudah mati; gunakan Playwright dengan pencatat HAR tersuai dan contoh mitmproxy tempatan. mitmproxy (--mode socks5 --listen-port 8080) merekod semua pasangan permintaan/tindak balas dan membenarkan pengubahsuaian dalam talian bagi pengepala atau respons. Gandingkannya dengan wireshark untuk analisis PCAP. Pilihan lain ialah ThreatPinch Lookup — sambungan Chrome yang menanyakan suapan risikan ancaman tempatan — tetapi ia bukan penyelesaian pengasingan penuh. Untuk imbasan pukal, gunakan PhishingKitTracker atau skrip Python tersuai menggunakan requests dengan senarai proksi berputar dari proxybroker. Pertukarannya: sistem dihoskan sendiri memerlukan penyelenggaraan kolam proksi dan profil pelayar, tetapi ia memberi anda kawalan penuh ke atas pengekalan data dan mengelakkan kebocoran sasaran penyiasatan anda kepada pihak ketiga.