𝗛𝗼𝘄 𝗜 𝗧𝗿𝗮𝗰𝗸𝗲𝗱 𝗮 𝗦𝘁𝗲𝗮𝗹𝘁𝗵𝘆 𝗜𝗻𝗷𝗲𝗰𝘁𝗶𝗼𝗻 𝗮𝗻𝗱 𝗛𝗮𝗿𝗱𝗲𝗻𝗲𝗱 𝘁𝗵𝗲 𝗘𝗻𝘃𝗶𝗿𝗼𝗻𝗺𝗲𝗻𝘁 (Translated: 𝗕𝗮𝗴𝗮𝗶𝗺𝗮𝗻𝗮 𝗦𝗮𝘆𝗮 𝗠𝗲𝗻𝗷𝗲𝗷𝗮𝗸𝗶 𝗦𝘂𝗻𝘁𝗶𝗸𝗮𝗻 𝗧𝗲𝗿𝘀𝗲𝗺𝗯𝘂𝗻𝘆𝗶 𝗱𝗮𝗻 𝗠𝗲𝗻𝗴𝘂𝗸𝘂𝗵𝗸𝗮𝗻 𝗣𝗲𝗿𝘀𝗲𝗸𝗶𝘁𝗮𝗿𝗮𝗻)

Anda menjalankan imbasan malware. Anda menggantikan fail teras. Anda mengemas kini plugin dan menukar kata laluan. Laman web kelihatan bersih.

Dua hari kemudian, pelanggan menghubungi. Akaun admin baharu muncul semula. Pelawat dialihkan ke laman web berniat jahat.

Inilah mimpi ngeri persistensi.

Plugin keselamatan standard sering kali gagal. Penyerang yang canggih tidak hanya menjatuhkan satu payload. Mereka membina pintu belakang (backdoor) bersarang yang bersembunyi di dalam fail yang sah.

Saya baru-baru ini mengendalikan satu kes di mana tiga percubaan pembersihan telah gagal. Gejalanya adalah khusus:

• Admin Hantu: Akaun baharu dengan nama rawak muncul setiap 48 jam. • Pengalihan Bersyarat: Hanya pelawat baharu daripada enjin carian melihat laman web berniat jahat tersebut. Pembangun tidak melihat apa-apa.

Pasukan tersebut telah pun menulis semula teras WordPress dan mengemas kini plugin. Pengimbas tidak menunjukkan apa-apa. Malware tersebut menjana semula seperti hydra.

Penyerang mempunyai mekanisme persistensi dalam pangkalan data atau tugasan cron. Pengimbas automatik terlepas pandang kerana kod tersebut adalah tersuai.

Saya menggunakan baris arahan untuk mencari kebenaran.

Pertama, saya mengesahkan fail teras menggunakan checksum: wp core verify-checksums

Teras adalah bersih. Pintu belakang tersebut berada di dalam wp-content atau pangkalan data.

Saya mencari fail yang diubah suai dalam masa 7 hari terakhir: find . -type f -mtime -7 -name "*.php"

Kemudian, saya mencari fungsi yang mencurigakan seperti eval() atau base64_decode(): grep -rnw './wp-content/' -e 'eval(' -e 'base64_decode('

Saya menemui satu fail tersembunyi dalam plugin premium yang sudah usang. Namun, memadam plugin tersebut tidak menghentikan jangkitan.

Penyerang meninggalkan pencetus (trigger) dalam jadual wp_options di bawah pilihan cron. Setiap kali cron WordPress berjalan, ia akan mengambil payload baharu. Ia menjangkiti semula fail teras beberapa minit selepas ia dibersihkan.

Untuk membaiki ini, anda mesti mengikut urutan yang ketat:

  1. Pembersihan Pangkalan Data
  1. Pembersihan Sistem Fail
  1. Putaran Kredential

Saya juga melaksanakan tiga langkah kawalan untuk mengelakkan ia berulang:

• Perlindungan Edge: Saya menggunakan Cloudflare WAF untuk menyekat permintaan POST yang mencurigakan ke direktori sensitif. • Kebenaran Fail: Saya mengunci struktur direktori. Direktori ditetapkan kepada 755 dan fail kepada 644. Saya menetapkan wp-config.php kepada mod baca-sahaja. • Nyahaktifkan Penyuntingan: Saya menambah DISALLOW_FILE_EDIT dan DISALLOW_FILE_MODS ke dalam wp-config.php. Ini menghalang sesiapa sahaja daripada mengubah kod melalui papan pemuka.

Jangan percaya tanda semak hijau daripada plugin. Anggaplah bahawa pencerobohan telah berlaku. Lindungi laman web anda dari dalam ke luar.

Sumber: https://dev.to/jahidshah/how-i-tracked-a-stealthy-injection-and-hardened-the-environment-4clm