osint · honeypot

Honeypot Live

Situs ini tidak memakai PHP, WordPress, phpMyAdmin, file .env, atau folder .git yang terbuka. Jadi siapa pun yang memintanya hampir pasti bot pemindai atau penyerang. Permintaan seperti itu dijawab dengan umpan palsu yang meyakinkan, berisi honeytoken yang bisa dilacak, diperlambat, lalu dianalisis: apa yang dicari, payload apa yang dikirim, teknik MITRE ATT&CK apa yang dipakai, seberapa berbahaya sumbernya, dan apakah rahasia palsu yang bocor dicoba dipakai.

Serangan live

Kejadian baru masuk real time lewat Server-Sent Events (cadangan: muat ulang tiap 10 detik). Semua waktu dalam WIB.

Halaman ini hanya menampilkan jaringan /24 (IPv4) atau /48 (IPv6), negara, dan ASN. IP lengkap, header, body permintaan, dan kredensial yang dikirim ke form palsu dicatat di log privat server dan tidak pernah ditampilkan. Banyak sumber adalah perangkat yang sudah disusupi atau pemindai riset (Censys, Shodan, dll.), jadi jangan menganggap pemilik jaringan sebagai pelaku.

live · polling

memuat data honeypot…

Coba sendiri

Buka salah satu jebakan di bawah ini. Kunjunganmu akan muncul di feed dalam beberapa detik dengan jaringan yang disamarkan, dan IP lengkapmu masuk log privat. Jangan ketik kata sandi asli di form login palsu: semua yang dikirim dicatat. Ingin melihat honeytoken bekerja? Buka /.env, salin DB_PASSWORD, lalu masuk ke /phpmyadmin/ sebagai portfolio_app dengan kata sandi itu.

Jebakan yang dipasang

Setiap jebakan menjawab seperti target sungguhan: login WordPress & phpMyAdmin palsu, isi .env, .git/config, .aws/credentials, wp-config.php.bak, dan dump SQL tiruan berisi honeytoken, webshell yang "menjalankan" perintah, atau halaman 403/404 ala Apache.

  • Umpan robots.txt

    Path yang hanya diumumkan sebagai Disallow di robots.txt. Crawler patuh tidak pernah membukanya.

    /admin-backup/
  • API internal palsu

    Alamat & kuncinya hanya ada di umpan (.env, dump SQL). Setiap kunjungan berarti rahasia palsu sudah dibaca dan sedang dicoba.

    /internal/api.php/internal/api.php?action=users
  • Repositori .git/.svn

    Folder version control yang bocor bisa berisi seluruh kode sumber, riwayat, dan kredensial.

    /.git/config/.git/HEAD/.svn/entries
  • File rahasia (.env)

    File konfigurasi berisi kata sandi database, kunci API, dan kredensial cloud.

    /.env/.env.production/.aws/credentials/.vscode/sftp.json
  • WordPress

    Halaman login, XML-RPC (brute force), enumerasi pengguna, dan plugin rentan.

    /wp-login.php/xmlrpc.php/wp-admin//wp-json/wp/v2/users
  • Panel database

    phpMyAdmin, Adminer, dan panel database lain yang sering dibiarkan terbuka.

    /phpmyadmin//pma//adminer.php
  • Webshell

    Mencari backdoor yang ditanam penyerang lain (alfa, wso, c99) untuk diambil alih.

    /alfa.php/wso.php/shell.php/c99.php
  • Eksploit CVE

    PHPUnit RCE, Laravel Ignition, Spring Actuator, router & VPN (Fortinet, Citrix, GPON, Boa).

    /vendor/phpunit/…/eval-stdin.php/cgi-bin/luci//actuator/env/boaform/admin/formLogin
  • Kebocoran konfigurasi

    phpinfo, server-status, docker-compose, .DS_Store, Swagger, dan endpoint debug.

    /phpinfo.php/server-status/docker-compose.yml/.DS_Store
  • File cadangan

    Arsip situs dan dump database (.zip, .sql, .tar.gz) yang lupa dihapus.

    /backup.zip/db.sql/site.tar.gz
  • Panel admin

    Halaman login admin, cPanel, Tomcat Manager, Jenkins, dan panel lain.

    /admin//administrator//manager/html/cpanel
  • Skrip lain

    File .php/.asp/.jsp/.cgi lain: situs ini tidak punya satu pun.

    /index.php/login.asp/test.cgi

Cara kerja

Dari permintaan pemindai sampai statistik di halaman ini.

  1. Cocokkan path

    proxy.ts mencocokkan setiap path dengan daftar pola jebakan (lib/honeypot.ts). Path asli situs, berkas CTF, dan live demo dikecualikan.

  2. Kenali serangan

    Path, query, body (maks. 8 KB), User-Agent, Referer, dan Cookie dicek untuk SQLi, XSS, RCE, Log4Shell, traversal, dan SSRF.

  3. Tanam & lacak

    Rahasia di umpan unik per sumber per hari dan bisa diverifikasi HMAC. Bila muncul lagi di permintaan mana pun, kebocoran & pemakaiannya dikaitkan.

  4. Jawab palsu

    Halaman tiruan tanpa JavaScript. Webshell, eksploit PHPUnit, API internal, dan phpMyAdmin menanggapi seolah berhasil (emulasi, tidak ada yang dijalankan).

  5. Skor & ATT&CK

    Setiap permintaan dipetakan ke teknik MITRE ATT&CK, diberi sidik jari HTTP, dan diekstrak IOC-nya. Sesi per sumber mendapat skor ancaman 0–100.

  6. Perlambat

    Jawaban ditahan 0,6–2,4 detik ditambah hingga 6 detik sesuai skor ancaman, dengan batas 150 koneksi tertahan.

  7. Live & alert

    Kejadian disiarkan lewat Server-Sent Events ke halaman ini. Honeytoken, payload ber-IOC, dan sesi berbahaya dikirim sebagai alert ke pemilik (Discord/Slack/Telegram).

  8. Agregasi

    Publik: agregat harian + 200 kejadian terakhir dengan IP disamarkan ke /24 atau /48. Privat: log mentah lengkap (IP, header, body, kredensial, intel), dihapus otomatis setelah 30 hari.

Jenis serangan

  • Honeytoken dipakai

    Kunci atau kata sandi palsu dari umpan situs ini dikirim kembali (form login, X-API-Key, Basic Auth). Diverifikasi dengan HMAC.

  • SQL injection

    UNION SELECT, sleep(), information_schema, ' OR 1=1.

  • XSS

    <script>, javascript:, onerror=, alert().

  • Path traversal / LFI

    ../, /etc/passwd, php://filter, file://.

  • Eksekusi perintah (RCE)

    ; wget …, $(…), system(), eval(), base64_decode, invokefunction.

  • Log4Shell

    ${jndi:ldap://…} di path, header, atau User-Agent (CVE-2021-44228).

  • SSRF / metadata cloud

    169.254.169.254, metadata.google.internal, gopher://.

  • Percobaan login

    Kredensial dikirim ke form login palsu atau header Basic Auth. Username & kata sandi masuk log privat, tidak ditampilkan.

  • Pengintaian

    Hanya memeriksa keberadaan path, tanpa payload.

Metodologi

  • Honeypot ini hibrida interaksi rendah–menengah: tidak ada layanan sungguhan di balik jebakan, tetapi webshell, eksploit PHPUnit, API internal, dan phpMyAdmin mengemulasi respons sukses (id, uname, echo, md5()) agar pemindai mengirim payload tahap berikutnya. Tidak ada perintah yang dijalankan.
  • Honeytoken: 10 byte (id + hari tersamar + HMAC-SHA256 32 bit) dikodekan base32 dan dibungkus format asli (AKIA…, sk_live_…, ghp_…). Token dikenali kembali tanpa database dan salah-deteksi praktis mustahil (1 : 4,3 miliar per kandidat).
  • Sidik jari HTTP terinspirasi JA4H: metode, ada/tidaknya cookie & referer, jumlah dan himpunan nama header, bahasa, serta hash Accept. Runtime Node.js mengurutkan header, jadi urutan aslinya tidak dipakai.
  • Skor ancaman sesi menjumlahkan bobot tiap jenis jebakan & serangan yang berbeda (mis. honeytoken 45, RCE 25, webshell 15), volume logaritmik (maks. 20), dan kedalaman rantai ATT&CK. Tingkat: rendah < 20, sedang < 45, tinggi < 70, kritis ≥ 70.
  • Path umpan di robots.txt membedakan bot nakal dari crawler patuh seperti Googlebot dan Bingbot, yang menghormati Disallow.
  • Sumber unik dihitung dengan hash SHA-256 dari garam harian + IP. Garam berganti setiap hari, sehingga sumber yang sama tidak bisa dilacak lintas hari.
  • Negara & ASN dari geo-IP (ipwho.is → ipapi.co → freeipapi.com, cache 1 jam, maks. 300 pencarian per jam), atau header cf-ipcountry bila ada.
  • Tool dikenali dari User-Agent (Nuclei, sqlmap, zgrab, Masscan, Censys, Go, Python, curl, …). User-Agent mudah dipalsukan, jadi anggap sebagai petunjuk, bukan bukti.
  • Path tanpa ekstensi dialihkan dulu ke versi bergaris miring akhir oleh Next.js; pemindai yang tidak mengikuti redirect tidak tercatat untuk path seperti itu.

Etika & privasi

  • Honeypot hanya pasif: tidak ada serangan balik, pemindaian balik, atau eksploitasi terhadap sumber.
  • IP lengkap, header, body permintaan, dan username/kata sandi yang dikirim ke form palsu disimpan di log privat server dan database MySQL privat (hanya bisa dibuka pemilik situs) untuk analisis ancaman, lalu dihapus otomatis setelah 30 hari. Data ini tidak pernah dipublikasikan.
  • Form login di jebakan adalah tiruan: apa pun yang diketik di sana dicatat. Jangan pernah memasukkan kata sandi asli.
  • Daftar blokir CIDR disediakan untuk pertahanan. Satu /24 bisa berisi banyak pengguna yang tidak bersalah, jadi blokir secara proporsional.
  • Pemindai riset (Censys, Shodan, Palo Alto Expanse, dll.) ikut tercatat. Mereka memetakan internet secara terbuka, bukan menyerang.
  • Emulasi shell tidak pernah menjalankan perintah, dan input hanya dipantulkan bila berupa huruf, angka, dan _.:=- (aman dari XSS). URL malware di IOC ditampilkan dalam bentuk defang dan tidak pernah diunduh.
  • Honeytoken tidak berlaku di layanan mana pun dan host internalnya memakai TLD .invalid atau situs ini sendiri, jadi tidak ada pihak ketiga yang ikut terseret.